From ef0467789bfc8406b57ba553e4d59f4d6c3f9be8 Mon Sep 17 00:00:00 2001 From: Stefano Karapetsas Date: Wed, 14 Dec 2011 10:13:54 +0100 Subject: Moved from Mate-Extra repository --- logview/ChangeLog | 134 +++ logview/Makefile.am | 65 ++ logview/TODO | 4 + logview/data/Makefile.am | 36 + logview/data/logview-filter.ui | 257 +++++ logview/data/logview-toolbar.xml | 33 + logview/data/mate-system-log.1 | 37 + logview/data/mate-system-log.desktop.in.in | 15 + logview/data/mate-system-log.schemas.in | 80 ++ logview/help/C/figures/syslog_window.png | Bin 0 -> 198891 bytes logview/help/C/legal.xml | 76 ++ logview/help/C/mate-system-log.xml | 365 +++++++ logview/help/ChangeLog | 187 ++++ logview/help/Makefile.am | 10 + logview/help/ca/ca.po | 616 ++++++++++++ logview/help/cs/cs.po | 590 +++++++++++ logview/help/cs/figures/syslog_window.png | Bin 0 -> 163709 bytes logview/help/de/de.po | 642 ++++++++++++ logview/help/de/figures/syslog_window.png | Bin 0 -> 172271 bytes logview/help/el/el.po | 422 ++++++++ logview/help/en_GB/en_GB.po | 592 +++++++++++ logview/help/es/es.po | 622 ++++++++++++ logview/help/es/figures/syslog_window.png | Bin 0 -> 77181 bytes logview/help/eu/eu.po | 347 +++++++ logview/help/eu/figures/syslog_window.png | Bin 0 -> 71264 bytes logview/help/fi/fi.po | 590 +++++++++++ logview/help/fi/figures/syslog_window.png | Bin 0 -> 117443 bytes logview/help/fr/figures/syslog_window.png | Bin 0 -> 121126 bytes logview/help/fr/fr.po | 637 ++++++++++++ logview/help/it/figures/syslog_window.png | Bin 0 -> 61927 bytes logview/help/it/it.po | 612 +++++++++++ logview/help/ko/figures/syslog_window.png | Bin 0 -> 74232 bytes logview/help/ko/ko.po | 388 +++++++ logview/help/mate-system-log.omf.in | 9 + logview/help/oc/oc.po | 478 +++++++++ logview/help/ru/ru.po | 345 +++++++ logview/help/sv/figures/syslog_window.png | Bin 0 -> 59929 bytes logview/help/sv/sv.po | 356 +++++++ logview/help/uk/figures/syslog_window.png | Bin 0 -> 69987 bytes logview/help/uk/uk.po | 359 +++++++ logview/help/zh_CN/zh_CN.po | 575 +++++++++++ logview/logview-about.h | 67 ++ logview/logview-app.c | 401 ++++++++ logview/logview-app.h | 73 ++ logview/logview-filter-manager.c | 569 +++++++++++ logview/logview-filter-manager.h | 54 + logview/logview-filter.c | 196 ++++ logview/logview-filter.h | 59 ++ logview/logview-findbar.c | 348 +++++++ logview/logview-findbar.h | 72 ++ logview/logview-log.c | 930 +++++++++++++++++ logview/logview-log.h | 109 ++ logview/logview-loglist.c | 493 +++++++++ logview/logview-loglist.h | 68 ++ logview/logview-main.c | 122 +++ logview/logview-manager.c | 413 ++++++++ logview/logview-manager.h | 89 ++ logview/logview-marshal.list | 1 + logview/logview-prefs.c | 630 ++++++++++++ logview/logview-prefs.h | 89 ++ logview/logview-utils.c | 277 +++++ logview/logview-utils.h | 40 + logview/logview-window.c | 1512 ++++++++++++++++++++++++++++ logview/logview-window.h | 56 ++ logview/tests/Makefile.am | 8 + logview/tests/test-reader.c | 58 ++ 66 files changed, 16213 insertions(+) create mode 100644 logview/ChangeLog create mode 100644 logview/Makefile.am create mode 100644 logview/TODO create mode 100644 logview/data/Makefile.am create mode 100644 logview/data/logview-filter.ui create mode 100644 logview/data/logview-toolbar.xml create mode 100644 logview/data/mate-system-log.1 create mode 100644 logview/data/mate-system-log.desktop.in.in create mode 100644 logview/data/mate-system-log.schemas.in create mode 100644 logview/help/C/figures/syslog_window.png create mode 100644 logview/help/C/legal.xml create mode 100644 logview/help/C/mate-system-log.xml create mode 100644 logview/help/ChangeLog create mode 100644 logview/help/Makefile.am create mode 100644 logview/help/ca/ca.po create mode 100644 logview/help/cs/cs.po create mode 100644 logview/help/cs/figures/syslog_window.png create mode 100644 logview/help/de/de.po create mode 100644 logview/help/de/figures/syslog_window.png create mode 100644 logview/help/el/el.po create mode 100644 logview/help/en_GB/en_GB.po create mode 100644 logview/help/es/es.po create mode 100644 logview/help/es/figures/syslog_window.png create mode 100644 logview/help/eu/eu.po create mode 100644 logview/help/eu/figures/syslog_window.png create mode 100644 logview/help/fi/fi.po create mode 100644 logview/help/fi/figures/syslog_window.png create mode 100644 logview/help/fr/figures/syslog_window.png create mode 100644 logview/help/fr/fr.po create mode 100644 logview/help/it/figures/syslog_window.png create mode 100644 logview/help/it/it.po create mode 100644 logview/help/ko/figures/syslog_window.png create mode 100644 logview/help/ko/ko.po create mode 100644 logview/help/mate-system-log.omf.in create mode 100644 logview/help/oc/oc.po create mode 100644 logview/help/ru/ru.po create mode 100644 logview/help/sv/figures/syslog_window.png create mode 100644 logview/help/sv/sv.po create mode 100644 logview/help/uk/figures/syslog_window.png create mode 100644 logview/help/uk/uk.po create mode 100644 logview/help/zh_CN/zh_CN.po create mode 100644 logview/logview-about.h create mode 100644 logview/logview-app.c create mode 100644 logview/logview-app.h create mode 100644 logview/logview-filter-manager.c create mode 100644 logview/logview-filter-manager.h create mode 100644 logview/logview-filter.c create mode 100644 logview/logview-filter.h create mode 100644 logview/logview-findbar.c create mode 100644 logview/logview-findbar.h create mode 100644 logview/logview-log.c create mode 100644 logview/logview-log.h create mode 100644 logview/logview-loglist.c create mode 100644 logview/logview-loglist.h create mode 100644 logview/logview-main.c create mode 100644 logview/logview-manager.c create mode 100644 logview/logview-manager.h create mode 100644 logview/logview-marshal.list create mode 100644 logview/logview-prefs.c create mode 100644 logview/logview-prefs.h create mode 100644 logview/logview-utils.c create mode 100644 logview/logview-utils.h create mode 100644 logview/logview-window.c create mode 100644 logview/logview-window.h create mode 100644 logview/tests/Makefile.am create mode 100644 logview/tests/test-reader.c (limited to 'logview') diff --git a/logview/ChangeLog b/logview/ChangeLog new file mode 100644 index 00000000..177cd31d --- /dev/null +++ b/logview/ChangeLog @@ -0,0 +1,134 @@ +2009-04-02 Cosimo Cecchi + + * logview-window.c: automatically scroll to the bottom of the view + when new lines are added to the active log (#576414). + +2009-04-02 Cosimo Cecchi + + * logview-about.h: simplify a bit the licence making it easier + to share a translation with the other mate-utils apps. + Patch by Gabor Kelemen (#577722). + +2009-04-02 Cosimo Cecchi + + * logview-main.c (create_option_context): translate the short + description message. + Patch by Gabor Kelemen (#577718). + +2009-03-22 Cosimo Cecchi + + * data/logview-filter.ui: add missing file (#576222). + +2009-03-19 Cosimo Cecchi + + * tests/Makefile.am: build with "-Wl,--as-needed" (#575965). + +2009-03-18 Cosimo Cecchi + + * logview-prefs.c: (save_filter_foreach_func): + * logview-window.c: fix some leaks. + +2009-03-18 Cosimo Cecchi + + * Makefile.am: + * data/Makefile.am: + * data/logview-toolbar.xml: + * logview-prefs.c: (do_finalize), (load_filters), + (save_filter_foreach_func), (save_filters), (get_filters_foreach), + (logview_prefs_init), (logview_prefs_get_filters), + (logview_prefs_remove_filter), (logview_prefs_add_filter), + (logview_prefs_get_filter): + * logview-prefs.h: + * logview-window.c: (if): implement regex based filtering of log + files. Patch by Johannes Schmid (#574362). + +2009-03-02 Cosimo Cecchi + + * logview-app.c: (parse_syslog), (enumerate_job_finish), + (enumerate_next_files_async_cb), (enumerate_children_async_cb), + (logview_app_first_time_initialize), (logview_app_initialize): + * logview-prefs.c: (logview_prefs_init): when starting the + application for the first time, gather all the readable files from + /var/log instead of hardcoding logfile names. + We'll eventually, and hopefully, support a smarter parsing of + /etc/logrotate.* and log rotated/compressed log grouping, but right + now this is the best effort we can do (#567169). + +2009-02-24 Cosimo Cecchi + + * Makefile.am: add gthread CFLAGS and LIBS (#572985). + +2009-02-04 Vincent Untz + + * gtkmessagearea.c: add an include to fix warnings + * logview-log.c: (read_gzip_header): + * logview-manager.c: (logview_manager_get_if_loaded): return something. + Part of bug #570422. + +2009-01-30 Cosimo Cecchi + + * logview-loglist.c: (tree_selection_changed_cb), + (manager_active_changed_cb): make sure we check for day != NULL + before emitting "day-selected". Hopefully fixes bug #569807. + +2009-01-30 Cosimo Cecchi + + * logview-log.c: + (logview_log_init): + (log_load): + (logview_log_get_has_days): + * logview-log.h: + * logview-loglist.c: + (update_days_and_lines_for_log): + (manager_log_added_cb): + * logview-window.c: + Check if there are some lines before actually adding an entry + to the loglist. This implies adding some API to LogviewLog. + Closes bug #567170. + +2009-01-29 Cosimo Cecchi + + * tests/Makefile.am: don't install the test reader program. + +2009-01-26 Cosimo Cecchi + + * logview-main.c: + (main): call g_thread_init () before any other GLib function. + +2009-01-09 Cosimo Cecchi + + * data/Makefile.am: Correctly install mateconf schemas. + +2009-01-08 Cosimo Cecchi + + * Makefile.am: + * data/Makefile.am: + * tests/test-reader.c: + Fix make distcheck. + +2008-12-28 Cosimo Cecchi + + * logview-manager.c (create_log_cb): remove the use of an unallocated + pointer, which would lead to segfaults. + Patch by Frederic Peters (#565827). + +2008-12-24 Cosimo Cecchi + + * logview-log.c (log_load): + * logview-log.h: + Set a meaningful error message if we can't read from the log file + (#349756). + +2008-12-23 Cosimo Cecchi + + * logview-window.c: handle keypad shortcuts (#441564). + +2008-12-23 Cosimo Cecchi + + * data/mate-system-log.desktop.in.in: rename the menu item to read + a more descriptive "Log File Viewer". Thanks to Calum Benson (#375684). + +2008-12-23 Cosimo Cecchi + + * logview-window.c: restore the saved zoom size on open (#330113). + diff --git a/logview/Makefile.am b/logview/Makefile.am new file mode 100644 index 00000000..b12cf217 --- /dev/null +++ b/logview/Makefile.am @@ -0,0 +1,65 @@ +SUBDIRS = data help tests + +INCLUDES = \ + $(MATE_UTILS_CFLAGS) \ + $(GTHREAD_CFLAGS) \ + -DG_LOG_DOMAIN=\"mate-system-log\" \ + -DMATELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ + -DDATADIR=\""$(datadir)"\" \ + -DLOGVIEWINSTALLPREFIX=\""$(prefix)/\"" \ + -DLOGVIEW_DATADIR=\""$(pkgdatadir)"\" \ + $(SUN_OS) \ + $(NULL) + +bin_PROGRAMS = mate-system-log + +BUILT_SOURCES = \ + logview-marshal.c \ + logview-marshal.h + +mate_system_log_SOURCES = \ + logview-app.c \ + logview-app.h \ + logview-main.c \ + logview-about.h \ + logview-manager.c \ + logview-manager.h \ + logview-utils.c \ + logview-utils.h \ + logview-loglist.c \ + logview-loglist.h \ + logview-window.c \ + logview-window.h \ + logview-log.h \ + logview-log.c \ + logview-findbar.h \ + logview-findbar.c \ + logview-prefs.c \ + logview-prefs.h \ + logview-filter.h \ + logview-filter.c \ + logview-filter-manager.h \ + logview-filter-manager.c \ + $(BUILT_SOURCES) + +mate_system_log_LDADD = \ + $(MATE_UTILS_LIBS) \ + $(GTHREAD_LIBS) \ + $(Z_LIBS) \ + -lm + +logview-marshal.h: logview-marshal.list $(GLIB_GENMARSHAL) + $(GLIB_GENMARSHAL) $< --header --prefix=logview_marshal >> $@ + +logview-marshal.c: logview-marshal.list $(GLIB_GENMARSHAL) + echo "#include \"logview-marshal.h\"" > $@ && \ + $(GLIB_GENMARSHAL) $< --body --prefix=logview_marshal >> $@ + +EXTRA_DIST = logview-marshal.list + +CLEANFILES = \ + $(BUILT_SOURCES) + +dist-hook: + cd $(distdir) ; rm -f $(CLEANFILES) + diff --git a/logview/TODO b/logview/TODO new file mode 100644 index 00000000..ad57508b --- /dev/null +++ b/logview/TODO @@ -0,0 +1,4 @@ +mate-system-log rewrite TODO: + +- multiple versions of the log +- PolicyKit integration diff --git a/logview/data/Makefile.am b/logview/data/Makefile.am new file mode 100644 index 00000000..04efb96a --- /dev/null +++ b/logview/data/Makefile.am @@ -0,0 +1,36 @@ +xmldir = $(pkgdatadir) +xml_DATA = logview-toolbar.xml logview-filter.ui + +desktopdir = $(datadir)/applications +desktop_in_files = mate-system-log.desktop.in +desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) +$(desktop_in_files): $(desktop_in_files:.desktop.in=.desktop.in.in) + @sed -e "s|\@VERSION\@|@VERSION@|" $< > $@ +@INTLTOOL_DESKTOP_RULE@ + +man_MANS = mate-system-log.1 + +schemasdir = $(MATECONF_SCHEMA_FILE_DIR) +schemas_in_files = mate-system-log.schemas.in +schemas_DATA = $(schemas_in_files:.schemas.in=.schemas) +@INTLTOOL_SCHEMAS_RULE@ + +install-data-local: $(schemas_DATA) +if MATECONF_SCHEMAS_INSTALL + if test -z "$(DESTDIR)" ; then \ + for p in $^ ; do \ + MATECONF_CONFIG_SOURCE=$(MATECONF_SCHEMA_CONFIG_SOURCE) $(MATECONFTOOL) --makefile-install-rule $$p 2>&1 > /dev/null; \ + done \ + fi +endif + +EXTRA_DIST = \ + mate-system-log.desktop.in.in \ + $(xml_DATA) \ + $(man_MANS) \ + $(schemas_in_files) + +DISTCLEANFILES = \ + $(desktop_DATA) \ + $(desktop_in_files) \ + $(schemas_DATA) diff --git a/logview/data/logview-filter.ui b/logview/data/logview-filter.ui new file mode 100644 index 00000000..57e8cb59 --- /dev/null +++ b/logview/data/logview-filter.ui @@ -0,0 +1,257 @@ + + + + + + 5 + True + normal + + + True + 6 + + + True + 3 + 2 + 12 + 6 + + + True + 0 + _Name: + True + + + GTK_FILL + GTK_FILL + + + + + True + 0 + _Regular Expression: + True + + + 1 + 2 + GTK_FILL + GTK_FILL + + + + + True + True + + + 1 + 2 + + + + + True + True + + + 1 + 2 + 1 + 2 + + + + + True + 0 + 0 + none + + + True + 12 + + + True + 2 + 2 + 12 + 12 + + + Highlight + True + True + False + 0 + True + True + + + + + Hide + True + True + False + 0 + True + True + + + 1 + 2 + + + + + True + 5 + + + True + 12 + + + Foreground: + True + True + False + 0 + True + + + 0 + + + + + True + True + True + + + 1 + + + + + 0 + + + + + True + 12 + + + Background: + True + True + False + 0 + True + + + 0 + + + + + True + True + True + + + 1 + + + + + 1 + + + + + 1 + 2 + + + + + + + + + + + + True + 0 + Effect: + + + + + + + + 2 + 2 + 3 + 6 + + + + + 1 + + + + + True + end + + + gtk-cancel + True + True + True + True + + + 0 + + + + + gtk-apply + True + True + True + True + + + 1 + + + + + False + end + 0 + + + + + + button1 + button2 + + + diff --git a/logview/data/logview-toolbar.xml b/logview/data/logview-toolbar.xml new file mode 100644 index 00000000..2ee639d8 --- /dev/null +++ b/logview/data/logview-toolbar.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/logview/data/mate-system-log.1 b/logview/data/mate-system-log.1 new file mode 100644 index 00000000..a54e4299 --- /dev/null +++ b/logview/data/mate-system-log.1 @@ -0,0 +1,37 @@ +.\" mate-system-log.1 - MATE logfile viewer +.\" Copyright 2001 Jochen Voss +.TH mate-system-log 1 "Aug 09 2002" "mate-utils 2.0.0" +.SH NAME +mate-system-log \- the MATE System Log Viewer +.SH SYNOPSIS +.B mate-system-log +.sp +or select +.B System Log +from the +.B System Tools +submenu of the Applications menu. +.SH DESCRIPTION +.B MATE System Log Viewer +is a simple utility to display system log files. +.SH AUTHOR +The +.B MATE System Log Viewer +was written by Cesar Miquel . +.PP +This manual page was written by Jochen Voss +. +.SH FILES +.TP +.I /var/log/messages +The system's main logfile. +.TP +.I /etc/syslog.conf +Configuration file for syslogd. See +.BR syslog.conf (5) +for exact information. +.SH SEE ALSO +.BR syslogd (8), +.BR sysklogd (8), +.BR syslog.conf (5), +.BR syslogd-listfiles (8) diff --git a/logview/data/mate-system-log.desktop.in.in b/logview/data/mate-system-log.desktop.in.in new file mode 100644 index 00000000..ccd7f5d9 --- /dev/null +++ b/logview/data/mate-system-log.desktop.in.in @@ -0,0 +1,15 @@ +[Desktop Entry] +_Name=Log File Viewer +_Comment=View or monitor system log files +Exec=mate-system-log +Icon=logviewer +Terminal=false +Type=Application +StartupNotify=true +Categories=GTK;MATE;System;Monitor; +OnlyShowIn=MATE; +X-MATE-DocPath=mate-system-log/mate-system-log.xml +X-MATE-Bugzilla-Bugzilla=MATE +X-MATE-Bugzilla-Product=mate-utils +X-MATE-Bugzilla-Component=logview +X-MATE-Bugzilla-Version=@VERSION@ diff --git a/logview/data/mate-system-log.schemas.in b/logview/data/mate-system-log.schemas.in new file mode 100644 index 00000000..7961605f --- /dev/null +++ b/logview/data/mate-system-log.schemas.in @@ -0,0 +1,80 @@ + + + + + /schemas/apps/mate-system-log/logfile + /apps/mate-system-log/logfile + logview + string + /var/log/messages + + Log file to open up on startup + Specifies the log file displayed at startup. + The default is either /var/adm/messages or + /var/log/messages, depending on your + operating system. + + + + + + /schemas/apps/mate-system-log/fontsize + /apps/mate-system-log/fontsize + logview + int + 10 + + Size of the font used to display the log + Specifies the size of the fixed-width font used + to display the log in the main tree view. + The default is taken from the default terminal + font size. + + + + + + /schemas/apps/mate-system-log/height + /apps/mate-system-log/height + logview + int + 400 + + Height of the main window in pixels + Specifies the height of the log viewer main window + in pixels. + + + + + + /schemas/apps/mate-system-log/width + /apps/mate-system-log/width + logview + int + 600 + + Width of the main window in pixels + Specifies the width of the log viewer main window + in pixels. + + + + + + /schemas/apps/mate-system-log/logfiles + /apps/mate-system-log/logfiles + logview + list + string + + Log files to open up on startup + Specifies a list of log files to open up at startup. + A default list is created by reading /etc/syslog.conf. + + + + + + + diff --git a/logview/help/C/figures/syslog_window.png b/logview/help/C/figures/syslog_window.png new file mode 100644 index 00000000..6769063d Binary files /dev/null and b/logview/help/C/figures/syslog_window.png differ diff --git a/logview/help/C/legal.xml b/logview/help/C/legal.xml new file mode 100644 index 00000000..acb0b403 --- /dev/null +++ b/logview/help/C/legal.xml @@ -0,0 +1,76 @@ + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation + License (GFDL), Version 1.1 or any later version published + by the Free Software Foundation with no Invariant Sections, + no Front-Cover Texts, and no Back-Cover Texts. You can find + a copy of the GFDL at this link or in the file COPYING-DOCS + distributed with this manual. + + This manual is part of a collection of MATE manuals + distributed under the GFDL. If you want to distribute this + manual separately from the collection, you can do so by + adding a copy of the license to the manual, as described in + section 6 of the license. + + + + Many of the names used by companies to distinguish their + products and services are claimed as trademarks. Where those + names appear in any MATE documentation, and the members of + the MATE Documentation Project are made aware of those + trademarks, then the names are in capital letters or initial + capital letters. + + + + DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED + UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE + WITH THE FURTHER UNDERSTANDING THAT: + + + + DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR + IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES + THAT THE DOCUMENT OR MODIFIED VERSION OF THE + DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR + A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE + RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE + OF THE DOCUMENT OR MODIFIED VERSION OF THE + DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR + MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY + CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS + LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED + VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER + EXCEPT UNDER THIS DISCLAIMER; AND + + + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL + THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), + CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, + INITIAL WRITER, ANY CONTRIBUTOR, OR ANY + DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION + OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH + PARTIES, BE LIABLE TO ANY PERSON FOR ANY + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER + INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS + OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR + MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR + LOSSES ARISING OUT OF OR RELATING TO USE OF THE + DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, + EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF + THE POSSIBILITY OF SUCH DAMAGES. + + + + + + diff --git a/logview/help/C/mate-system-log.xml b/logview/help/C/mate-system-log.xml new file mode 100644 index 00000000..11536ceb --- /dev/null +++ b/logview/help/C/mate-system-log.xml @@ -0,0 +1,365 @@ + + + + + + +]> + + +
+ + + + &app; Manual + + + System Log Viewer is a graphical user interface to view and monitor + system log files. + + + + 2003 + Sun Microsystems + + + 2000 + Judith Samson + + + + MATE Documentation Project + + + &legal; + + + + Sun + MATE Documentation Team + + Sun Microsystems +
gdocteam@sun.com
+
+
+ + + Judith + Samson + + MATE Documentation Project +
judith@samsonsource.com
+
+
+ + + Paul + Cutler + + MATE Documentation Team +
pcutler@gnome.org
+
+
+ + + Vincent + Noel + +
vincent.noel@gmail.com
+
+
+ + +
+ + + + &app; Manual V2.5 + October 2009 + + Paul Cutler + pcutler@gnome.org + + MATE Documentation Project + + + + &app; Manual V2.4 + October 2005 + + Vincent Noel + vincent.noel@gmail.com + + MATE Documentation Project + + + + System Log Viewer Manual V2.3 + October 2002 + + Sun MATE Documentation Team + gdocteam@sun.com + + MATE Documentation Project + + + + System Log Viewer Manual V2.2 + August 2002 + + Sun MATE Documentation Team + gdocteam@sun.com + + MATE Documentation Project + + + + System Log Viewer Manual V2.1 + July 2002 + + Sun MATE Documentation Team + gdocteam@sun.com + + MATE Documentation Project + + + + System Log Viewer Manual V2.0 + May 2002 + + Sun MATE Documentation Team + gdocteam@sun.com + + MATE Documentation Project + + + + Logview Manual + 2000 + + Judith Samson + judith@samsonsource.com + + MATE Documentation Project + + + + + This manual describes version &appversion; of &app;. + + + Feedback + To report a bug or make a suggestion regarding the &app; application or + this manual, follow the directions in the + MATE Feedback Page. + + + +
+ + + System Log Viewer + + + + + + + Introduction + + + &app; is a graphical, menu-driven + viewer that you can use to view and monitor your system + logs. &app; comes with a few functions that + can help you manage your logs, including a log monitor and log statistics + display. + + + + &app; is useful if you are new to system + administration because it provides an easier, more user-friendly + display of your logs than a + text display of the log file. It is also useful for more + experienced administrators, as it contains a monitor to enable you + to continuously monitor crucial logs. + + + &app; is useful only to those + who have access to the system log files, which generally requires root + access. + + + + + Getting Started + + You can start &app; in the following ways: + + + + Applications menu + + Choose System ToolsLog File Viewer. + + + + Command line + + Type mate-system-log, then press Return. + + + + + + + When you start &app;, the following window is displayed. + + +
+ &app; Window + + + + + + + Shows &app; main window. Contains menubar, display area, scrollbars, and statusbar. + + + +
+ + The first time you start &app;, the application + displays several log files by default (such as + /var/log/messages). + Opened logs are listed on the left side of the + application window. The log selected in this list is displayed in the + main area of the application window. + + + By default, &app; + monitors every opened log, and any change appears automatically in the + main window. See for more information. + +
+ + + + + Usage + + + To View a Log + To view a log, choose FileOpen. + In the Open Log dialog, select the + log that you want to open, then click + Open. Use the scrollbars to scroll through the + log. + + You can open as many logs as you + want. &app; displays one log at a time in + the System Log Viewer window. Opened logs are listed on the left side of the + application window. The log selected in this list is displayed in the + main area of the application window. To display another log + already opened in &app;, select it in the + log list. + + Note that &app; also lets you open + zipped logs (whole filenames end in ".gz"). + + + + To Copy Log Lines to the Clipboard + To copy one or more log lines to the clipboard, just select the lines in + the main area and choose the + EditCopy + menu option. + If you want to copy the entire log to the clipboard, select it entirely + using the EditSelect + All menu option, then choose + EditCopy. + + + + + To Hide the Sidebar + To hide the left sidebar, which contains the log list and calendar, + just select the + ViewSide pane + menu option. + + + + To Monitor Logs + You can use &app; to monitor + logs. By default, all logs opened in &app; + are monitored for changes. If new lines are added to a log monitored + by &app;, the log name will appear in bold in + the log list. If the log is currently displayed in the main area, the + new lines will appear automatically at the end of the log and, after five + seconds, the log name will turn back to normal in the list. + + + + + To View Log Information + Log information are generally displayed in the status bar, + including : + + Number of lines in the log. + + Size of the log in bytes. + + Date the log was last modified. + + + The status bar can be displayed or hidden using the + ViewStatusbar + option. + + + + To Close a Log + To close a log, choose + FileClose. + + + + + To Exit &app; + To exit &app;, choose + FileQuit. + + + + + +
diff --git a/logview/help/ChangeLog b/logview/help/ChangeLog new file mode 100644 index 00000000..afad8c79 --- /dev/null +++ b/logview/help/ChangeLog @@ -0,0 +1,187 @@ +2009-03-10 Milo Casagrande + + * it/it.po: Updated Italian translation by Andrea Zagli. + +2009-03-02 Philip Withnall + + * en_GB/en_GB.po: Updated British English translation. + +2009-02-24 Gil Forcada + + * ca.po: Updated Catalan translation by Joan Duran. + +2009-02-17 Inaki Larranaga Murgoitio + + * eu/figures/: Added image in Basque language. Images are: + syslog_window.png +2009-02-16 Inaki Larranaga Murgoitio + + * eu/eu.po: Added Basque translation. + * Makefile.am: Added 'eu' to DOC_LINGUAS. + +2009-02-10 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2009-02-06 Ilkka Tuohela + + * fi.po: Updated Finnish translation by Jukka Heikkilä. + +2009-01-24 Mario Blättermann + + * de/de.po: Updated German translation + +2008-12-26 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2008-12-23 Cosimo Cecchi + + * C/mate-system-log.xml: add a more meaningful description. + +2008-12-23 Cosimo Cecchi + + * C/mate-system-log.xml: update to the new Desktop file wording. + +2008-11-25 Gil Forcada + + * ca/ca.po: Updated Catalan translation. + +2008-10-22 Cosimo Cecchi + + * Makefile.am: + Include the screenshot. Patch by Bob Mauchin (#500333). + +2008-10-18 Mario Blättermann + + * de/de.po: Added German translation + * Makefile.am: Added de to DOC_LINGUAS + +2008-09-30 Simos Xenitellis + + * el/el.po: Updated Greek translation by Antonis Antonoulas. + +2008-09-29 Simos Xenitellis + + * el/el.po: Added Greek translation by Rizitis. + * Makefile.am: Added el to DOC_LINGUAS + +2008-09-22 Timo Jyrinki + + * fi/fi.po: Updated Finnish translation (bug #553050) + +2008-06-25 Ilkka Tuohela <> + + * fi/fi.po: Added Finnish documentation by Jukka Heikkilä. + * fi/figures/*.png: + * Makefile.am: Added fi to DOC_LINGUAS + +2008-03-09 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + * es/figures/*.png: Updated screenshot + +2008-03-08 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2008-03-03 Luca Ferretti + + * it/it.po: Updated Italian translation by Andrea Zagli. + +2008-01-11 Claude Paroz + + * fr/fr.po: Updated French translation. + +2008-01-11 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2008-01-09 Kjartan Maraas + + * C/mate-system-log.xml: Fix some menu paths. + Patch from Bob Mauchin. Closes bug #500334. + +2007-06-02 Jordi Mas + + * ca/ca.po: Catalan translation by Gil Forcada + * Makefile.am: Added ca to DOC_LINGUAS. + +2007-04-14 Changwoo Ryu + + * ko/ko.po: Migrated to mate-doc-utils. + * ko/*.xml, ko/Makefile.am, ko/mate-system-log-ko.omf: Removed. + * Makefile.am: Added ko to DOC_LINGUAS. + +2007-03-12 David Lodge + + * en_GB/en_GB.po: Added (British) English translation. + * Makefile.am: Added en_GB to DOC_LINGUAS + +2007-03-10 Nickolay V. Shmyrev + + * Makefile.am: Added ru to DOC_LINGUAS + * ru/ru.po: Added Russian translation by + Sergey V. Mironov + +2007-03-03 Luca Ferretti + + * if/figures/syslog_window.png: + Updated to match current appearance and settings. + +2007-03-03 Luca Ferretti + + * Makefile.am: + * it/it.po: + * it/Makefile.am: + * it/mate-system-log.xml: + * it/mate-system-log-it.omf + * it/legal.xml: + Remove old Italian translation and add new PO for it. + Translation from Andrea Zagli. + +2006-12-06 Daniel Nylander + + * sv/figures/syslog_window.png: Updated screenshot. + +2006-11-09 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2006-08-17 Christophe Bliard + + * fr/fr.po: Added French translation. + * fr/*.xml: Removed obsolete files. + * fr/Makefile.am: Removed obsolete file. + * Makefile.am: added fr to DOC_LINGUAS + +2006-07-23 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + * sv/*.xml: Removed obsolete files. + +2006-06-28 Daniel Nylander + + * sv/sv.po: Added Swedish translation. + +2006-06-17 Francisco Javier F. Serrador + + * es/es.po: Updated Spanish translation. + +2006-03-29 German Poo-Caaman~o + + * es/es.po: Fixed build error by translation with extra '\n' at + the end of msgtr. + +2006-03-17 Maxim Dziumanenko + + * Makefile.am: added uk to DOC_LINGUAS + * uk/uk.po: added + * uk/mate-system-log-uk.omf: removed + * uk/mate-system-log.xml: removed + * uk/legal.xml: removed + * uk/Makefile.am: removed + +2005-12-05 Emmanuele Bassi + + * *: ported to mate-doc-utils diff --git a/logview/help/Makefile.am b/logview/help/Makefile.am new file mode 100644 index 00000000..4d88261c --- /dev/null +++ b/logview/help/Makefile.am @@ -0,0 +1,10 @@ +include $(top_srcdir)/mate-doc-utils.make +dist-hook: doc-dist-hook + +DOC_MODULE = mate-system-log +DOC_ENTITIES = legal.xml +DOC_INCLUDES = +DOC_FIGURES = \ + figures/syslog_window.png + +DOC_LINGUAS = ca cs de el en_GB es eu fi fr it ko oc ru sv uk zh_CN diff --git a/logview/help/ca/ca.po b/logview/help/ca/ca.po new file mode 100644 index 00000000..c1e8abef --- /dev/null +++ b/logview/help/ca/ca.po @@ -0,0 +1,616 @@ +msgid "" +msgstr "" +"Project-Id-Version: logview\n" +"POT-Creation-Date: 2009-02-13 11:44+0000\n" +"PO-Revision-Date: 2009-02-14 20:19+0100\n" +"Last-Translator: Gil Forcada \n" +"Language-Team: catalan \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:233(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "" +"@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Manual del visualitzador de registres del sistema" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"El visualitzador de registres del sistema és una interfície gràfica d'usuari " +"per a visualitzar i monitoritzar els fitxers de registre del sistema." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:101(para) C/mate-system-log.xml:111(para) +#: C/mate-system-log.xml:121(para) C/mate-system-log.xml:131(para) +#: C/mate-system-log.xml:141(para) C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "Projecte de documentació del MATE" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"Teniu permís per a copiar, distribuir i/o modificar aquest document, sota " +"els termes de la Llicència de documentació lliure GNU (GFDL), versió 1.1 o " +"qualsevol versió publicada posteriorment per la Free Software Foundation, " +"sense seccions invariants, sense texts de portada i sense texts de " +"contraportada. Podeu trobar una còpia de la GFDL en aquest enllaç o en el fitxer COPYING-DOCS distribuït " +"amb aquest manual." + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"Aquest manual forma part d'una col·lecció de manuals del MATE distribuïts " +"sota la GFDL. Si voleu distribuir aquest manual independentment de la " +"col·lecció, podeu fer-ho afegint una còpia de la llicència al manual, tal " +"com es descriu a la secció 6 de la llicència." + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"Molts dels noms que les empreses utilitzen per a distingir els seus " +"productes i serveis es consideren marques comercials. Quan aquests noms " +"apareguin en qualsevol documentació del MATE, si els membres del Projecte " +"de documentació del MATE han estat avisats pel que fa a les marques, els " +"noms apareixeran en majúscules o amb les inicials en majúscules." + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"EL DOCUMENT S'OFEREIX «TAL COM ÉS», SENSE CAP TIPUS DE GARANTIA, NI EXPLÍCITA " +"NI IMPLÍCITA; AIXÒ INCLOU, SENSE LIMITAR-S'HI, LES GARANTIES QUE EL DOCUMENT " +"O LA VERSIÓ MODIFICADA DEL DOCUMENT NO TINGUI DEFECTES, SIGUI " +"COMERCIALITZABLE, SIGUI ADEQUAT PER A UN ÚS CONCRET O NO INFRINGEIXI CAP " +"LLEI. TOT EL RISC PEL QUE FA A LA QUALITAT, EXACTITUD I RENDIMENT DEL " +"DOCUMENT O LA VERSIÓ MODIFICADA DEL DOCUMENT ÉS VOSTRE. EN CAS QUE EL " +"DOCUMENT RESULTÉS DEFECTUÓS EN QUALSEVOL ASPECTE, VÓS (NO PAS L'ESCRIPTOR " +"INICIAL, L'AUTOR O CAP ALTRE COL·LABORADOR) ASSUMIU TOT EL COST DE " +"MANTENIMENT, REPARACIÓ O CORRECCIÓ. AQUESTA RENÚNCIA DE GARANTIA CONSTITUEIX " +"UNA PART ESSENCIAL D'AQUESTA LLICÈNCIA. NO S'AUTORITZA L'ÚS DE CAP DOCUMENT " +"O VERSIÓ MODIFICADA DEL DOCUMENT EXCEPTE SOTA AQUESTA RENÚNCIA DE GARANTIA; " +"I " + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"EN CAP CAS I SOTA CAP INTERPRETACIÓ LEGAL, JA SIGUI PER AGREUJAMENT " +"(INCLOENT-HI LA NEGLIGÈNCIA), CONTRACTE O ALTRE CAS, L'AUTOR, L'ESCRIPTOR " +"ORIGINAL, QUALSEVOL DELS COL·LABORADORS O DISTRIBUÏDORS DEL DOCUMENT O UNA " +"VERSIÓ MODIFICADA DEL DOCUMENT NI CAP PROVEÏDOR D'AQUESTES PARTS NO SERAN " +"RESPONSABLES DAVANT DE NINGÚ PER CAP DANY DIRECTE, INDIRECTE, ESPECIAL, " +"ACCIDENTAL O CONSECUTIU DE QUALSEVOL TIPUS; AIXÒ INCLOU, SENSE LIMITAR-S'HI, " +"ELS DANYS PER PÈRDUA DE CLIENTS, INTERRUPCIONS DE LA FEINA, FALLADA O " +"MALFUNCIONAMENT DE L'ORDINADOR, O QUALSEVOL ALTRA PÈRDUA O DANY RELACIONAT " +"AMB L'ÚS DEL DOCUMENT I LES VERSIONS MODIFICADES DEL DOCUMENT, FINS I TOT SI " +"S'HA INFORMAT AQUESTA PART DE LA POSSIBILITAT D'AQUESTS DANYS." + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"EL DOCUMENT I LES VERSIONS MODIFICADES DEL DOCUMENT S'OFEREIXEN SOTA ELS " +"TERMES DE LA LLICÈNCIA DE DOCUMENTACIÓ LLIURE DE GNU, TENINT EN COMPTE QUE: " +"" + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "Equip de documentació del MATE" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Manual del Visualitzador de registres del sistema (Versió 2.4)" + +#: C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "Octubre del 2005" + +#: C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Manual del Visualitzador de registres del sistema (Versió 2.3)" + +#: C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "Octubre del 2002" + +#: C/mate-system-log.xml:108(para) C/mate-system-log.xml:118(para) +#: C/mate-system-log.xml:128(para) C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Equip de Sun de documentació del MATE gdocteam@sun.com" + +#: C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Manual del Visualitzador de registres del sistema (Versió 2.2)" + +#: C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "Agost del 2002" + +#: C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Manual del Visualitzador de registres del sistema (Versió 2.1)" + +#: C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "Juliol del 2002" + +#: C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Manual del Visualitzador de registres del sistema (Versió 2.0)" + +#: C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "Maig del 2002" + +#: C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "Manual del Visualitzador de registres" + +#: C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "" +"Aquest manual descriu la versió 2.12 del Visualitzador de registres del " +"sistema." + +#: C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "Comentaris" + +#: C/mate-system-log.xml:160(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"Per a informar d'un error o fer un suggeriment sobre el Visualitzador de " +"registres del sistema o aquest manual, seguiu les indicacions de la Pàgina de suggeriments del MATE." + +#: C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "Visualitzador de registres del sistema" + +#: C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Introducció" + +#: C/mate-system-log.xml:179(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a calendar, log monitor and log " +"statistics display." +msgstr "" +"El Visualitzador de registres del sistema és una " +"aplicació gràfica de visualització que podeu fer servir per visualitzar i " +"monitoritzar els vostres registres del sistema. El " +"Visualitzador de registres del sistema incorpora " +"algunes funcions que us poden ajudar a gestionar els vostres registres, com " +"un calendari, un monitoritzador de registres i una pantalla d'estadístiques " +"de registres." + +#: C/mate-system-log.xml:187(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a calendar to help you " +"locate trends and track problems, as well as a monitor to enable you to " +"continuously monitor crucial logs." +msgstr "" +"El Visualitzador de registres del sistema és útil " +"si sou nou en l'administració de sistemes atès que proporciona una " +"visualització més fàcil i amigable dels vostres registres que no pas una " +"visualització de text pla d'aquests registres. També és útil per als " +"administradors experimentats, atès que conté un calendari que ajuda a trobar " +"tendències i a traçar problemes, així com també un monitoritzador per " +"permetre que pugueu monitoritzar constantment els registres més importants." + +#: C/mate-system-log.xml:197(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"El Visualitzador de registres del sistema només " +"és útil per als que tenen accés als fitxers de registre del sistema, que " +"normalment requereix accés de superusuari." + +#: C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Primers passos" + +#: C/mate-system-log.xml:206(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"Podeu iniciar el Visualitzador de registres del sistema de les maneres següents:" + +#: C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "En el menú Aplicacions" + +#: C/mate-system-log.xml:212(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"Escolliu Eines del sistemaVisualitzador de registres." + +#: C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Línia d'ordres" + +#: C/mate-system-log.xml:218(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Teclegeu mate-system-log i després premeu " +"Retorn." + +#: C/mate-system-log.xml:225(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"Quan inicieu el Visualitzador de registres del sistema, es mostrarà la pantalla següent." + +#: C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "Finestra del visualitzador de registres del sistema" + +#: C/mate-system-log.xml:236(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Finestra principal del Visualitzador de registres del sistema. Conté la " +"barra de menú, l'àrea de visualització, les barres de desplaçament i la " +"barra d'estat." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:242(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"El primer cop que inicieu el Visualitzador de registres del " +"sistema, es mostren diversos fitxers de registre per defecte " +"(com el /var/log/messages). Els registres oberts es " +"llisten en el lateral esquerre de la finestra de l'aplicació. El registre " +"seleccionat en aquesta llista es visualitza en l'àrea principal de la " +"finestra de l'aplicació." + +#: C/mate-system-log.xml:250(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"Per defecte, el Visualitzador de registres del sistema monitoritza cada registre obert, i qualsevol canvi apareix " +"automàticament en la finestra principal. Per a més informació vegeu ." + +#: C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Utilització" + +#: C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "Per visualitzar un registre" + +#: C/mate-system-log.xml:263(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"Per visualitzar un registre, escolliu FitxerObre. En el diàleg de " +"Obre un registre, seleccioneu el registre que voleu " +"obrir i després feu clic a D'acord. Utilitzeu les " +"barres de desplaçament per desplaçar-vos pel registre." + +#: C/mate-system-log.xml:269(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"Podeu obrir tants registres com vulgueu. El Visualitzador de " +"registres del sistema mostra un sol registre alhora en la " +"finestra del Visualitzador de registres del sistema. " +"Els registres oberts es llisten en el lateral esquerre de la finestra de " +"l'aplicació. El registre seleccionat d'aquesta llista es mostra en l'àrea " +"principal de la finestra de l'aplicació. Per a visualitzar un altre registre " +"que ja estigui obert en el Visualitzador de registres del sistema, seleccioneu-lo de la llista de registres." + +#: C/mate-system-log.xml:277(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"A més a més el Visualitzador de registres del sistema " +"també us permet obrir registres comprimits (els noms dels fitxers acaben amb " +"«.gz»)." + +#: C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Per a copiar línies del registre al porta-retalls" + +#: C/mate-system-log.xml:283(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"Per a copiar una o més línies del registre al porta-retalls, només heu de " +"seleccionar les línies en l'àrea principal i escolliu l'opció del menú " +"EditaCopia. Si voleu copiar tot el registre sencer al porta-retalls, " +"seleccioneu-lo tot amb l'opció de menú EditaSelecciona-ho tot, després " +"escolliu EditaCopia." + +#: C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "Per a amagar la barra lateral" + +#: C/mate-system-log.xml:296(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"Per a ocultar la barra lateral de l'esquerra, que conté la llista de " +"registres i el calendari, només heu d'escollir l'opció de menú " +"VisualitzaSubfinestra lateral." + +#: C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "Per a monitoritzar registres" + +#: C/mate-system-log.xml:304(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"Podeu fer servir el Visualitzador de registres del sistema per monitoritzar els registres. Per defecte, es monitoritzen " +"tots els canvis de tots els registres oberts amb el " +"Visualitzador de registres del sistema. Si " +"s'afegeix una línia nova a un registre monitoritzat pel " +"Visualitzador de registres del sistema, " +"apareixerà el nom del registre en negreta a la llista de registres. Si el " +"registre s'està visualitzant en l'àrea principal, apareixeran automàticament " +"les línies noves al final del registre, i després de cinc segons el nom del " +"registre tornarà al seu estat anterior en la llista." + +#: C/mate-system-log.xml:312(para) +msgid "" +"To stop monitoring a specific log, uncheck the ViewMonitor option. Check this " +"option again to turn monitoring back on." +msgstr "" +"Per a deixar de fer el seguiment d'un registre en concret, desactiveu " +"l'opció VisualitzaFes un " +"seguiment. Per tornar a fer un seguiment del " +"registre marqueu de nou aquesta opció." + +#: C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "Per a utilitzar el calendari" + +#: C/mate-system-log.xml:320(para) +msgid "" +"By default, a calendar is displayed in the left side of the " +"System Log Viewer window, under the log list. In " +"this calendar, the dates present in the currently select log are displayed " +"in bold. To jump to a particular date, select it in the calendar." +msgstr "" +"Per defecte, a sota de de la llista de registres en la barra lateral de la " +"finestra del Visualitzador de registres del sistema es visualitza un calendari. En el calendari es mostren en " +"negreta les dates presents en el registre que s'està visualitzant en aquest " +"moment. Per saltar a una data en concret, seleccioneu-la en el calendari." + +#: C/mate-system-log.xml:325(para) +msgid "" +"To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "" +"Per amagar el calendari, desactiveu l'opció del menú " +"VisualitzaCalendari." + +#: C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "Per a visualitzar informació del registre" + +#: C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" +"La informació del registre generalment es visualitza en la barra d'estat, " +"incloent:" + +#: C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "Nombre de línies del registre." + +#: C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "Mida del registre en bytes." + +#: C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "Data de l'última modificació del registre." + +#: C/mate-system-log.xml:342(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"La barra d'estat es pot mostrar o amagar amb l'opció " +"VisualitzaBarra d'estat." + +#: C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "Per a tancar un registre" + +#: C/mate-system-log.xml:349(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"Per a tancar un registre, escolliu FitxerTanca." + +#: C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "Per a sortir del visualitzador de registres del sistema" + +#: C/mate-system-log.xml:356(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"Per sortir del Visualitzador de registres del sistema, escolliu FitxerSurt." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Gil Forcada 2007, 2008" diff --git a/logview/help/cs/cs.po b/logview/help/cs/cs.po new file mode 100644 index 00000000..d5170f57 --- /dev/null +++ b/logview/help/cs/cs.po @@ -0,0 +1,590 @@ +# Czech translation for mate-utils. +# Copyright (C) 2009 mate-utils's COPYRIGHT HOLDER +# This file is distributed under the same license as the mate-utils package. +# Adrian Guniš , 2009, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-utils mate-2-28\n" +"POT-Creation-Date: 2010-02-16 02:20+0000\n" +"PO-Revision-Date: 2010-02-16 17:30+0100\n" +"Last-Translator: Adrian Guniš \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Poedit-Language: Czech\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:251(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" +msgstr "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Příručka k Prohlížeči systémových protokolů" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"Prohlížeč systémových protokolů slouží jako grafické uživatelské rozhraní k " +"prohlížení a sledování souborů systémových protokolů." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:165(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:110(para) C/mate-system-log.xml:120(para) +#: C/mate-system-log.xml:130(para) C/mate-system-log.xml:140(para) +#: C/mate-system-log.xml:150(para) C/mate-system-log.xml:160(para) +#: C/mate-system-log.xml:170(para) +msgid "MATE Documentation Project" +msgstr "Dokumentační projekt MATE" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"Je povoleno kopírovat, šířit a/nebo upravovat tento dokument za podmínek GNU " +"Free Documentation License (GFDL), verze 1.1 nebo jakékoli další verze " +"vydané nadací Free Software Foundation; bez neměnných oddílů, bez textů " +"předních desek a bez textů zadních desek. Kopii licence GFDL naleznete pod " +"tímto odkazem nebo v souboru " +"COPYING-DOCS dodávaném s touto příručkou." + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"Tato příručka je součástí sbírky příruček MATE šířených za podmínek licence " +"GNU FDL. Pokud chcete tento dokument šířit odděleně od sbírky, musíte " +"přiložit kopii licence dle popisu v oddílu 6 dané licence." + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"Mnoho užívaných jmen určených ke zviditelnění produktů nebo služeb jsou " +"ochranné známky. Na místech, kde jsou tato jména v dokumentaci užita a " +"členové Dokumentačního projektu MATE jsou si vědomi skutečnosti, že se " +"jedná o ochrannou známku, je takové jméno psáno velkými písmeny celé nebo s " +"velkým písmenem na začátku." + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"DOKUMENT JE POSKYTOVÁN V PODOBĚ \"JAK JE\", BEZ ZÁRUKY JAKÉHOKOLIV DRUHU, " +"NEPOSKYTUJÍ SE ANI ODVOZENÉ ZÁRUKY, ZÁRUKY, ŽE DOKUMENT, NEBO JEHO UPRAVENÁ " +"VERZE, JE BEZCHYBNÝ, NEBO ZÁRUKY PRODEJNOSTI, VHODNOSTI PRO URČITÝ ÚČEL, " +"NEBO NEPORUŠENOSTI. RIZIKO NEKVALITY, NEPŘESNOSTI A ŠPATNÉHO PROVEDENÍ " +"DOKUMENTU, NEBO JEHO UPRAVENÉ VERZE, NESETE VY. POKUD JE TENTO DOKUMENT NEBO " +"JEHO UPRAVENÁ VERZE VADNÁ V JAKÉMKOLIV SMYSLU, VY (NIKOLIV PŮVODCE, AUTOR " +"NEBO JAKÝKOLIV PŘISPĚVATEL) PŘEBÍRÁTE ODPOVĚDNOST ZA JAKÉKOLIV NÁKLADY NA " +"NUTNÉ ÚPRAVY, OPRAVY ČI SLUŽBY. TOTO PROHLÁŠENÍ O ZÁRUCE PŘEDSTAVUJE " +"ZÁKLADNÍ SOUČÁST TÉTO LICENCE. BEZ TOHOTO PROHLÁŠENÍ NENÍ PODLE TÉTO DOHODY " +"POVOLENO UŽÍVÁNÍ ANI ÚPRAVY TOHOTO DOKUMENTU; DÁLE" + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"ZA ŽÁDNÝCH OKOLNOSTÍ A ŽÁDNÝCH PRÁVNÍCH PŘEDPOKLADŮ, AŤ SE JEDNÁ O PŘEČIN " +"(VČETNĚ NEDBALOSTNÍCH), SMLOUVU NEBO JINÉ, NENÍ AUTOR, PŮVODNÍ PISATEL, " +"KTERÝKOLIV PŘISPĚVATEL NEBO KTERÝKOLIV DISTRIBUTOR TOHOTO DOKUMENTU NEBO " +"UPRAVENÉ VERZE DOKUMENTU NEBO KTERÝKOLIV DODAVATEL NĚKTERÉ Z TĚCHTO STRAN " +"ODPOVĚDNÝ NĚJAKÉ OSOBĚ ZA PŘÍMÉ, NEPŘÍMÉ, SPECIÁLNÍ, NAHODILÉ NEBO NÁSLEDNÉ " +"ŠKODY JAKÉHOKOLIV CHARAKTERU, VČETNĚ, ALE NEJEN, ZA POŠKOZENÍ ZE ZTRÁTY " +"DOBRÉHO JMÉNA, PŘERUŠENÍ PRÁCE, PORUCHY NEBO NESPRÁVNÉ FUNKCE POČÍTAČE NEBO " +"JINÉHO A VŠECH DALŠÍCH ŠKOD NEBO ZTRÁT VYVSTÁVAJÍCÍCH Z NEBO VZTAHUJÍCÍCH SE " +"K POUŽÍVÁNÍ TOHOTO DOKUMENTU NEBO UPRAVENÝCH VERZÍ DOKUMENTU, I KDYŽ BY " +"TAKOVÁTO STRANA BYLA INFORMOVANÁ O MOŽNOSTI TAKOVÉHOTO POŠKOZENÍ." + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"DOKUMENT A JEHO UPRAVENÉ VERZE JSOU ŠÍŘENY V SOULADU SE ZNĚNÍM LICENCE GNU " +"FREE DOCUMENTATION LICENSE S NÁSLEDUJÍCÍM USTANOVENÍM: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) C/mate-system-log.xml:75(orgname) +msgid "MATE Documentation Team" +msgstr "Dokumentační tým MATE" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Paul" +msgstr "Paul" + +#: C/mate-system-log.xml:73(surname) +msgid "Cutler" +msgstr "Cutler" + +#: C/mate-system-log.xml:76(email) +msgid "pcutler@gnome.org" +msgstr "pcutler@gnome.org" + +#: C/mate-system-log.xml:81(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:82(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:84(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:104(revnumber) +msgid "System Log Viewer Manual V2.5" +msgstr "Příručka k Prohlížeči systémových protokolů V2.5" + +#: C/mate-system-log.xml:105(date) +msgid "October 2009" +msgstr "Říjen 2009" + +#: C/mate-system-log.xml:107(para) +msgid "Paul Cutler pcutler@gnome.org" +msgstr "Paul Cutler pcutler@gnome.org" + +#: C/mate-system-log.xml:114(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Příručka k Prohlížeči systémových protokolů V2.4" + +#: C/mate-system-log.xml:115(date) +msgid "October 2005" +msgstr "Říjen 2005" + +#: C/mate-system-log.xml:117(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:124(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Příručka k Prohlížeči systémových protokolů V2.3" + +#: C/mate-system-log.xml:125(date) +msgid "October 2002" +msgstr "Říjen 2002" + +#: C/mate-system-log.xml:127(para) C/mate-system-log.xml:137(para) +#: C/mate-system-log.xml:147(para) C/mate-system-log.xml:157(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Dokumentační tým MATE společnosti Sun gdocteam@sun.com" + +#: C/mate-system-log.xml:134(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Příručka k Prohlížeči systémových protokolů V2.2" + +#: C/mate-system-log.xml:135(date) +msgid "August 2002" +msgstr "Srpen 2002" + +#: C/mate-system-log.xml:144(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Příručka k Prohlížeči systémových protokolů V2.1" + +#: C/mate-system-log.xml:145(date) +msgid "July 2002" +msgstr "Červenec 2002" + +#: C/mate-system-log.xml:154(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Příručka k Prohlížeči systémových protokolů V2.0" + +#: C/mate-system-log.xml:155(date) +msgid "May 2002" +msgstr "Květen 2002" + +#: C/mate-system-log.xml:164(revnumber) +msgid "Logview Manual" +msgstr "Příručka k Prohlížeči protokolů" + +#: C/mate-system-log.xml:167(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:175(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Tato příručka popisuje verzi 2.12 Prohlížeče systémových protokolů." + +#: C/mate-system-log.xml:178(title) +msgid "Feedback" +msgstr "Ohlasy" + +#: C/mate-system-log.xml:179(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"Chcete-li podat oznámení o chybě nebo návrh co se týče aplikace Prohlížeč " +"systémových protokolů nebo této příručky, postupujte dle pokynů na Stránce s ohlasy na MATE." + +#: C/mate-system-log.xml:189(primary) +msgid "System Log Viewer" +msgstr "Prohlížeč systémových protokolů" + +#: C/mate-system-log.xml:196(title) +msgid "Introduction" +msgstr "Úvod" + +#: C/mate-system-log.xml:198(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a log monitor and log statistics " +"display." +msgstr "" +"Prohlížeč systémových protokolů je grafický " +"prohlížeč ovládaný přes nabídku, který můžete použít k prohlížení a " +"sledování vašich systémových protokolů. Prohlížeč systémových " +"protokolů přichází s několika funkcemi, které vám mohou pomoci " +"spravovat vaše protokoly včetně sledování protokolů a zobrazení statistik k " +"protokolům." + +#: C/mate-system-log.xml:206(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a monitor to enable you " +"to continuously monitor crucial logs." +msgstr "" +"Prohlížeč systémových protokolů je užitečný, " +"pokud jste začátečníkem ve spravování systému, protože poskytuje snadnější, " +"uživatelsky přívětivější přístup k vašim protokolům než prohlížení textu v " +"souborech protokolů. Je také vhodný pro zkušenější administrátory, jelikož " +"obsahuje nepřetržité sledování klíčových protokolů." + +#: C/mate-system-log.xml:215(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"Prohlížeč systémových protokolů je vhodný pouze " +"pro ty, kteří mají přístup k systémovým souborům protokolů, což všeobecně " +"vyžaduje oprávnění superuživatele." + +#: C/mate-system-log.xml:222(title) +msgid "Getting Started" +msgstr "Začínáme" + +#: C/mate-system-log.xml:224(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"Prohlížeč systémových protokolů můžete spustit " +"následujícími způsoby:" + +#: C/mate-system-log.xml:228(term) +msgid "Applications menu" +msgstr "Nabídka Aplikace" + +#: C/mate-system-log.xml:230(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"Zvolte Systémové nástrojeProhlížeč souborů protokolů." + +#: C/mate-system-log.xml:234(term) +msgid "Command line" +msgstr "Příkazový řádek" + +#: C/mate-system-log.xml:236(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Napište mate-system-log a pak stiskněte Enter." + +#: C/mate-system-log.xml:243(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"Když spustíte Prohlížeč systémových protokolů, " +"zobrazí se následující okno." + +#: C/mate-system-log.xml:247(title) +msgid "System Log Viewer Window" +msgstr "Okno Prohlížeče systémových protokolů" + +#: C/mate-system-log.xml:254(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Ukazuje hlavní okno Prohlížeče systémových protokolů. Obsahuje lištu " +"nabídky, oblast zobrazení, posuvníky a stavovou lištu." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:260(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"Když spustíte Prohlížeč systémových protokolů " +"poprvé, aplikace standardně zobrazí několik souborů protokolů (jako např. " +"/var/log/messages). Otevřené protokoly jsou uvedeny v " +"levé části okna aplikace. Protokol zvolený v tomto seznamu je zobrazen v " +"hlavní oblasti okna aplikace." + +#: C/mate-system-log.xml:268(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"Standardně sleduje Prohlížeč systémových protokolů každý otevřený protokol a každá změna se automaticky objeví v " +"hlavním okně. Chcete-li zjistit více informací, podívejte se do ." + +#: C/mate-system-log.xml:277(title) +msgid "Usage" +msgstr "Použití" + +#: C/mate-system-log.xml:280(title) +msgid "To View a Log" +msgstr "Prohlížení protokolů" + +#: C/mate-system-log.xml:281(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"Pro shlédnutí protokolu zvolte SouborOtevřít. V okně " +"Otevřít protokol vyberte protokol, který chcete otevřít " +"a klikněte na Otevřít. Pro pohyb v protokolu použijte " +"posuvníky." + +#: C/mate-system-log.xml:287(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"Můžete otevřít tolik protokolů, kolik chcete. Prohlížeč " +"systémových protokolů umí najednou zobrazit jeden protokol. " +"Otevřené protokoly jsou uvedeny v levé části okna aplikace. Protokol zvolený " +"v tomto seznamu je zobrazen v hlavní oblasti okna aplikace. Pro zobrazení " +"jiného již otevřeného protokolu v Prohlížeči systémových " +"protokolů je nutné jeho zvolení v seznamu protokolů." + +#: C/mate-system-log.xml:295(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"Všimněte si, že Prohlížeč systémových protokolů " +"vám dovoluje otevírat také zabalené protokoly (přípona souboru \".gz\")." + +#: C/mate-system-log.xml:300(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Kopírování řádek protokolu do schránky" + +#: C/mate-system-log.xml:301(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"Pro zkopírování jedné nebo více řádek protokolu do schránky stačí vybrat " +"řádky v hlavní oblasti a zvolit volbu nabídky UpravitKopírovat. Pokud chcete " +"kopírovat do schránky celý protokol, učiníte tak pomocí volby nabídky " +"UpravitVybrat vše a pak zvolíte UpravitKopírovat." + +#: C/mate-system-log.xml:313(title) +msgid "To Hide the Sidebar" +msgstr "Skrytí postranního panelu" + +#: C/mate-system-log.xml:314(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"Pro skrytí levého postranního panelu, který obsahuje seznam protokolů a " +"kalendář, stačí zvolit volbu nabídky ZobrazitPostranní panel." + +#: C/mate-system-log.xml:321(title) +msgid "To Monitor Logs" +msgstr "Sledování protokolů" + +#: C/mate-system-log.xml:322(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"Prohlížeč systémových protokolů můžete použít ke " +"sledování protokolů. Standardně jsou sledovány změny u všech protokolů " +"otevřených v Prohlížeči systémových protokolů. " +"Pokud jsou do protokolu sledovaného Prohlížečem systémových " +"protokolů přidány nové řádky, název protokolu v seznamu " +"protokolů ztuční. Pokud je protokol aktuálně zobrazen v hlavní oblasti, nové " +"řádky se automaticky objeví na konci protokolu a po 5 sekundách se název " +"protokolu v seznamu vrátí zpět do normálu." + +#: C/mate-system-log.xml:333(title) +msgid "To View Log Information" +msgstr "Prohlížení informací o protokolu" + +#: C/mate-system-log.xml:334(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" +"Informace o protokolu jsou zpravidla zobrazovány ve stavovém řádku, včetně:" + +#: C/mate-system-log.xml:337(para) +msgid "Number of lines in the log." +msgstr "Počtu řádek v protokolu," + +#: C/mate-system-log.xml:339(para) +msgid "Size of the log in bytes." +msgstr "Velikosti protokolu v bytech," + +#: C/mate-system-log.xml:341(para) +msgid "Date the log was last modified." +msgstr "Data poslední změny protokolu." + +#: C/mate-system-log.xml:344(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"Stavový řádek lze zobrazit nebo skrýt pomocí volby " +"ZobrazitStavový řádek." + +#: C/mate-system-log.xml:350(title) +msgid "To Close a Log" +msgstr "Zavření protokolu" + +#: C/mate-system-log.xml:351(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"Pro zavření protokolu zvolte SouborZavřít." + +#: C/mate-system-log.xml:357(title) +msgid "To Exit System Log Viewer" +msgstr "Ukončení Prohlížeče systémových protokolů" + +#: C/mate-system-log.xml:358(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"Prohlížeč systémových protokolů ukončíte zvolením " +"položky SouborUkončit." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Adrian Guniš , 2009, 2010" + diff --git a/logview/help/cs/figures/syslog_window.png b/logview/help/cs/figures/syslog_window.png new file mode 100644 index 00000000..b5b1c44b Binary files /dev/null and b/logview/help/cs/figures/syslog_window.png differ diff --git a/logview/help/de/de.po b/logview/help/de/de.po new file mode 100644 index 00000000..a720f0a4 --- /dev/null +++ b/logview/help/de/de.po @@ -0,0 +1,642 @@ +# German translation of the logview manual. +# Mario Blättermann , 2008-2010. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2010-01-12 01:19+0000\n" +"PO-Revision-Date: 2010-01-17 13:35+0100\n" +"Last-Translator: Mario Blättermann \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: German\n" +"X-Poedit-Country: GERMANY\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:251(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" +msgstr "translated" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Systemprotokollbetrachter-Handbuch" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"Der Systemprotokollbetrachter ist eine grafische Benutzerschnittstelle zum " +"Betrachten und Überwachen Ihrer Systemprotokolldateien." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:165(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:110(para) C/mate-system-log.xml:120(para) +#: C/mate-system-log.xml:130(para) C/mate-system-log.xml:140(para) +#: C/mate-system-log.xml:150(para) C/mate-system-log.xml:160(para) +#: C/mate-system-log.xml:170(para) +msgid "MATE Documentation Project" +msgstr "MATE-Dokumentationsprojekt" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or in " +"the file COPYING-DOCS distributed with this manual." +msgstr "" +"Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free " +"Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free " +"Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte " +"sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt " +"und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem " +"Link oder in der mit diesem " +"Handbuch gelieferten Datei COPYING-DOCS." + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"Dieses Handbuch ist Teil einer Sammlung von MATE-Handbüchern, die unter der " +"GFDL veröffentlicht werden. Wenn Sie dieses Handbuch getrennt von der " +"Sammlung weiterverbreiten möchten, können Sie das tun, indem Sie eine Kopie " +"der Lizenz zum Handbuch hinzufügen, wie es in Abschnitt 6 der Lizenz " +"beschrieben ist." + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"Viele der Namen, die von Unternehmen verwendet werden, um ihre Produkte und " +"Dienstleistungen von anderen zu unterscheiden, sind eingetragene " +"Warenzeichen. An den Stellen, an denen diese Namen in einer MATE-" +"Dokumentation erscheinen, werden die Namen in Großbuchstaben oder mit einem " +"großen Anfangsbuchstaben geschrieben, wenn das MATE-Dokumentationsprojekt " +"auf diese Warenzeichen hingewiesen wird." + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK " +"AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED " +"VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION " +"PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY " +"CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR " +"CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS " +"LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS " +"AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"DIESES DOKUMENT WIRD »WIE VORLIEGEND« GELIEFERT, OHNE GARANTIEN IRGENDEINER " +"ART, SOWOHL AUSDRÜCKLICH GENANNTE ALS AUCH ANGEDEUTETE. DIES BEZIEHT SICH " +"AUCH OHNE EINSCHRÄNKUNG AUF GARANTIEN, DASS DIESES DOKUMENT ODER VERÄNDERTE " +"FASSUNGEN DIESES DOKUMENTS FREI VON HANDELSDEFEKTEN, FÜR EINEN BESTIMMTEN " +"ZWECK GEEIGNET IST ODER DASS ES KEINE RECHTE DRITTER VERLETZT. DAS VOLLE " +"RISIKO WAS QUALITÄT, GENAUIGKEIT UND LEISTUNG DES DOKUMENTS ODER VERÄNDERTE " +"FASSUNGEN DES DOKUMENTS LIEGT BEI IHNEN. SOLLTE EIN DOKUMENT ODER EINE " +"VERÄNDERTE FASSUNG DAVON FEHLER IRGENDEINER ART BEINHALTEN, TRAGEN SIE (NICHT " +"DER URSPRUNGSAUTOR, DER AUTOR ODER EIN MITWIRKENDER) DIE KOSTEN FÜR " +"NOTWENDIGE DIENSTLEISTUNGEN, REPARATUREN ODER FEHLERKORREKTUREN. DIESER " +"HAFTUNGSAUSSCHLUSS IST EIN ESSENZIELLER TEIL DIESER LIZENZ. DIE VERWENDUNG " +"EINES DOKUMENTS ODER EINER VERÄNDERTEN VERSION DES DOKUMENTS IST NICHT " +"GESTATTET AUßER UNTER BEACHTUNG DIESES HAFTUNGSAUSSCHLUSSES UND" + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR " +"ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY " +"CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK " +"STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR " +"LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"UNTER KEINEN UMSTÄNDEN UND AUF BASIS KEINER RECHTSGRUNDLAGE, EGAL OB DURCH " +"UNERLAUBTEN HANDLUNGEN (EINSCHLIEßLICH FAHRLÄSSIGKEIT), VERTRAG ODER " +"ANDERWEITIG KANN DER AUTOR, URSPRUNGSAUTOR, EIN MITWIRKENDER ODER EIN " +"VERTRIEBSPARTNER DIESES DOKUMENTS ODER EINER VERÄNDERTEN FASSUNG DES " +"DOKUMENTS ODER EIN ZULIEFERER EINER DIESER PARTEIEN, HAFTBAR GEMACHT WERDEN " +"FÜR DIREKTE, INDIREKTE, SPEZIELLE, VERSEHENTLICHE ODER FOLGESCHÄDEN JEGLICHER " +"ART, EINSCHLIEßLICH UND OHNE EINSCHRÄNKUNGEN SCHÄDEN DURCH VERLUST VON " +"KULANZ, ARBEITSAUSFALL, COMPUTERVERSAGEN ODER COMPUTERFEHLFUNKTIONEN ODER " +"ALLE ANDEREN SCHÄDEN ODER VERLUSTE, DIE SICH AUS ODER IN VERBINDUNG MIT DER " +"VERWENDUNG DES DOKUMENTS UND VERÄNDERTER FASSUNGEN DES DOKUMENTS ERGEBEN, " +"AUCH WENN DIE OBEN GENANNTEN PARTEIEN ÜBER DIE MÖGLICHKEIT SOLCHER SCHÄDEN " +"INFORMIERT WAREN." + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"DAS DOKUMENT UND VERÄNDERTE FASSUNGEN DES DOKUMENTS WERDEN UNTER DEN " +"BEDINGUNGEN DER GNU FREE DOCUMENTATION LICENSE ZUR VERFÜGUNG GESTELLT MIT DEM " +"WEITERGEHENDEN VERSTÄNDNIS, DASS: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) C/mate-system-log.xml:75(orgname) +msgid "MATE Documentation Team" +msgstr "MATE-Dokumentationsteam" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Paul" +msgstr "Paul" + +#: C/mate-system-log.xml:73(surname) +msgid "Cutler" +msgstr "Cutler" + +#: C/mate-system-log.xml:76(email) +msgid "pcutler@gnome.org" +msgstr "pcutler@gnome.org" + +#: C/mate-system-log.xml:81(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:82(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:84(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:104(revnumber) +#| msgid "System Log Viewer Manual V2.4" +msgid "System Log Viewer Manual V2.5" +msgstr "Systemprotokollbetrachter-Handbuch V2.5" + +#: C/mate-system-log.xml:105(date) +#| msgid "October 2005" +msgid "October 2009" +msgstr "Oktober 2009" + +#: C/mate-system-log.xml:107(para) +msgid "Paul Cutler pcutler@gnome.org" +msgstr "Paul Cutler pcutler@gnome.org" + +#: C/mate-system-log.xml:114(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Systemprotokollbetrachter-Handbuch V2.4" + +#: C/mate-system-log.xml:115(date) +msgid "October 2005" +msgstr "Oktober 2005" + +#: C/mate-system-log.xml:117(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:124(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Systemprotokollbetrachter-Handbuch V2.3" + +#: C/mate-system-log.xml:125(date) +msgid "October 2002" +msgstr "Oktober 2002" + +#: C/mate-system-log.xml:127(para) C/mate-system-log.xml:137(para) +#: C/mate-system-log.xml:147(para) C/mate-system-log.xml:157(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun MATE-Dokumentationsteam gdocteam@sun.com" + +#: C/mate-system-log.xml:134(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Systemprotokollbetrachter-Handbuch V2.2" + +#: C/mate-system-log.xml:135(date) +msgid "August 2002" +msgstr "August 2002" + +#: C/mate-system-log.xml:144(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Systemprotokollbetrachter-Handbuch V2.1" + +#: C/mate-system-log.xml:145(date) +msgid "July 2002" +msgstr "Juli 2002" + +#: C/mate-system-log.xml:154(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Systemprotokollbetrachter-Handbuch V2.0" + +#: C/mate-system-log.xml:155(date) +msgid "May 2002" +msgstr "Mai 2002" + +#: C/mate-system-log.xml:164(revnumber) +msgid "Logview Manual" +msgstr "Systemprotokollbetrachter-Handbuch" + +#: C/mate-system-log.xml:167(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:175(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Dieses Handbuch beschreibt Version 2.12 des Systemprotokollbetrachters." + +#: C/mate-system-log.xml:178(title) +msgid "Feedback" +msgstr "Rückmeldungen" + +#: C/mate-system-log.xml:179(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"Um Fehler zu melden oder einen Vorschlag zur Anwendung " +"Systemprotokollbetrachter oder zu diesem Handbuch " +"zu machen, folgen Sie den Anweisungen auf der MATE-Seite für Rückmeldungen." + +#: C/mate-system-log.xml:189(primary) +msgid "System Log Viewer" +msgstr "Systemprotokollbetrachter" + +#: C/mate-system-log.xml:196(title) +msgid "Introduction" +msgstr "Einführung" + +#: C/mate-system-log.xml:198(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a log monitor and log statistics " +"display." +msgstr "" +"Der Systemprotokollbetrachter ist ein grafischer, " +"menügesteuerter Betrachter, den Sie zum Betrachten und Überwachen Ihrer " +"Systemprotokolldateien benutzen können. Der " +"Systemprotokollbetrachter stellt einige Funktionen " +"bereit, die Ihnen beim Verwalten Ihrer Protokolle helfen, beispielsweise " +"einen Kalender, eine Protokollüberwachung und eine Protokollstatistik." + +#: C/mate-system-log.xml:206(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a monitor to enable you " +"to continuously monitor crucial logs." +msgstr "" +"Wenn Sie noch unerfahren in der Systemverwaltung sind, stellt Ihnen der " +"Systemprotokollbetrachter eine einfachere und " +"benutzerfreundlichere Anzeige Ihrer Systemprotokolle zur Verfügung, im " +"Gegensatz zur reinen Textansicht einer Protokolldatei. Auch für " +"fortgeschrittenere Systemverwalter ist der " +"Systemprotokollbetrachter nützlich, da über eine " +"Möglichkeit der permanenten Überwachung wichtiger Protokolle verfügt." + +#: C/mate-system-log.xml:215(para) +msgid "" +"System Log Viewer is useful only to those who have " +"access to the system log files, which generally requires root access." +msgstr "" +"Der Systemprotokollbetrachter ist nur verwendbar, " +"wenn Sie Zugriff auf die Systemprotokolldateien haben, was im Allgemeinen die " +"Rechte des Systemverwalters erfordert." + +#: C/mate-system-log.xml:222(title) +msgid "Getting Started" +msgstr "Erste Schritte" + +#: C/mate-system-log.xml:224(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"Sie können den Systemprotokollbetrachter auf die " +"folgenden Arten starten:" + +#: C/mate-system-log.xml:228(term) +msgid "Applications menu" +msgstr "Menü Anwendungen" + +#: C/mate-system-log.xml:230(para) +msgid "" +"Choose System ToolsLog File " +"Viewer." +msgstr "" +"Wählen Sie SystemwerkzeugeSystemprotokoll." + +#: C/mate-system-log.xml:234(term) +msgid "Command line" +msgstr "Befehlszeile" + +#: C/mate-system-log.xml:236(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Geben Sie mate-system-log ein, und drücken Sie dann die " +"Eingabetaste." + +#: C/mate-system-log.xml:243(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"Wenn Sie den Systemprotokollbetrachter starten, " +"wird folgendes Fenster angezeigt." + +#: C/mate-system-log.xml:247(title) +msgid "System Log Viewer Window" +msgstr "Systemprotokollbetrachter-Fenster" + +#: C/mate-system-log.xml:254(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Zeigt das Hauptfenster des Systemprotokollbetrachters. Enthält Menüleiste, " +"Anzeigebereich, Rollbalken und Statusleiste." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:260(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/log/" +"messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"Wenn Sie den Systemprotokollbetrachter zum ersten " +"Mal starten, zeigt die Anwendung standardmäßig verschiedene Protokolldateien " +"an (z.B. /var/log/messages). Geöffnete Protokolle werden " +"an der linken Seite des Anwendungsfensters aufgelistet. Das in dieser Liste " +"ausgewählte Protokoll wird im Anzeigebereich des Anwendungsfensters " +"dargestellt." + +#: C/mate-system-log.xml:268(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"Standardmäßig überwacht der Systemprotokollbetrachter jedes der geöffneten Protokolle auf Änderungen. Jede Änderung " +"erscheint automatisch im Hauptfenster. Weitere Informationen hierzu finden " +"Sie in ." + +#: C/mate-system-log.xml:277(title) +msgid "Usage" +msgstr "Benutzung" + +#: C/mate-system-log.xml:280(title) +msgid "To View a Log" +msgstr "Betrachten eines Protokolls" + +#: C/mate-system-log.xml:281(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. " +"Use the scrollbars to scroll through the log." +msgstr "" +"Um ein Protokoll zu betrachten, wählen Sie DateiÖffnen. Im Dialog " +"Protokoll öffnen wählen Sie das zu öffnende Protokoll " +"aus und klicken dann auf Öffnen. Verwenden Sie die " +"Rollbalken, um durch das Protokoll zu rollen." + +#: C/mate-system-log.xml:287(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"Sie können so viele Protokolle öffnen, wie Sie wollen. Der " +"Systemprotokollbetrachter zeigt eines der " +"Protokolle im Systemprotokollbetrachter-Fenster an. " +"Geöffnete Protokolle werden an der linken Seite des Anwendungsfensters " +"aufgelistet. Das in dieser Liste ausgewählte Protokoll wird im Anzeigebereich " +"des Anwendungsfensters dargestellt. Um ein anderes bereits im " +"Systemprotokollbetrachter geöffnetes Protokoll " +"anzuzeigen, wählen Sie es in der Protokollliste aus." + +#: C/mate-system-log.xml:295(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"Beachten Sie, dass es Ihnen der Systemprotokollbetrachter auch ermöglicht, gepackte Protokolle zu öffnen, deren Dateinamen " +"auf ».gz« enden." + +#: C/mate-system-log.xml:300(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Kopieren von Protokollzeilen in die Zwischenablage" + +#: C/mate-system-log.xml:301(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you want " +"to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"Um eine oder mehrere Zeilen eines Protokolls in die Zwischenablage zu " +"kopieren, wählen Sie einfach die entsprechenden Zeilen im Anzeigebereich aus " +"und wählen BearbeitenKopieren im Menü. Falls Sie das gesamte Protokoll in die " +"Zwischenablage kopieren wollen, wählen Sie es im Menü mit " +"BearbeitenAlles auswählen aus. Wählen Sie anschließend " +"BearbeitenKopieren." + +#: C/mate-system-log.xml:313(title) +msgid "To Hide the Sidebar" +msgstr "Verbergen der Seitenleiste" + +#: C/mate-system-log.xml:314(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"Um die Seitenleiste anzuzeigen oder zu verbergen, welche die Protokollliste " +"und den Kalender enthält, wählen Sie die Menüoption " +"AnsichtSeitenleiste." + +#: C/mate-system-log.xml:321(title) +msgid "To Monitor Logs" +msgstr "Überwachen von Systemprotokollen" + +#: C/mate-system-log.xml:322(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, the " +"new lines will appear automatically at the end of the log and, after five " +"seconds, the log name will turn back to normal in the list." +msgstr "" +"Sie können den Systemprotokollbetrachter zur " +"Überwachung von Protokollen verwenden. Standardmäßig überwacht der " +"Systemprotokollbetrachter jedes der geöffneten " +"Protokolle auf Änderungen. Wenn neue Zeilen zu einem vom " +"Systemprotokollbetrachter überwachten Protokoll " +"hinzugefügt werden, erscheint der Name des Protokolls in fetter Schrift in " +"der Protokollliste. Falls das betreffende Protokoll gegenwärtig im " +"Anzeigebereich geöffnet ist, erscheinen die neuen Zeilen automatisch am Ende " +"des Protokolls. Nach fünf Sekunden wird der in fetter Schrift dargestellte " +"Name des Protokolls in der Protokolls in die normale Anzeige zurückgesetzt." + +#: C/mate-system-log.xml:333(title) +msgid "To View Log Information" +msgstr "Anzeigen von Protokollinformationen" + +#: C/mate-system-log.xml:334(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" +"Folgende Protokollinformationen werden generell in der Statusleiste angezeigt:" + +#: C/mate-system-log.xml:337(para) +msgid "Number of lines in the log." +msgstr "Anzahl der Zeilen im Protokoll." + +#: C/mate-system-log.xml:339(para) +msgid "Size of the log in bytes." +msgstr "Größe des Protokolls in Byte." + +#: C/mate-system-log.xml:341(para) +msgid "Date the log was last modified." +msgstr "Zeitpunkt der letzten Änderung des Protokolls." + +#: C/mate-system-log.xml:344(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"Die Statusleiste kann mit der Menüoption AnsichtStatusleiste angezeigt oder " +"verborgen werden." + +#: C/mate-system-log.xml:350(title) +msgid "To Close a Log" +msgstr "Schließen eines Protokolls" + +#: C/mate-system-log.xml:351(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"Um ein Protokoll zu schließen, wählen Sie DateiSchließen." + +#: C/mate-system-log.xml:357(title) +msgid "To Exit System Log Viewer" +msgstr "Beenden des Systemprotokollbetrachters" + +#: C/mate-system-log.xml:358(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"Um den Systemprotokollbetrachter zu schließen, " +"wählen Sie DateiBeenden." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Mario Blättermann , 2008, 2009, 2010" + +#~ msgid "" +#~ "To stop monitoring a specific log, uncheck the ViewMonitor option. Check this " +#~ "option again to turn monitoring back on." +#~ msgstr "" +#~ "Um die Überwachung eines bestimmten Protokolls zu stoppen, deaktivieren " +#~ "Sie die Option AnsichtÜberwachen. Aktivieren Sie " +#~ "diese Option wieder, um die Überwachung wiederaufzunehmen." + +#~ msgid "To Use the Calendar" +#~ msgstr "Benutzung des Kalenders" + +#~ msgid "" +#~ "By default, a calendar is displayed in the left side of the " +#~ "System Log Viewer window, under the log list. " +#~ "In this calendar, the dates present in the currently select log are " +#~ "displayed in bold. To jump to a particular date, select it in the calendar." +#~ msgstr "" +#~ "Standardmäßig wird unterhalb der Protokollliste an der linken Seite des " +#~ "Systemprotokollbetrachter-Fensters ein Kalender " +#~ "angezeigt. In diesem Kalender werden die im gegenwärtig ausgewählten " +#~ "Protokoll vorhandenen Daten in fetter Schrift angezeigt. Um zu einem " +#~ "bestimmten Datum zu springen, wählen Sie es im Kalender aus." + +#~ msgid "" +#~ "To hide the calendar, uncheck the ViewCalendar menu option." +#~ msgstr "" +#~ "Um den Kalender zu verbergen, deaktivieren Sie die Menüoption " +#~ "AnsichtKalender" diff --git a/logview/help/de/figures/syslog_window.png b/logview/help/de/figures/syslog_window.png new file mode 100644 index 00000000..c8a020b9 Binary files /dev/null and b/logview/help/de/figures/syslog_window.png differ diff --git a/logview/help/el/el.po b/logview/help/el/el.po new file mode 100644 index 00000000..58c6085e --- /dev/null +++ b/logview/help/el/el.po @@ -0,0 +1,422 @@ +# translation of logview.HEAD.po to +# Fotis Tsamis , 2009. +msgid "" +msgstr "" +"Project-Id-Version: logview.HEAD\n" +"POT-Creation-Date: 2010-03-27 15:30+0000\n" +"PO-Revision-Date: 2010-03-28 13:42+0200\n" +"Last-Translator: Bakaoukas Nikolaos \n" +"Language-Team: Greek \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:251(None) +#| msgid "" +#| "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgid "@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" +msgstr "@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Οδηγός Παρακολούθησης καταγραφών συστήματος" + +#: C/mate-system-log.xml:26(para) +msgid "System Log Viewer is a graphical user interface to view and monitor system log files." +msgstr "Η παρακολούθηση καταγραφών συστήματος είναι ένα γραφικό περιβάλλον για να παρακολουθείτε και να ελέγχετε τα αρχεία καταγραφών του συστήματος." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) +#: C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems " + +#: C/mate-system-log.xml:35(year) +#: C/mate-system-log.xml:165(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) +#: C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:110(para) +#: C/mate-system-log.xml:120(para) +#: C/mate-system-log.xml:130(para) +#: C/mate-system-log.xml:140(para) +#: C/mate-system-log.xml:150(para) +#: C/mate-system-log.xml:160(para) +#: C/mate-system-log.xml:170(para) +msgid "MATE Documentation Project" +msgstr "Έργο Τεκμηρίωσης MATE" + +#: C/mate-system-log.xml:2(para) +msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." +msgstr "Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), Έκδοση 1.1 ή μεταγενέστερη εκδιδόμενη από το Ίδρυμα Ελεύθερου Λογισμικού χωρίς Σταθερά Εδάφια, χωρίς Εξώφυλλα Κειμένου, και χωρίς Οπισθόφυλλα Κειμένου. Μπορείτε να βρείτε ένα αντίγραφο της GFDL σε αυτόν τον σύνδεσμο ή στο αρχείο COPYING-DOCS που διανεμήθηκε με αυτόν τον οδηγό." + +#: C/mate-system-log.xml:12(para) +msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license." +msgstr "Αυτή η τεκμηρίωση είναι μέρος της συλλογής τεκμηρίωσης του MATE όπως διανέμεται υπό τους όρους του GFDL. Εάν επιθυμείτε να διανείμετε αυτή την τεκμηρίωση ξεχωριστά από την συλλογή, μπορείτε να το κάνετε εάν η τεκμηρίωση συνοδεύεται από αντίγραφο της άδειας (GFDL) όπως περιγράφεται στον τομέα 6 της άδειας." + +#: C/mate-system-log.xml:19(para) +msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters." +msgstr "Πολλά από τα ονόματα που χρησιμοποιούνται από εταιρίες για να ξεχωρίσουν τα προϊόντα και τις υπηρεσίες είναι σήματα κατατεθέντα. Όπου αυτά τα ονόματα εμφανίζονται στην τεκμηρίωση MATE, και τα μέλη της ομάδας τεκμηρίωσης MATE έχουν γνώση αυτών, τότε αυτά αναγράφονται με κεφαλαίους χαρακτήρες ή με αρχικούς κεφαλαίους χαρακτήρες." + +#: C/mate-system-log.xml:35(para) +msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "Η ΤΕΚΜΗΡΙΩΣΗ ΑΥΤΗ ΠΑΡΕΧΕΤΑΙ \"ΩΣ ΕΧΕΙ\", ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ ΟΤΙ ΜΠΟΡΕΙ ΝΑ ΕΞΥΠΗΡΕΤΗΣΕΙ ΚΑΠΟΙΟ ΣΚΟΠΟ Η ΟΤΙ ΕΙΝΑΙ ΧΩΡΙΣ ΣΦΑΛΜΑ. ΟΛΟΚΛΗΡΗ Η ΕΥΘΥΝΗ ΓΙΑ ΤΗΝ ΠΟΙΟΤΗΤΑ, ΑΚΡΙΒΕΙΑ ΚΑΙ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΑΝΗΚΕΙ ΣΕ ΕΣΑΣ. ΕΑΝ Η ΤΕΚΜΗΡΙΩΣΗ ΑΥΤΗ Ή ΠΑΡΑΛΛΑΓΗ ΑΥΤΗΣ ΕΙΝΑΙ ΛΑΘΟΣ ΚΑΤΑ ΚΑΠΟΙΟ ΤΡΟΠΟ ΕΣΕΙΣ ΑΝΑΛΑΜΒΑΝΕΤΕ ΤΗΝ ΕΥΘΥΝΗ ΤΗΣ ΔΙΟΡΘΩΣΗΣ. Η ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ ΠΟΥ ΣΥΝΟΔΕΥΕΙ ΑΥΤΗ ΤΗΝ ΤΕΚΜΗΡΙΩΣΗ ΕΙΝΑΙ ΑΝΑΠΟΣΠΑΣΤΟ ΚΟΜΜΑΤΙ ΑΥΤΗΣ. ΚΑΜΙΑ ΧΡΗΣΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΔΕΝ ΕΠΙΤΡΕΠΕΤΑΙ ΠΑΡΑ ΜΟΝΟ ΕΑΝ ΣΥΝΟΔΕΥΕΤΑΙ ΑΠΟ ΤΗΝ ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ." + +#: C/mate-system-log.xml:55(para) +msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES." +msgstr "ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΥΠΟ ΚΑΜΙΑ ΝΟΜΙΚΗ ΣΥΝΘΗΚΗ, ΕΙΤΕ ΜΕΣΩ ΣΥΜΒΟΛΑΙΩΝ Ή ΑΛΛΙΩΣ, ΔΕΝ ΕΥΘΥΝΟΝΤΑΙ Ο ΣΥΓΓΡΑΦΕΑΣ, Ο ΔΙΑΝΟΜΕΑΣ, Η ΑΛΛΟΣ ΣΥΝΥΠΕΥΘΥΝΟΣ ΓΙΑ ΤΗΝ ΣΥΓΓΡΑΦΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ, ΓΙΑ ΕΜΜΕΣΕΣ Η ΑΜΕΣΕΣ, ΤΥΧΑΙΕΣ Ή ΜΗ ΖΗΜΙΕΣ ΠΑΝΤΩΣ ΦΥΣΕΩΣ ΠΟΥ ΠΡΟΕΡΧΟΝΤΑΙ ΑΠΟ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ/Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΑΚΟΜΑ ΚΑΙ ΕΑΝ ΕΧΕΙ ΥΠΑΡΞΕΙ ΠΡΟΕΙΔΟΠΟΙΗΣΗ ΓΙΑ ΤΗΝ ΠΙΘΑΝΟΤΗΤΑ ΥΠΑΡΞΗΣ ΤΕΤΟΙΩΝ ΖΗΜΙΩΝ." + +#: C/mate-system-log.xml:28(para) +msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +msgstr "ΤΟ ΈΓΓΡΑΦΟ ΚΑΙ ΟΙ ΤΡΟΠΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΑΥΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΑΔΕΙΑΣ GNU FREE DOCUMENTATION ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΔΙΕΥΚΡΙΝΙΣΗ ΟΤΙ: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) +#: C/mate-system-log.xml:75(orgname) +msgid "MATE Documentation Team" +msgstr "Ομάδα Τεκμηρίωσης MATE" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Paul" +msgstr "Paul" + +#: C/mate-system-log.xml:73(surname) +msgid "Cutler" +msgstr "Cutler" + +#: C/mate-system-log.xml:76(email) +msgid "pcutler@gnome.org" +msgstr "pcutler@gnome.org" + +#: C/mate-system-log.xml:81(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:82(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:84(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:104(revnumber) +#| msgid "System Log Viewer Manual V2.4" +msgid "System Log Viewer Manual V2.5" +msgstr "Εγχειρίδιο παρακολούθησης καταγραφών συστήματος έκδοση 2.5" + +#: C/mate-system-log.xml:105(date) +#| msgid "October 2005" +msgid "October 2009" +msgstr "Οκτώβριος 2009" + +#: C/mate-system-log.xml:107(para) +msgid "Paul Cutler pcutler@gnome.org" +msgstr "Paul Cutler pcutler@gnome.org" + +#: C/mate-system-log.xml:114(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Παρακολούθηση καταγραφών συστήματος Οδηγός V2.4" + +#: C/mate-system-log.xml:115(date) +msgid "October 2005" +msgstr "Οκτώβριος 2005" + +#: C/mate-system-log.xml:117(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:124(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Παρακολούθηση καταγραφών συστήματος Οδηγός V2.3" + +#: C/mate-system-log.xml:125(date) +msgid "October 2002" +msgstr "Οκτώβριος 2002" + +#: C/mate-system-log.xml:127(para) +#: C/mate-system-log.xml:137(para) +#: C/mate-system-log.xml:147(para) +#: C/mate-system-log.xml:157(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun MATE Documentation Team gdocteam@sun.com" + +#: C/mate-system-log.xml:134(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Παρακολούθηση καταγραφών συστήματος Οδηγός V2.2" + +#: C/mate-system-log.xml:135(date) +msgid "August 2002" +msgstr "Αύγουστος 2002" + +#: C/mate-system-log.xml:144(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Παρακολούθηση καταγραφών συστήματος Οδηγός V2.1" + +#: C/mate-system-log.xml:145(date) +msgid "July 2002" +msgstr "Ιούλιος 2002" + +#: C/mate-system-log.xml:154(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Παρακολούθηση καταγραφών συστήματος Οδηγός V2.0" + +#: C/mate-system-log.xml:155(date) +msgid "May 2002" +msgstr "Μάιος 2002" + +#: C/mate-system-log.xml:164(revnumber) +msgid "Logview Manual" +msgstr "Οδηγός Παρακολούθηση καταγραφών " + +#: C/mate-system-log.xml:167(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:175(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Αυτός ο οδηγός περιγράφει την έκδοση 2.12 της Παρακολούθησης καταγραφών συστήματος." + +#: C/mate-system-log.xml:178(title) +msgid "Feedback" +msgstr "Ανάδραση" + +#: C/mate-system-log.xml:179(para) +msgid "To report a bug or make a suggestion regarding the System Log Viewer application or this manual, follow the directions in the MATE Feedback Page." +msgstr "Για να αναφέρετε ένα bug ή για να κάνετε μια πρόταση υπόδειξη σχετικά με την εφαρμογή Παρακολούθησης καταγραφών συστήματος ή αυτόν τον οδηγό, ακολουθήστε την κατεύθυνση MATE Feedback Page." + +#: C/mate-system-log.xml:189(primary) +msgid "System Log Viewer" +msgstr "Παρακολούθηση Καταγραφών Συστήματος" + +#: C/mate-system-log.xml:196(title) +msgid "Introduction" +msgstr "Οδηγίες " + +#: C/mate-system-log.xml:198(para) +#| msgid "" +#| "System Log Viewer is a graphical, menu-driven " +#| "viewer that you can use to view and monitor your system logs. " +#| "System Log Viewer comes with a few functions " +#| "that can help you manage your logs, including a calendar, log monitor and " +#| "log statistics display." +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system logs. System Log Viewer comes with a few functions that can help you manage your logs, including a log monitor and log statistics display." +msgstr "Η Παρακολούθηση καταγραφών συστήματος είναι μια εφαρμογή σε γραφικό περιβάλλον, όπου με χρήση μενού μπορείτε δείτε και να ελέγξετε τις καταγραφές του συστήματος σας. Η Παρακολούθηση καταγραφών συστήματος εμπεριέχει λειτουργίες που θα σας βοηθήσουν να διαχειριστείτε τις καταγραφές σας, συμπεριλαμβάνοντας έναν διαχειριστή καταγραφών και εμφάνιση στατιστικών για τις καταγραφές σας." + +#: C/mate-system-log.xml:206(para) +#| msgid "" +#| "System Log Viewer is useful if you are new to " +#| "system administration because it provides an easier, more user-friendly " +#| "display of your logs than a text display of the log file. It is also " +#| "useful for more experienced administrators, as it contains a calendar to " +#| "help you locate trends and track problems, as well as a monitor to enable " +#| "you to continuously monitor crucial logs." +msgid "System Log Viewer is useful if you are new to system administration because it provides an easier, more user-friendly display of your logs than a text display of the log file. It is also useful for more experienced administrators, as it contains a monitor to enable you to continuously monitor crucial logs." +msgstr "Η Παρακολούθηση καταγραφών συστήματος είναι χρήσιμη εάν είστε νέοι στη διαχείριση συστημάτων επειδή παρέχει μια ευκολότερη, φιλικότερη προς το χρήστη εμφάνιση των καταγραφών σας από ότι η απλή προβολή κειμένου του αρχείου του ημερολογίου. Είναι επίσης χρήσιμο για τους πιο πεπειραμένους διαχειριστές, καθώς περιέχει και εργαλείο διαχείρισης για να ελέγχεται συνεχώς τις κρίσιμες καταγραφές." + +#: C/mate-system-log.xml:215(para) +msgid "System Log Viewer is useful only to those who have access to the system log files, which generally requires root access." +msgstr "Η Παρακολούθηση καταγραφών συστήματος είναι χρήσιμη μόνο στους χρήστες που έχουν δικαιώματα root στα αρχεία καταγραφής συστήματος." + +#: C/mate-system-log.xml:222(title) +msgid "Getting Started" +msgstr "Ξεκινώντας" + +#: C/mate-system-log.xml:224(para) +msgid "You can start System Log Viewer in the following ways:" +msgstr "Μπορείτε να εκκινήσετε την Παρακολούθηση καταγραφών συστήματος με τους ακόλουθους τρόπους:" + +#: C/mate-system-log.xml:228(term) +msgid "Applications menu" +msgstr "Μενού Εφαρμογές" + +#: C/mate-system-log.xml:230(para) +msgid "Choose System ToolsLog File Viewer." +msgstr "Επιλέξτε Εργαλεία συστήματοςΠαρακολούθηση αρχείων καταγραφών." + +#: C/mate-system-log.xml:234(term) +msgid "Command line" +msgstr "Γραμμή εντολών" + +#: C/mate-system-log.xml:236(para) +msgid "Type mate-system-log, then press Return." +msgstr "Πληκτρολογήστε mate-system-log και έπειτα πιέστεReturn." + +#: C/mate-system-log.xml:243(para) +msgid "When you start System Log Viewer, the following window is displayed." +msgstr "Όταν ξεκινήσει η παρακολούθηση καταγραφών συστήματος τα ακόλουθα παράθυρα εμφανίζονται." + +#: C/mate-system-log.xml:247(title) +msgid "System Log Viewer Window" +msgstr " Παράθυρο Παρακολούθησης καταγραφών συστήματος" + +#: C/mate-system-log.xml:254(phrase) +msgid "Shows System Log Viewer main window. Contains menubar, display area, scrollbars, and statusbar." +msgstr "Εμφανίζει το κεντρικό παράθυρο καταγραφής συστήματος. Περιέχει την εργαλειοθήκη την γραμμή κατάστασης κ.α." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:260(para) +msgid "The first time you start System Log Viewer, the application displays several log files by default (such as /var/log/messages). Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window." +msgstr "Την πρώτη φορά ξεκινάτε την Παρακολούθηση καταγραφών συστήματος, η εφαρμογή εμφανίζει διάφορα αρχεία καταγραφής από προεπιλογή (όπως /var/log/messages). Οι καταγραφές βρίσκονται στο αριστερά μέρος στο παράθυρο της εφαρμογής. όποια επιλέξετε θα εμφανιστεί κέντρο του παράθυρου της εφαρμογής." + +#: C/mate-system-log.xml:268(para) +msgid "By default, System Log Viewer monitors every opened log, and any change appears automatically in the main window. See for more information." +msgstr "Από προεπιλογή ο, Οδηγός καταγραφής συστήματος επιτηρεί κάθε καταγραφή όταν αυτή ανοίγει, και κάθε αλλαγή εμφανίζεται αυτόματα στο κεντρικό παράθυρο. Κοιτάξτε για περισσότερες πληροφορίες. " + +#: C/mate-system-log.xml:277(title) +msgid "Usage" +msgstr "Χρήση" + +#: C/mate-system-log.xml:280(title) +msgid "To View a Log" +msgstr "Προβολή μίας καταγραφής" + +#: C/mate-system-log.xml:281(para) +msgid "To view a log, choose FileOpen. In the Open Log dialog, select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "Για να προβάλετε μια καταγραφή, επιλέξετε το παράθυρο διαλόγου Αρχείο Άνοιγμα ΜέσαΆνοιγμα ,επιλέξτε την καταγραφή που θέλετε να ανοίξετε , και έπειτα κάντε κλικ στο Άνοιγμα. Χρησιμοποιήστε το ρολάρισμα για να περιηγηθείτε στην καταγραφή." + +#: C/mate-system-log.xml:287(para) +msgid "You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window. To display another log already opened in System Log Viewer, select it in the log list." +msgstr "Μπορείτε να ανοίξετε όσες καταγραφές θέλετε. Η Παρακολούθηση καταγραφών συστήματος εμφανίζει μία καταγραφή την κάθε φορά στο παράθυρο Παρακολούθησης καταγραφών συστήματος Οι ανοιχτές καταγραφές βρίσκονται στα αριστερά στο παράθυρο της εφαρμογής. Η επιλεγμένη καταγραφή από αυτές εμφανίζετε στο κέντρο του παράθυρου της εφαρμογής. Για να εμφανίσετε μία από τις ήδη ανοιχτές καταγραφές στην Παρακολούθηση καταγραφής συστήματος επιλέξτε την από την λίστα αριστερά." + +#: C/mate-system-log.xml:295(para) +msgid "Note that System Log Viewer also lets you open zipped logs (whole filenames end in \".gz\")." +msgstr "Σημειώστε ότι η Παρακολούθηση καταγραφών συστήματος σας επιτρέπει να ανοίξετε συμπιεσμένα αρχεία καταγραφών (τα οποία έχουν κατάληξη σε \".gz\")." + +#: C/mate-system-log.xml:300(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Προς Αντιγραφή Γραμμών Καταγραφής στο Πρόχειρο" + +#: C/mate-system-log.xml:301(para) +msgid "To copy one or more log lines to the clipboard, just select the lines in the main area and choose the EditCopy menu option. If you want to copy the entire log to the clipboard, select it entirely using the EditSelect All menu option, then choose EditCopy." +msgstr "Για να αντιγράψετε μία ή περισσότερες γραμμές καταγραφών στο πρόχειρο, απλά επιλέξτε τις γραμμές κεντρικό παράθυρο και επιλέξτε ΕπεξεργασίαΑντιγραφή στο μενού επιλογές. Αν θέλετε να αντιγράψετε όλη την καταχώριση της καταγραφής στο πρόχειρο , επιλέξτε την καταχώριση χρησιμοποιώντας τις επιλογές μενού ΕπεξεργασίαΕπιλογή Όλα και έπειτα επιλέξτε ΕπεξεργασίαΑντιγραφή." + +#: C/mate-system-log.xml:313(title) +msgid "To Hide the Sidebar" +msgstr " Απόκρυψη Πλευρικής στήλης" + +#: C/mate-system-log.xml:314(para) +msgid "To hide the left sidebar, which contains the log list and calendar, just select the ViewSide pane menu option." +msgstr "Για να κρύψετε την μπάρα της αριστερής πλευράς, η οποία περιέχει την λίστα καταγραφών και το ημερολόγιο, επιλέξτε Προβολή Ταμπλό στο μενού επιλογές ." + +#: C/mate-system-log.xml:321(title) +msgid "To Monitor Logs" +msgstr "Επιτήρηση καταγραφών συστήματος." + +#: C/mate-system-log.xml:322(para) +msgid "You can use System Log Viewer to monitor logs. By default, all logs opened in System Log Viewer are monitored for changes. If new lines are added to a log monitored by System Log Viewer, the log name will appear in bold in the log list. If the log is currently displayed in the main area, the new lines will appear automatically at the end of the log and, after five seconds, the log name will turn back to normal in the list." +msgstr "Μπορείτε να χρησιμοποιήσετε τον Οδηγό καταγραφής συστήματος για να επιτηρήσετε μια καταγραφή.Από προεπιλογή όλες καταγραφές που ανοίγουν στον Οδηγό καταγραφής συστήματος επιτηρούνται για αλλαγές. Αν νέες γραμμές προστεθούν σε μια επιτηρούμενη καταγραφή από τον Οδηγό καταγραφής συστήματος , το όνομα της καταγραφής εμφανίζεται αυτόματα με έντονα γράμματα στην κύρια περιοχή, οι καινούριες γραμμές θα εμφανιστούν στο τέλος της καταγραφής, και μετά από πέντε δευτερόλεπτα το όνομα της καταγραφής θα επιστρέψει σε φυσιολογική εμφάνιση στην λίστα." + +#: C/mate-system-log.xml:333(title) +msgid "To View Log Information" +msgstr "Προς προβολή πληροφοριών καταγραφής" + +#: C/mate-system-log.xml:334(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "Οι πληροφορίες της καταγραφής εμφανίζονται στην γραμμή κατάστασης, συμπεριλαμβάνοντας " + +#: C/mate-system-log.xml:337(para) +msgid "Number of lines in the log." +msgstr "Αριθμός γραμμών στην καταγραφή." + +#: C/mate-system-log.xml:339(para) +msgid "Size of the log in bytes." +msgstr "Μέγεθος καταγραφών σε bytes." + +#: C/mate-system-log.xml:341(para) +msgid "Date the log was last modified." +msgstr "Ημερομηνία τελευταίας καταγραφής." + +#: C/mate-system-log.xml:344(para) +msgid "The status bar can be displayed or hidden using the ViewStatusbar option." +msgstr "Η Γραμμή κατάστασης μπορεί να είναι εμφανής ή και κρυφή, χρησιμοποιήστε τις επιλογές Προβολή Γραμμή κατάστασης." + +#: C/mate-system-log.xml:350(title) +msgid "To Close a Log" +msgstr "Προς Κλείσιμο μιας καταγραφής" + +#: C/mate-system-log.xml:351(para) +msgid "To close a log, choose FileClose." +msgstr "Για να κλείσετε μία καταγραφή επιλέξτε, ΑρχείοΚλείσιμο." + +#: C/mate-system-log.xml:357(title) +msgid "To Exit System Log Viewer" +msgstr "Για έξοδο από τον Οδηγό παρακολούθησης καταγραφών συστήματος" + +#: C/mate-system-log.xml:358(para) +msgid "To exit System Log Viewer, choose FileQuit." +msgstr "Για έξοδο από τον Οδηγό παρακολούθησης καταγραφών συστήματος επιλέξτε,ΑρχείοΈξοδος." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "" +"Ελληνική μεταφραστική ομάδα MATE\n" +" rizitis \n" +"\n" +"Για περισσότερα δείτε http://www.mate.gr/" + +#~ msgid "" +#~ "To stop monitoring a specific log, uncheck the ViewMonitor option. Check " +#~ "this option again to turn monitoring back on." +#~ msgstr "" +#~ "Για να σταματήσετε την επιτήρηση μιας συγκεκριμένης καταγραφής, από-" +#~ "επιλέξτε την επιλογή στο μενού Προβολή Οθόνη . Επιλέξτε την " +#~ "πάλι για να επιστέψει ο έλεγχος ξανά." + +#~ msgid "To Use the Calendar" +#~ msgstr "Χρήση Ημερολογίου" + +#~ msgid "" +#~ "By default, a calendar is displayed in the left side of the " +#~ "System Log Viewer window, under the log list. " +#~ "In this calendar, the dates present in the currently select log are " +#~ "displayed in bold. To jump to a particular date, select it in the " +#~ "calendar." +#~ msgstr "" +#~ "Από προεπιλογή το ημερολόγιο εμφανίζετε αριστερά από τον παράθυρο του " +#~ " Οδηγού καταγραφής συστήματος κάτω από την " +#~ "λίστα των καταγραφών. Μέσα στο ημερολόγιο, οι ημέρες που παρουσιάζουν την " +#~ "τρέχουσα καταγραφή εμφανίζονται με έντονα γράμματα. Για να πάτε σε μια " +#~ "άλλη ημέρα , επιλέξτε την στο ημερολόγιο ." + +#~ msgid "" +#~ "To hide the calendar, uncheck the ViewCalendar menu option." +#~ msgstr "" +#~ "Για να κρύψετε το ημερολόγιο θα πάτε στο μενού " +#~ "Προβολή Ημερολόγιο και " +#~ "θα από-μαρκάρετε την επιλογή." diff --git a/logview/help/en_GB/en_GB.po b/logview/help/en_GB/en_GB.po new file mode 100644 index 00000000..f22ac87d --- /dev/null +++ b/logview/help/en_GB/en_GB.po @@ -0,0 +1,592 @@ +# Philip Withnall , 2009. +msgid "" +msgstr "" +"Project-Id-Version: bug-buddy-docs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-12 07:18+0100\n" +"PO-Revision-Date: 2009-03-02 23:19+0000\n" +"Last-Translator: Philip Withnall \n" +"Language-Team: British English \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: ../C/mate-system-log.xml:233(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "" +"@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" + +#: ../C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "System Log Viewer Manual" + +#: ../C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." + +#: ../C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: ../C/mate-system-log.xml:32(holder) ../C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: ../C/mate-system-log.xml:35(year) ../C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: ../C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: ../C/mate-system-log.xml:47(publishername) +#: ../C/mate-system-log.xml:66(orgname) ../C/mate-system-log.xml:101(para) +#: ../C/mate-system-log.xml:111(para) ../C/mate-system-log.xml:121(para) +#: ../C/mate-system-log.xml:131(para) ../C/mate-system-log.xml:141(para) +#: ../C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "MATE Documentation Project" + +#: ../C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation Licence (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." + +#: ../C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the licence to the manual, as described in " +"section 6 of the licence." + +#: ../C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." + +#: ../C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY AND PERFORMANCE OF THE DOCUMENT OR MODIFIED " +"VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION " +"PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY " +"CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR " +"CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF " +"THIS LICENCE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS " +"AUTHORISED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" + +#: ../C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR " +"ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY " +"CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK " +"STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR " +"LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." + +#: ../C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENCE WITH THE FURTHER UNDERSTANDING THAT: " +"" + +#: ../C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: ../C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "MATE Documentation Team" + +#: ../C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: ../C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: ../C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: ../C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: ../C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: ../C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: ../C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: ../C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "System Log Viewer Manual V2.4" + +#: ../C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "October 2005" + +#: ../C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: ../C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "System Log Viewer Manual V2.3" + +#: ../C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "October 2002" + +#: ../C/mate-system-log.xml:108(para) ../C/mate-system-log.xml:118(para) +#: ../C/mate-system-log.xml:128(para) ../C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun MATE Documentation Team gdocteam@sun.com" + +#: ../C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "System Log Viewer Manual V2.2" + +#: ../C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "August 2002" + +#: ../C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "System Log Viewer Manual V2.1" + +#: ../C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "July 2002" + +#: ../C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "System Log Viewer Manual V2.0" + +#: ../C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "May 2002" + +#: ../C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "Logview Manual" + +#: ../C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: ../C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "This manual describes version 2.12 of System Log Viewer." + +#: ../C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "Feedback" + +#: ../C/mate-system-log.xml:160(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." + +#: ../C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "System Log Viewer" + +#: ../C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Introduction" + +#: ../C/mate-system-log.xml:179(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a calendar, log monitor and log " +"statistics display." +msgstr "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a calendar, log monitor and log " +"statistics display." + +#: ../C/mate-system-log.xml:187(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a calendar to help you " +"locate trends and track problems, as well as a monitor to enable you to " +"continuously monitor crucial logs." +msgstr "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a calendar to help you " +"locate trends and track problems, as well as a monitor to enable you to " +"continuously monitor crucial logs." + +#: ../C/mate-system-log.xml:197(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." + +#: ../C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Getting Started" + +#: ../C/mate-system-log.xml:206(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"You can start System Log Viewer in the following " +"ways:" + +#: ../C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "Applications menu" + +#: ../C/mate-system-log.xml:212(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"Choose System ToolsLog " +"File Viewer." + +#: ../C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Command line" + +#: ../C/mate-system-log.xml:218(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Type mate-system-log, then press Return." + +#: ../C/mate-system-log.xml:225(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"When you start System Log Viewer, the following " +"window is displayed." + +#: ../C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "System Log Viewer Window" + +#: ../C/mate-system-log.xml:236(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Shows the System Log Viewer main window. Contains menubar, display area, " +"scrollbars and statusbar." + +#. ==== End of Figure ==== +#: ../C/mate-system-log.xml:242(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." + +#: ../C/mate-system-log.xml:250(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." + +#: ../C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Usage" + +#: ../C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "To View a Log" + +#: ../C/mate-system-log.xml:263(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"To view a log, choose FileOpen. In the Open Log dialogue, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." + +#: ../C/mate-system-log.xml:269(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." + +#: ../C/mate-system-log.xml:277(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." + +#: ../C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "To Copy Log Lines to the Clipboard" + +#: ../C/mate-system-log.xml:283(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." + +#: ../C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "To Hide the Sidebar" + +#: ../C/mate-system-log.xml:296(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." + +#: ../C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "To Monitor Logs" + +#: ../C/mate-system-log.xml:304(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." + +#: ../C/mate-system-log.xml:312(para) +msgid "" +"To stop monitoring a specific log, uncheck the ViewMonitor option. Check this " +"option again to turn monitoring back on." +msgstr "" +"To stop monitoring a specific log, uncheck the ViewMonitor option. Check this " +"option again to turn monitoring back on." + +#: ../C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "To Use the Calendar" + +#: ../C/mate-system-log.xml:320(para) +msgid "" +"By default, a calendar is displayed in the left side of the " +"System Log Viewer window, under the log list. In " +"this calendar, the dates present in the currently select log are displayed " +"in bold. To jump to a particular date, select it in the calendar." +msgstr "" +"By default, a calendar is displayed in the left side of the " +"System Log Viewer window, under the log list. In " +"this calendar, the dates present in the currently select log are displayed " +"in bold. To jump to a particular date, select it in the calendar." + +#: ../C/mate-system-log.xml:325(para) +msgid "" +"To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "" +"To hide the calendar, uncheck the ViewCalendar menu option." + +#: ../C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "To View Log Information" + +#: ../C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "Log information are generally displayed in the status bar, including:" + +#: ../C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "Number of lines in the log." + +#: ../C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "Size of the log in bytes." + +#: ../C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "Date the log was last modified." + +#: ../C/mate-system-log.xml:342(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." + +#: ../C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "To Close a Log" + +#: ../C/mate-system-log.xml:349(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"To close a log, choose FileClose." + +#: ../C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "To Exit System Log Viewer" + +#: ../C/mate-system-log.xml:356(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"To exit System Log Viewer, choose " +"FileQuit." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: ../C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "David Lodge , 2007" diff --git a/logview/help/es/es.po b/logview/help/es/es.po new file mode 100644 index 00000000..68ae5fab --- /dev/null +++ b/logview/help/es/es.po @@ -0,0 +1,622 @@ +# translation of logview.master.po to Español +# Spanish translation for logview manual +# +# Jorge Gonzalez , 2005. +# Francisco Javier F. Serrador , 2005, 2006. +# Jorge González , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: logview.master\n" +"POT-Creation-Date: 2009-12-14 21:53+0000\n" +"PO-Revision-Date: 2009-12-29 20:22+0100\n" +"Last-Translator: Jorge González \n" +"Language-Team: Español \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Report-Msgid-Bugs-To: \n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:251(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" +msgstr "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Manual del visor de Registros de actividad del sistema" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"El visor de Registros de actividad del sistema es un visor gráfico para ver " +"y monitorizar los archivos de registro del sistema." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:165(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:110(para) C/mate-system-log.xml:120(para) +#: C/mate-system-log.xml:130(para) C/mate-system-log.xml:140(para) +#: C/mate-system-log.xml:150(para) C/mate-system-log.xml:160(para) +#: C/mate-system-log.xml:170(para) +msgid "MATE Documentation Project" +msgstr "Proyecto de documentación de MATE" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"Se otorga permiso para copiar, distribuir y/o modificar este documento bajo " +"los términos de la Licencia de Documentación Libre de GNU, Versión 1.1 o " +"cualquier otra versión posterior publicada por la Free Software Foundation; " +"sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de " +"Cubierta Trasera. Puede encontrar una copia de la licencia GFDL en este " +"enlace o en el archivo " +"COPYING-DOCS distribuido con este manual." + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"Este manual es parte de una colección de manuales de MATE distribuido bajo " +"la GFDL. Si quiere distribuir este manual por separado de la colección, " +"puede hacerlo añadiendo una copia de la licencia al manual, tal como se " +"describe en la sección 6 de la licencia." + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"Muchos de los nombres usados por compañías para distinguir sus productos y " +"servicios son mencionados como marcas comerciales. Donde esos nombres " +"aparezcan en cualquier documentación de MATE, y los miembros del Proyecto " +"de Documentación de MATE están al corriente de esas marcas comerciales, " +"entonces los nombres se pondrán en mayúsculas o con la inicial en mayúsculas." + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"EL DOCUMENTO SE PROPORCIONA \"TAL CUAL\", SIN GARANTÍA DE NINGÚN TIPO, NI " +"EXPLÍCITA NI IMPLÍCITA INCLUYENDO, SIN LIMITACIÓN, GARANTÍA DE QUE EL " +"DOCUMENTO O VERSIÓN MODIFICADA DE ÉSTE CAREZCA DE DEFECTOS COMERCIALES, SEA " +"ADECUADO A UN FIN CONCRETO O INCUMPLA ALGUNA NORMATIVA. TODO EL RIESGO " +"RELATIVO A LA CALIDAD, PRECISIÓN Y UTILIDAD DEL DOCUMENTO O SU VERSIÓN " +"MODIFICADA RECAE EN USTED. SI CUALQUIER DOCUMENTO O VERSIÓN MODIFICADA DE " +"AQUÉL RESULTARA DEFECTUOSO EN CUALQUIER ASPECTO, USTED (Y NO EL REDACTOR " +"INICIAL, AUTOR O CONTRIBUYENTE) ASUMIRÁ LOS COSTES DE TODA REPARACIÓN, " +"MANTENIMIENTO O CORRECCIÓN NECESARIOS. ESTA RENUNCIA DE GARANTÍA ES UNA " +"PARTE ESENCIAL DE ESTA LICENCIA. NO SE AUTORIZA EL USO DE NINGÚN DOCUMENTO " +"NI VERSIÓN MODIFICADA DE ÉSTE POR EL PRESENTE, SALVO DENTRO DEL CUMPLIMIENTO " +"DE LA RENUNCIA;Y" + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"BAJO NINGUNA CIRCUNSTANCIA NI BAJO NINGUNA TEORÍA LEGAL, SEA POR ERROR " +"(INCLUYENDO NEGLIGENCIA), CONTRATO O DE ALGÚN OTRO MODO, EL AUTOR, EL " +"ESCRITOR INICIAL, CUALQUIER CONTRIBUIDOR, O CUALQUIER DISTRIBUIDOR DEL " +"DOCUMENTO O VERSIÓN MODIFICADA DEL DOCUMENTO, O CUALQUIER PROVEEDOR DE " +"CUALQUIERA DE ESAS PARTES, SERÁ RESPONSABLE ANTE NINGUNA PERSONA POR NINGÚN " +"DAÑO DIRECTO, INDIRECTO, ESPECIAL, INCIDENTAL O DERIVADO DE NINGÚN TIPO, " +"INCLUYENDO, SIN LIMITACIÓN DAÑOS POR PÉRDIDA DE MERCANCÍAS, PARO TÉCNICO, " +"FALLO INFORMÁTICO O MAL FUNCIONAMIENTO O CUALQUIER OTRO POSIBLE DAÑO O " +"PÉRDIDAS DERIVADAS O RELACIONADAS CON EL USO DEL DOCUMENTO O SUS VERSIONES " +"MODIFICADAS, AUNQUE DICHA PARTE HAYA SIDO INFORMADA DE LA POSIBILIDAD DE QUE " +"SE PRODUJESEN DICHOS DAÑOS." + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"ESTE DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO SE PROPORCIONAN SEGÚN " +"LAS CONDICIONES ESTABLECIDAS EN LA LICENCIA DE DOCUMENTACIÓN LIBRE DE GNU " +"(GFDL) Y TENIENDO EN CUENTA QUE: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) C/mate-system-log.xml:75(orgname) +msgid "MATE Documentation Team" +msgstr "Equipo de documentación de MATE" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Paul" +msgstr "Paul" + +#: C/mate-system-log.xml:73(surname) +msgid "Cutler" +msgstr "Cutler" + +#: C/mate-system-log.xml:76(email) +msgid "pcutler@gnome.org" +msgstr "pcutler@gnome.org" + +#: C/mate-system-log.xml:81(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:82(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:84(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:104(revnumber) +#| msgid "System Log Viewer Manual V2.4" +msgid "System Log Viewer Manual V2.5" +msgstr "Manual del visor de registros del sistema V2.5" + +#: C/mate-system-log.xml:105(date) +#| msgid "October 2005" +msgid "October 2009" +msgstr "Octubre de 2009" + +#: C/mate-system-log.xml:107(para) +msgid "Paul Cutler pcutler@gnome.org" +msgstr "Paul Cutler pcutler@gnome.org" + +#: C/mate-system-log.xml:114(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Manual del visor de registros del sistema V2.4" + +#: C/mate-system-log.xml:115(date) +msgid "October 2005" +msgstr "Octubre de 2005" + +#: C/mate-system-log.xml:117(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:124(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Manual del visor de registros del sistema V2.3" + +#: C/mate-system-log.xml:125(date) +msgid "October 2002" +msgstr "Octubre de 2003" + +#: C/mate-system-log.xml:127(para) C/mate-system-log.xml:137(para) +#: C/mate-system-log.xml:147(para) C/mate-system-log.xml:157(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "" +"Equipo de documentación de MATE de Sun gdocteam@sun.com" + +#: C/mate-system-log.xml:134(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Manual del visor de registros del sistema V2.2" + +#: C/mate-system-log.xml:135(date) +msgid "August 2002" +msgstr "Agosto de 2002" + +#: C/mate-system-log.xml:144(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Manual del visor de registros del sistema V2.1" + +#: C/mate-system-log.xml:145(date) +msgid "July 2002" +msgstr "Julio de 2002" + +#: C/mate-system-log.xml:154(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Manual del visor de registros del sistema V2.0" + +#: C/mate-system-log.xml:155(date) +msgid "May 2002" +msgstr "Mayo de 2002" + +#: C/mate-system-log.xml:164(revnumber) +msgid "Logview Manual" +msgstr "Manual del visor de registros" + +#: C/mate-system-log.xml:167(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:175(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "" +"Este manual describe la versión 2.12 del Visor de registros del sistema." + +#: C/mate-system-log.xml:178(title) +msgid "Feedback" +msgstr "Comentarios" + +#: C/mate-system-log.xml:179(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"Para informar de un fallo, o hacer alguna sugerencia concerniente al Visor " +"de registros del sistema o este manual, siga las indicaciones en la Página de contacto de MATE." + +#: C/mate-system-log.xml:189(primary) +msgid "System Log Viewer" +msgstr "Visor de registros del sistema" + +#: C/mate-system-log.xml:196(title) +msgid "Introduction" +msgstr "Introducción" + +#: C/mate-system-log.xml:198(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a log monitor and log statistics " +"display." +msgstr "" +"Visor de registros del sistema es un visor " +"gráfico, con menús que puede usar para ver y monitorizar los archivos de " +"registro del sistema. El Visor de registros del sistema viene con unas pocas funciones que le pueden ayudar a gestionar " +"sus registros, incluyendo un monitor de registros y un visor de estadísticas " +"de registros." + +#: C/mate-system-log.xml:206(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a monitor to enable you " +"to continuously monitor crucial logs." +msgstr "" +"El Visor de registros del sistema es útil si es " +"nuevo en la administración de sistemas porque proporciona una manera de ver " +"sus registros más amigable y fácil que un simple visor de texto. También es " +"útil para los administradores con mas experiencia, debido a que contiene un " +"calendario para ayudarle a localizar tendencias y perseguir problemas, así " +"como un monitor que le permite vigilar continuamente los registros cruciales." + +#: C/mate-system-log.xml:215(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"Visor de registros del sistema es útil sólo para " +"aquellos que tengan acceso a los registros del sistema, lo que generalmente " +"requiere acceso como administrador." + +#: C/mate-system-log.xml:222(title) +msgid "Getting Started" +msgstr "Iniciando" + +#: C/mate-system-log.xml:224(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"Puede iniciar elVisor de registros del sistema de " +"las siguientes formas:" + +#: C/mate-system-log.xml:228(term) +msgid "Applications menu" +msgstr "Menú Aplicaciones" + +#: C/mate-system-log.xml:230(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"Elija Herramientas del sistemaVisor de archivos de sucesos." + +#: C/mate-system-log.xml:234(term) +msgid "Command line" +msgstr "Línea de comandos" + +#: C/mate-system-log.xml:236(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Teclee mate-system-log, y pulse Intro." + +#: C/mate-system-log.xml:243(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"Cuando inicie el Visor de registros del sistema, " +"se mostrará la siguiente ventana." + +#: C/mate-system-log.xml:247(title) +msgid "System Log Viewer Window" +msgstr "Ventana del «Visor de registros del sistema»" + +#: C/mate-system-log.xml:254(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Muestra la ventana principal del Visor de registros del sistema. Contiene la " +"barra de menú, el área de visualización, barras de desplazamiento y barra de " +"estado." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:260(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"La primera vez que inicia el Visor de registros del sistema, la aplicación muestra varios archivos de registro por omisión " +"(como /car/log/messages). Los registros abiertos se " +"listan en el lado izquierdo de la ventana de la aplicación. El registro " +"seleccionado en esta lista se muestra en el área principal de la ventana de " +"la aplicación." + +#: C/mate-system-log.xml:268(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"Por omisión, el Visor de registros del sistema " +"monitoriza cada registro abierto, y cualquier cambio aparece automáticamente " +"en la ventana principal. Vea la para más " +"información." + +#: C/mate-system-log.xml:277(title) +msgid "Usage" +msgstr "Uso" + +#: C/mate-system-log.xml:280(title) +msgid "To View a Log" +msgstr "Para ver un registro" + +#: C/mate-system-log.xml:281(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"Para ver un registro elija ArchivoAbrir. En el diálogo " +"Abrir registro, seleccione el archivo que quiera abrir, " +"después pulse Abrir.Use las barras de desplazamiento " +"para moverse por el registro." + +#: C/mate-system-log.xml:287(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"Puede abrir tantos registros como quiera. El Visor de registros " +"del sistema muestra un registro cada vez en la ventana del " +"Visor de registros del sistema. Los registros " +"abiertos se muestran en el lado izquierdo de la ventana de aplicaciones. El " +"registro seleccionado en esta lista se muestra en el área principal de la " +"ventana de aplicaciones. Para mostrar otro registro ya abierto en el " +"Visor de registros del sistema, selecciónelo en " +"la lista de registros." + +#: C/mate-system-log.xml:295(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"Note que el Visor de registros del sistema " +"también le permite abrir registros comprimidos (cuyos nombres de archivo " +"terminan en «.gz»)." + +#: C/mate-system-log.xml:300(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Para copiar líneas de registros al portapapeles" + +#: C/mate-system-log.xml:301(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"Para copiar una o más líneas al portapapeles, tan sólo seleccione las líneas " +"en el área principal y elija la opción de menú EditarCopiar. Si quiere copiar el " +"registro entero al portapapeles, selecciónelo por completo usando la opción " +"de menú EditarSeleccionar todo, después elija EditarCopiar." + +#: C/mate-system-log.xml:313(title) +msgid "To Hide the Sidebar" +msgstr "Para ocultar la barra lateral" + +#: C/mate-system-log.xml:314(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"Para ocultar la barra lateral de la izquierda, que contiene la lista de " +"registros y el calendario, tan sólo seleccione la opción de menú " +"VerPanel lateral." + +#: C/mate-system-log.xml:321(title) +msgid "To Monitor Logs" +msgstr "Para monitorizar registros" + +#: C/mate-system-log.xml:322(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"Puede usar el Visor de registros del sistema para " +"monitorizar registros. Por omisión, todos los registros abiertos en el " +"Visor de registros del sistema se monitorizan. Si " +"se añaden líneas nuevas a un registro monitorizado por el Visor " +"de registros del sistema, el nombre del registro aparecerá en " +"negrita en la lista de registros. Si el registro está actualmente mostrado " +"en el área principal, las líneas nuevas aparecerán automáticamente al final " +"del registro, y después de cinco segundos, el nombre del registro volverá a " +"ponerse normal en la lista." + +#: C/mate-system-log.xml:333(title) +msgid "To View Log Information" +msgstr "Para ver la información del registro" + +#: C/mate-system-log.xml:334(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" +"La información del registro se muestra generalmente en la barra de estado, " +"incluyendo:" + +#: C/mate-system-log.xml:337(para) +msgid "Number of lines in the log." +msgstr "Número de líneas en el registro." + +#: C/mate-system-log.xml:339(para) +msgid "Size of the log in bytes." +msgstr "Tamaño del registro en bytes." + +#: C/mate-system-log.xml:341(para) +msgid "Date the log was last modified." +msgstr "Fecha en que se modificó el registro por última vez." + +#: C/mate-system-log.xml:344(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"La barra de estado se puede mostrar u ocultar usando la opción " +"VerBarra de estado." + +#: C/mate-system-log.xml:350(title) +msgid "To Close a Log" +msgstr "Para cerrar un registro" + +#: C/mate-system-log.xml:351(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"Para cerrar un registro, elija ArchivoCerrar." + +#: C/mate-system-log.xml:357(title) +msgid "To Exit System Log Viewer" +msgstr "Para salir del visor de registros" + +#: C/mate-system-log.xml:358(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"Para salir del Visor de registros del sistema, " +"elija ArchivoSalir." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "" +"Jorge González , 2005, 2009\n" +"Francisco Javier F. Serrador , 2006" + +#~ msgid "" +#~ "To stop monitoring a specific log, uncheck the ViewMonitor option. Check " +#~ "this option again to turn monitoring back on." +#~ msgstr "" +#~ "Para parar de monitorizar un registro específico, desmarque la opción " +#~ "VerMonitorizar. Marque esta opción de nuevo para activar la monitorización " +#~ "otra vez." diff --git a/logview/help/es/figures/syslog_window.png b/logview/help/es/figures/syslog_window.png new file mode 100644 index 00000000..829fb4cd Binary files /dev/null and b/logview/help/es/figures/syslog_window.png differ diff --git a/logview/help/eu/eu.po b/logview/help/eu/eu.po new file mode 100644 index 00000000..9139811f --- /dev/null +++ b/logview/help/eu/eu.po @@ -0,0 +1,347 @@ +# translation of logview_help.HEAD.po to Basque +# Iñaki Larrañaga Murgoitio , 2008. +msgid "" +msgstr "" +"Project-Id-Version: logview_help.HEAD\n" +"POT-Creation-Date: 2007-09-04 03:34+0100\n" +"PO-Revision-Date: 2008-12-14 18:45+0100\n" +"Last-Translator: Iñaki Larrañaga Murgoitio \n" +"Language-Team: Basque \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:233(None) +msgid "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Sistemaren egunkarien ikustailearen eskuliburua" + +#: C/mate-system-log.xml:26(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system log files." +msgstr "Sistemaren egunkarien ikustailea menuetan oinarritutako aplikazio grafikoa da eta sistemako egunkari-fitxategiak ikusteko eta kontrolatzeko erabil dezakezu." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems " + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) C/mate-system-log.xml:101(para) C/mate-system-log.xml:111(para) C/mate-system-log.xml:121(para) C/mate-system-log.xml:131(para) C/mate-system-log.xml:141(para) C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "MATEren dokumentazio-proiektua" + +#: C/mate-system-log.xml:2(para) +msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." +msgstr "Baimena ematen da dokumentu hau kopiatu, banatu eta/edo aldatzeko Free Software Foundation-ek argitaratutako GNU Dokumentazio Librearen Lizentziaren 1.1. bertsioan edo berriago batean ezarritako baldintzak betetzen badira; Atal Aldaezinik, Aurreko azaleko testurik eta Atzeko azaleko testurik gabe. GFDL lizentziaren kopia esteka honetan edo eskuliburu honekin batera ematen den COPYING-DOCS fitxategian aurkituko duzu." + +#: C/mate-system-log.xml:12(para) +msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license." +msgstr "Eskuliburu hau GFDL lizentziarekin banatzen diren MATE eskuliburuen bildumakoa da. Eskuliburu hau bildumatik bereizita banatu nahi baduzu, bana dezakezu, baina eskuliburuari lizentziaren kopia bat gehitu beharko diozu, lizentzian bertan 6. atalean azaltzen den bezala." + +#: C/mate-system-log.xml:19(para) +msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters." +msgstr "Enpresek euren produktu eta zerbitzuak bereizteko erabiltzen dituzten izen asko marka erregistratu moduan hartu behar dira. Izen horiek MATEren edozein agiritan agertzen direnean, eta MATEren Dokumentazio Proiektuko kideak marka komertzialak direla konturatu badira, orduan izen horiek maiuskulaz idatzita egongo dira, osorik edo hasierako letra maiuskulaz jarrita." + +#: C/mate-system-log.xml:35(para) +msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "DOKUMENTUA \"DAGOEN-DAGOENEAN\" EMATEN DA, INOLAKO BERMERIK GABE, EZ ESPRESUKI ADIERAZITAKORIK ETA EZ INPLIZITURIK ERE; BESTEAK BESTE (MUGARIK GABE), EZ DA BERMATZEN DOKUMENTUA EDO BERTSIO ALDATUA AKATSIK GABEA DENIK, MERKATURATZEKO EDO XEDE JAKIN BATERAKO EGOKIA DENIK EDO ARAURIK HAUSTEN EZ DUENIK. DOKUMENTUAREN EDO DOKUMENTUAREN BERTSIO ALDATUAREN KALITATEARI, ZEHAZTASUNARI ETA PERFORMANTZIARI BURUZKO ERANTZUKIZUN OSOA ZUREA DA. DOKUMENTUREN BATEK EDO BERTSIO ALDATUREN BATEK EDOZEIN MOTATAKO AKATSIK IZANEZ GERO, ZUK (EZ HASIERAKO IDAZLEAK, EZ EGILEAK ETA EZ INONGO KOLABORATZAILEK) ZEURE GAIN HARTU BEHARKO DUZU BERRIKUSTEKO, KONPONTZEKO EDO ZUZENTZEKO BEHARREZKO ZERBITZU GUZTIEN KOSTUA. BERME-UKATZE HAU LIZENTZIA HONEN FUNTSEZKO ZATIA DA. EZ DA BAIMENIK EMATEN EZEIN DOKUMENTU EDO BERTSIO ALDATU ERABILTZEKO, BALDIN ETA EZ BADA BERME-UKATZE HAU ONARTZEN." + +#: C/mate-system-log.xml:55(para) +msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES." +msgstr "EZINGO DA INONGO ZIRKUNSTANTZIA EDO LEGE-TEORIARIK OINARRI HARTU --EZ ERANTZUKIZUN ZIBILARI BURUZKORIK (ZABARKERIA BARNE HARTUTA) EZ KONTRATUARI BURUZKORIK, EZ BESTERIK-- DOKUMENTU HONEN EDO BERTSIO ALDATU BATEN EGILEA, HASIERAKO IDAZLEA, EDOZEIN KOLABORATZAILE EDO BANATZAILE, EDO ALDERDI HORIEN EDOZEIN HORNITZAILE BESTE PERTSONA BATEN AURREAN ERANTZULE EGITEKO, PERTSONA HORREK EDOZEIN MOTATAKO KALTE ZUZENEKO, ZEHARKAKO, BEREZI, INTZIDENTAL EDO ONDORIOZKOAK JASAN DITUELAKO, BESTEAK BESTE (MUGARIK GABE), BEZEROAK GALTZEAREN, LANA ETEN BEHARRAREN, ORDENAGAILUAK EZ IBILTZEAREN EDO GAIZKI IBILTZEAREN ONDORIOZKO KALTEAK, EDO DOKUMENTUA NAHIZ HAREN BERTSIO ALDATUAK ERABILTZETIK ONDORIOZTATZEN DIREN EDO ERABILERA HORREKIN ZERIKUSIA DUEN EDOZEIN KALTE EDO GALERA, ALDERDIARI KALTE HORIEK GERTA ZITEZKEELA ADITZERA EMAN BAZAIO ERE." + +#: C/mate-system-log.xml:28(para) +msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +msgstr "DOKUMENTUA ETA DOKUMENTUAREN BERTSIO ALDATUAK GNU DOKUMENTAZIO LIBREAREN LIZENTZIAREN BALDINTZEN ARABERA EMATEN DIRA, ETA ONDOREN ZEHAZTEN DIRENAK ONARTZERA BEHARTZEN DUTE: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "MATEren dokumentazio-taldea" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Sistemaren egunkarien ikustailearen eskuliburua 2.4 bertsioa" + +#: C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "2005eko urria" + +#: C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Sistemaren egunkarien ikustailearen eskuliburua 2.3 bertsioa" + +#: C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "2002ko urria" + +#: C/mate-system-log.xml:108(para) C/mate-system-log.xml:118(para) C/mate-system-log.xml:128(para) C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun-eko MATEren dokumentazio-taldea gdocteam@sun.com " + +#: C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Sistemaren egunkarien ikustailearen eskuliburua 2.2 bertsioa" + +#: C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "2002ko abuztua" + +#: C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Sistemaren egunkarien ikustailearen eskuliburua 2.1 bertsioa" + +#: C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "2002ko uztaila" + +#: C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Sistemaren egunkarien ikustailearen eskuliburua 2.0 bertsioa" + +#: C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "2002ko maiatza" + +#: C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "Logview-ren eskuliburua" + +#: C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Sistemaren egunkarien ikustailearen 2.12 bertsioa azaltzen da eskuliburu honetan." + +#: C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "Ohar-bidaltzea" + +#: C/mate-system-log.xml:160(para) +msgid "To report a bug or make a suggestion regarding the System Log Viewer application or this manual, follow the directions in the MATE Feedback Page." +msgstr "Sistemaren egunkarien ikustaileari buruzko akatsen berri emateko edo oharrak bidaltzeko, MATEra oharrak bidaltzeko orrian aurkituko dituzu argibideak." + +#: C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "Sistemaren egunkarien ikustailea" + +#: C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Sarrera" + +#: C/mate-system-log.xml:179(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system logs. System Log Viewer comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display." +msgstr "Sistemaren egunkarien ikustailea menuetan oinarritutako aplikazio grafikoa da eta sistemaren egunkari-fitxategiak ikusteko eta kontrolatzeko erabil dezakezu. Egunkariak kudeatzen laguntzeko zenbait funtzio ditu Sistemaren egunkarien ikustailea aplikazioak, hala nola egutegia, egunkarien kontrola eta egunkarien estatistikak bistaratzea." + +#: C/mate-system-log.xml:187(para) +msgid "System Log Viewer is useful if you are new to system administration because it provides an easier, more user-friendly display of your logs than a text display of the log file. It is also useful for more experienced administrators, as it contains a calendar to help you locate trends and track problems, as well as a monitor to enable you to continuously monitor crucial logs." +msgstr "Sistemaren egunkarien ikustailea erabilgarria da sistemak administratzen berria bazara, testua bistaratzea baino erabilerrazagoa baita egunkari-fitxategiak ikusteko. Esperientzia handiagoko administratzaileentzat ere erabilgarria da joerak eta segimendu-problemak lokalizatzen laguntzen duen egutegia baitu, bai eta egunkari garrantzitsuak etengabe kontrolatzeko aukera ematen duen monitorea ere." + +#: C/mate-system-log.xml:197(para) +msgid "System Log Viewer is useful only to those who have access to the system log files, which generally requires root access." +msgstr "sistemaren egunkari-fitxategietara sarbidea dutenek bakarrik erabil dezakete Sistemaren egunkarien ikustailea aplikazioa, eta, horretarako, root erabiltzailea izan behar da gehienetan." + +#: C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Erabiltzen hastea" + +#: C/mate-system-log.xml:206(para) +msgid "You can start System Log Viewer in the following ways:" +msgstr "Aukera hauek dituzu Sistemaren egunkarien ikustailea abiarazteko:" + +#: C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "Aplikazioak menua" + +#: C/mate-system-log.xml:212(para) +msgid "Choose System ToolsSystem Log." +msgstr "Aukeratu Sistema-tresnakSistemaren egunkaria." + +#: C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Komando-lerroa" + +#: C/mate-system-log.xml:218(para) +msgid "Type mate-system-log, then press Return." +msgstr "Idatzi mate-system-log, eta sakatu Sartu." + +#: C/mate-system-log.xml:225(para) +msgid "When you start System Log Viewer, the following window is displayed." +msgstr "Sistemaren egunkarien ikustailea abiaraztean, leiho hau bistaratuko da." + +#: C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "Sistemaren egunkarien ikustailearen leihoa" + +#: C/mate-system-log.xml:236(phrase) +msgid "Shows System Log Viewer main window. Contains menubar, display area, scrollbars, and statusbar." +msgstr "Sistemaren egunkarien ikustailearen leiho nagusia erakusten du. Menu-barra, bistaratze-area, korritze-barrak eta egoera-barra ditu. " + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:242(para) +msgid "The first time you start System Log Viewer, the application displays several log files by default (such as /var/log/messages). Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window." +msgstr "Sistemaren egunkarien ikustailea lehen aldiz abiaraztean, zenbait egunkari-fitxategi bistaratzen dira lehenespenez (adibidez, /var/log/messages). Irekitako egunkariak aplikazio-leihoaren ezkerraldean zerrendatzen dira. Zerrenda horretan hautatutako egunkaria, aplikazio-leihoaren area nagusian bistaratzen da." + +#: C/mate-system-log.xml:250(para) +msgid "By default, System Log Viewer monitors every opened log, and any change appears automatically in the main window. See for more information." +msgstr "Lehenespenez, Sistemaren Egunkarien ikustaileak irekita dauden egunkari guztiak kontrolatzen ditu, eta aldaketa guztiak automatikoki agertzen dira leiho nagusian. Informazio gehiago nahi izanez gero, ikus ." + +#: C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Erabilera" + +#: C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "Egunkari bat ikustea" + +#: C/mate-system-log.xml:263(para) +msgid "To view a log, choose LogOpen. In the Open Log dialog, select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "Egunkari bat ikusteko, aukeratu EgunkariaIreki. Ireki egunkaria elkarrizketa koadroan, hautatu ireki nahi duzun egunkaria eta egin klik Ireki botoian. Erabili korritze-barra egunkarian batetik bestera mugitzeko." + +#: C/mate-system-log.xml:269(para) +msgid "You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window. To display another log already opened in System Log Viewer, select it in the log list." +msgstr "Nahi beste egunkari ireki ditzakezu. Sistemaren egunkarien ikustailea aplikazioak egunkariak banan-banan irekitzen ditu Sistemaren egunkarien ikustailearen leihoan. Irekitako egunkariak aplikazio-leihoaren ezkerraldean zerrendatzen dira. Zerrenda horretan hautatutako egunkaria, aplikazio-leihoaren area nagusian bistaratzen da. Sistemaren egunkarien ikustailean jada irekita dagoen beste egunkari bat bistaratzeko, hauta ezazu egunkari-zerrendan." + +#: C/mate-system-log.xml:277(para) +msgid "Note that System Log Viewer also lets you open zipped logs (whole filenames end in \".gz\")." +msgstr "Kontuan izan konprimitutako egunkariak ere irekitzen dituela Sistemaren egunkarien ikustaileak." + +#: C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Egunkari-lerroak arbelean itsastea" + +#: C/mate-system-log.xml:283(para) +msgid "To copy one or more log lines to the clipboard, just select the lines in the main area and choose the EditCopy menu option. If you want to copy the entire log to the clipboard, select it entirely using the EditSelect All menu option, then choose EditCopy." +msgstr "Egunkari-lerro bat edo gehiago arbelean itsasteko, hautatu lerroak area nagusian eta aukeratu EditatuKopiatu menu-aukera. Egunkari osoa arbelean itsatsi nahi baduzu, hauta ezazu osoa EditatuHautatu denak menu-aukera erabiliz, eta aukeratu EditatuKopiatu" + +#: C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "Alboko barra gordetzea" + +#: C/mate-system-log.xml:296(para) +msgid "To hide the left sidebar, which contains the log list and calendar, just select the ViewSidebar menu option." +msgstr "Egunkari-zerrenda eta egutegia dauzkan ezkerreko alboko barra gordetzeko, hautatu IkusiAlboko barra menu-aukera." + +#: C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "Egunkariak kontrolatzea" + +#: C/mate-system-log.xml:304(para) +msgid "You can use System Log Viewer to monitor logs. By default, all logs opened in System Log Viewer are monitored for changes. If new lines are added to a log monitored by System Log Viewer, the log name will appear in bold in the log list. If the log is currently displayed in the main area, the new lines will appear automatically at the end of the log and, after five seconds, the log name will turn back to normal in the list." +msgstr "Sistemaren egunkarien ikustailea aplikazioa erabil dezakezu egunkariak kontrolatzeko. Lehenespenez, Sistemaren egunkarien ikustailean irekitako egunkari guztien aldaketak kontrolatzen dira. Sistemaren egunkarien ikustailearen bidez kontrolatutako egunkari bati lerro berriak gehitzen zaizkionean, letra lodiarekin agertzen da egunkari horren izena egunkari-zerrendan. Egunkaria momentu horretan area nagusian bistaratuta badago, lerro berriak automatikoki agertzen dira egunkariaren bukaeran, eta, bost segundoren ondoren, egunkariaren izenak itxura normala berreskuratuko du zerrendan." + +#: C/mate-system-log.xml:312(para) +msgid "To stop monitoring a specific log, uncheck the LogMonitor option. Check this option again to turn monitoring back on." +msgstr "Egunkari jakin bat kontrolatzeari uzteko, desautatu EgunkariaKontrolatu aukera. Berriro kontrolatu nahi baduzu hautatu berriro ere aukera hori." + +#: C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "Egutegia erabiltzea" + +#: C/mate-system-log.xml:320(para) +msgid "By default, a calendar is displayed in the left side of the System Log Viewer window, under the log list. In this calendar, the dates present in the currently select log are displayed in bold. To jump to a particular date, select it in the calendar." +msgstr "Lehenespenez, egutegi bat bistaratzen da Sistemaren egunkarien ikustailea leihoaren ezkerraldean, egunkari-zerrendaren azpian. Hautatuta dagoen egunkariko datak letra lodiz agertzen dira. Data jakin batera joateko, hauta ezazu egutegian." + +#: C/mate-system-log.xml:325(para) +msgid "To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "Egutegia ezkutatzeko, desautatu IkusiEgutegia menu-aukera." + +#: C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "Egunkari-informazioa ikustea" + +#: C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "Egunkari-informazioa egoera-barran bistaratzen da normalean, hala nola:" + +#: C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "Egunkariaren lerro-kopurua." + +#: C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "Egunkariaren tamaina (bytetan)." + +#: C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "Egunkaria azken aldiz aldatu zeneko data." + +#: C/mate-system-log.xml:342(para) +msgid "The status bar can be displayed or hidden using the ViewStatusbar option." +msgstr "Egoera-barra bistaratu edo gorde egin daiteke IkusiEgoera-barra aukeran." + +#: C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "Egunkari bat ixtea" + +#: C/mate-system-log.xml:349(para) +msgid "To close a log, choose LogClose." +msgstr "Egunkari bat ixteko, aukeratu EgunkariaItxi." + +#: C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "Sistemaren egunkarien ikustailetik irtetea" + +#: C/mate-system-log.xml:356(para) +msgid "To exit System Log Viewer, choose LogQuit." +msgstr "Sistemaren egunkarien ikustailea aplikaziotik irteteko, aukeratu EgunkariaIrten." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Hizkuntza Politikarako Sailburuordetza , 2008." + diff --git a/logview/help/eu/figures/syslog_window.png b/logview/help/eu/figures/syslog_window.png new file mode 100644 index 00000000..b4a363b8 Binary files /dev/null and b/logview/help/eu/figures/syslog_window.png differ diff --git a/logview/help/fi/fi.po b/logview/help/fi/fi.po new file mode 100644 index 00000000..b74717ab --- /dev/null +++ b/logview/help/fi/fi.po @@ -0,0 +1,590 @@ +# logview's Finnish translation. +# Copyright (C) 2006-2010 Free Software Foundation, Inc. +# +# Jukka Heikkilä , 2009-2010. +# Tommi Vainikainen (Legal Notices), 2006. +msgid "" +msgstr "" +"Project-Id-Version: mate-utils-logview doc\n" +"POT-Creation-Date: 2010-03-27 15:30+0000\n" +"PO-Revision-Date: 2010-05-22 17:19+0300\n" +"Last-Translator: Jukka Heikkilä \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.0\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:251(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" +msgstr "" +"@@image: 'figures/syslog_window.png'; md5=0d8821f1b5ba7fe980611ce5a876b23e" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Lokikatselimen käyttöohje" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"Lokikatselin on graafinen, valikkopohjainen katselin, jonka avulla voit " +"tarkastella ja valvoa järjestelmäsi lokitiedostoja." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:165(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:110(para) C/mate-system-log.xml:120(para) +#: C/mate-system-log.xml:130(para) C/mate-system-log.xml:140(para) +#: C/mate-system-log.xml:150(para) C/mate-system-log.xml:160(para) +#: C/mate-system-log.xml:170(para) +msgid "MATE Documentation Project" +msgstr "Mate dokumentointiprojekti" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"Tätä asiakirjaa saa kopioida, jakaa edelleen ja/tai muokata Free Software " +"Foundationin julkaiseman GNU Free Documentation Licensen (GFDL) version 1.1 " +"tai valinnaisesti myöhemmän version mukaisesti, ilman vaatimuksia " +"muuttamattomista osioista ja etu- tai takakansiteksteistä. Kopion GFDL:stä " +"voi nähdä napsauttamalla tätä " +"linkkiä, tai lukemalla ohjeen mukana toimitetun COPYING-DOCS-nimisen " +"tiedoston." + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"Tämä käyttöohje on osa Maten käyttöohjekokoelmaa, jota levitetään GFDL-" +"lisenssin alaisena. Jos haluat levittää tätä käyttöohjetta erillään " +"kokoelmasta, voit tehdä sen liittämällä lisenssin kopion ohjeen mukaan, " +"kuten lisenssin luku 6 sanelee." + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"Monet nimistä, joita yhtiöt käyttävät tuotteistansa ja palveluistansa, ovat " +"tuotemerkkejä. Maten dokumentointiprojektissa nämä nimet pyritään " +"kirjoittamaan suuraakkosin tai isolla alkukirjaimella, sikäli kun projektin " +"jäsenet tietävät kyseisistä tuotemerkeistä." + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"ASIAKIRJA TARJOTAAN SELLAISENAAN, ILMAN MINKÄÄNLAISTA KIRJATTUA TAI " +"KONKLUDENTTISTA RAJATONTA TAKUUTA ASIAKIRJAN TAI SEN MUOKATUN VERSION " +"VIRHEETTÖMYYDESTÄ, SOPIVUUDESTA KAUPALLISEEN KÄYTTÖÖN TAI TIETTYYN " +"KÄYTTÖTARKOITUKSEEN TAI LOUKKAAMATTOMUUDESTA. TÄYSI VASTUU ASIAKIRJAN TAI " +"SEN MUOKATUN VERSION LAADUSTA, TARKKUUDESTA JA TOIMIVUUDESTA ON KÄYTTÄJÄLLÄ. " +"JOS ASIAKIRJA TAI SEN MUOKATTU VERSIO OSOITTAUTUU JOLLAKIN TAVALLA " +"VIRHEELLISEKSI, KÄYTTÄJÄ (EI ALKUPERÄINEN KIRJOITTAJA TAI MUU TEKIJÄ) VASTAA " +"PALVELUJEN, KORJAUSTEN TAI OIKAISUJEN KUSTANNUKSISTA. TÄMÄ " +"VASTUUVAPAUSLAUSEKE ON EROTTAMATON OSA LISENSSIÄ. ASIAKIRJAN TAI SEN " +"MUOKATTUJEN VERSIOIDEN KÄYTTÖ ON SALLITTUA VAIN TÄMÄN VASTUUVAPAUSLAUSEKKEEN " +"NOJALLA; SEKÄ" + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"MISSÄÄN OLOSUHTEISSA TAI MINKÄÄN OIKEUSLAITOKSEN ALAISUUDESSA, NIIN " +"OIKEUSLOUKKAUKSISSA (MUKAAN LUKIEN HUOLIMATTOMUUS), SOPIMUS TAI MUUTOIN, " +"ASIAKIRJAN TAI SEN MUOKATUN VERSION TEKIJÄ, ALKUPERÄINEN KIRJOITTAJA, KUKAAN " +"AVUSTAJISTA, KUKAAN LEVITTÄJÄ TAIKKA KUKAAN TARJOAJA EI OLE VASTUUSSA " +"KENELLEKÄÄN SUORASTA, EPÄSUORASTA, ERITYISESTÄ, TAPATURMAISESTA TAI " +"VÄLILLISESTÄ VAHINGOSTA SISÄLTÄEN RAJOITUKSETTA VAHINGOT LIIKEARVON " +"MENETYKSESTÄ, TYÖN KESKEYTYMISESTÄ, TIETOKONEVIRHEESTÄ TAI -HÄIRIÖSTÄ TAIKKA " +"MISTÄÄN MUUSTA VAHINGOSTA TAI MENETYKSESTÄ, JOKA ILMENEE TAI LIITTYY " +"ASIAKIRJAN TAI SEN MUOKATUN VERSION KÄYTTÖÖN EDES SILLOIN KUN OSAPUOLTA ON " +"OLLUT TIETOINEN TÄLLAISEN VAHINGON MAHDOLLISUUDESTA." + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"ASIAKIRJA SEKÄ MUOKATUT VERSIOT ASIAKIRJASTA TARJOTAAN GNU FREE " +"DOCUMENTATION LICENSEN EHDOIN SEKÄ YMMÄRTÄEN ETTÄ: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) C/mate-system-log.xml:75(orgname) +msgid "MATE Documentation Team" +msgstr "Mate dokumentointiryhmä" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Paul" +msgstr "Paul" + +#: C/mate-system-log.xml:73(surname) +msgid "Cutler" +msgstr "Cutler" + +#: C/mate-system-log.xml:76(email) +msgid "pcutler@gnome.org" +msgstr "pcutler@gnome.org" + +#: C/mate-system-log.xml:81(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:82(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:84(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:104(revnumber) +#| msgid "System Log Viewer Manual V2.4" +msgid "System Log Viewer Manual V2.5" +msgstr "Lokikatselimen käyttöohje V2.5" + +#: C/mate-system-log.xml:105(date) +#| msgid "October 2005" +msgid "October 2009" +msgstr "Lokakuu 2009" + +#: C/mate-system-log.xml:107(para) +msgid "Paul Cutler pcutler@gnome.org" +msgstr "Paul Cutler pcutler@gnome.org" + +#: C/mate-system-log.xml:114(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Lokikatselimen käyttöohje V2.4" + +#: C/mate-system-log.xml:115(date) +msgid "October 2005" +msgstr "Lokakuu 2005" + +#: C/mate-system-log.xml:117(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:124(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Lokikatselimen käyttöohje V2.3" + +#: C/mate-system-log.xml:125(date) +msgid "October 2002" +msgstr "Lokakuu 2002" + +#: C/mate-system-log.xml:127(para) C/mate-system-log.xml:137(para) +#: C/mate-system-log.xml:147(para) C/mate-system-log.xml:157(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun Mate Dokumentointiryhmä gdocteam@sun.com" + +#: C/mate-system-log.xml:134(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Lokikatselimen käyttöohje V2.2" + +#: C/mate-system-log.xml:135(date) +msgid "August 2002" +msgstr "Elokuu 2002" + +#: C/mate-system-log.xml:144(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Lokikatselimen käyttöohje V2.1" + +#: C/mate-system-log.xml:145(date) +msgid "July 2002" +msgstr "Heinäkuu 2002" + +#: C/mate-system-log.xml:154(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Lokikatselimen käyttöohje V2.0" + +#: C/mate-system-log.xml:155(date) +msgid "May 2002" +msgstr "Toukokuu 2002" + +#: C/mate-system-log.xml:164(revnumber) +msgid "Logview Manual" +msgstr "Lokikatselimen käyttöohje" + +#: C/mate-system-log.xml:167(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:175(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Tämä käyttöohje kattaa Lokikatselimen version 2.12" + +#: C/mate-system-log.xml:178(title) +msgid "Feedback" +msgstr "Palaute" + +#: C/mate-system-log.xml:179(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"Ilmoittaaksesi viasta tai tehdäksesi ehdotuksen koskien " +"Lokikatselin-sovellusta tai tätä käyttöohjetta, seuraa ohjeita Maten palautesivuilla." + +#: C/mate-system-log.xml:189(primary) +msgid "System Log Viewer" +msgstr "Lokikatselin" + +#: C/mate-system-log.xml:196(title) +msgid "Introduction" +msgstr "Johdanto" + +#: C/mate-system-log.xml:198(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a log monitor and log statistics " +"display." +msgstr "" +"Lokikatselin on graafinen, valikkopohjainen " +"katselin, jota voit käyttää järjestelmäsi lokien tarkasteluun ja " +"valvomiseen. Lokikatselin sisältää muutamia " +"toimintoja, jotka helpottavat lokien hallintaa, kuten lokikatselimen " +"ja lokistatistiikkanäytön." + +#: C/mate-system-log.xml:206(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a monitor to enable you " +"to continuously monitor crucial logs." +msgstr "" +"Lokikatselin on käyttökelpoinen, mikäli olet uusi " +"järjestelmän ylläpitäjä, koska se tarjoaa helpomman ja " +"käyttäjäystävällisemmän tavan tarkastella lokeja, kuin suoraan " +"tekstipohjaisista lokitiedostoista. Se on hyödyllinen myös kokeneille " +"ylläpitäjille, koska se " +"sisältää katselimen, jonka aktivoimalla voit jatkuvasti tarkkailla " +"kriittisiä lokeja." + +#: C/mate-system-log.xml:215(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"Lokikatselin on käyttökelpoinen vain niille " +"henkilöille, joilla on oikeudet järjestelmälokeihin, koska pääsy niihin " +"vaatii useimmiten pääkäyttäjäoikeuksia." + +#: C/mate-system-log.xml:222(title) +msgid "Getting Started" +msgstr "Aloitustoimet" + +#: C/mate-system-log.xml:224(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"Voit käynnistää Lokikatselimen seuraavilla " +"tavoilla:" + +#: C/mate-system-log.xml:228(term) +msgid "Applications menu" +msgstr "Sovellukset-valikosta" + +#: C/mate-system-log.xml:230(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"Valitse Järjestelmätyökalut" +"Järjestelmäloki." + +#: C/mate-system-log.xml:234(term) +msgid "Command line" +msgstr "Komentoriviltä" + +#: C/mate-system-log.xml:236(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Kirjoita mate-system-log ja paina Enter " +"-näppäintä." + +#: C/mate-system-log.xml:243(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"Kun käynnistät Lokikatselimen, avautuu seuraava " +"ikkuna." + +#: C/mate-system-log.xml:247(title) +msgid "System Log Viewer Window" +msgstr "Lokikatselimen ikkuna" + +#: C/mate-system-log.xml:254(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Lokikatselimen pääikkuna sisältää valikkopalkin, näyttöalueen, " +"vierityspalkit ja tilapalkin." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:260(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"Kun käynnistät ensimmäistä kertaa Lokikatselimen, " +"sovellus näyttää oletuksena muutamia lokitiedostoja (kuten " +"/var/log/messages). Avatut lokit on listattu vasemmalla puolella " +"ikkunaa. Listasta valittu oleva loki näytetään ikkunan pääalueella." + +#: C/mate-system-log.xml:268(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"Oletuksena Lokikatselin valvoo jokaista avattua " +"lokia ja kaikki muutokset ilmestyy automaattisesti pääikkunaan. Katso " +"lisätietoja ." + +#: C/mate-system-log.xml:277(title) +msgid "Usage" +msgstr "Käyttö" + +#: C/mate-system-log.xml:280(title) +msgid "To View a Log" +msgstr "Lokien tarkastelu" + +#: C/mate-system-log.xml:281(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"Tarkastellaksesi lokeja, valitse Tiedosto<" +"guimenuitem>Avaa. Valitse Avaa loki<" +"/guilabel> -valintaikkunasta loki, jonka haluat avata ja napsauta " +"Avaa. Käytä vierityspalkkeja vierittääksesi lokia." + +#: C/mate-system-log.xml:287(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"Voit valita niin monta lokia, kuin haluat. Lokikatselin<" +"/application> näyttää yhden lokin kerrallaan Lokikatselin<" +"/guilabel>-ikkunassa. Avatut lokit on listattu vasemmalla puolella " +"sovelluksen ikkunaa. Listasta valittu loki näytetään sovelluksen " +"pääikkunassa. Tarkastellaksesi muita valmiiksi Lokikatselimeen<" +"/application> avattuja lokeja, valitse haluamasi loki lokilistasta." + +#: C/mate-system-log.xml:295(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"Huomioi, että Lokikatselin voi avata myös " +"paketoituja lokeja (kaikki \".gz\" -päätteiset tiedostonimet)." + +#: C/mate-system-log.xml:300(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Lokirivien kopiointi leikepöydälle" + +#: C/mate-system-log.xml:301(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"Kopioidaksesi yhden rivin tai enemmän leikepöydälle, valitse rivit " +"pääikkunasta ja valitse valikosta Muokkaa<" +"guimenuitem>Kopioi. Jos tahdot kopioida koko " +"lokin leikepöydälle, valitse koko loki valitsemalla valikosta <" +"guimenu>MuokkaaValitse kaikki<" +"/menuchoice>. Tämän jälkeen valitse valikosta Muokkaa<" +"/guimenu>Kopioi." + +#: C/mate-system-log.xml:313(title) +msgid "To Hide the Sidebar" +msgstr "Sivupalkin piilotus" + +#: C/mate-system-log.xml:314(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"Piilottaaksesi vasemman sivupalkin, mikä sisältää lokilistan ja kalenterin, " +"valitset valikosta Näytä" +"Sivupalkki-valinta." + +#: C/mate-system-log.xml:321(title) +msgid "To Monitor Logs" +msgstr "Lokien tarkkailu" + +#: C/mate-system-log.xml:322(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"Voit käyttää Lokikatselinta lokien tarkkailuun. " +"Oletuksena kaikki Lokikatselimen lokit avataan " +"muutoksen tarkkailutilassa. Jos uusia rivejä lisätään " +"Lokikatselimen tarkkailemaan lokiin, lokin nimi ilmestyy " +"lihavoituna. Jos loki on näkyvissä pääikkunassa, uudet rivit ilmestyvät " +"automaattisesti lokin loppuun ja viiden sekunnin jälkeen listassa oleva " +"lokin nimi muuttuu takaisin normaaliksi." + +#: C/mate-system-log.xml:333(title) +msgid "To View Log Information" +msgstr "Lokien tietojen tarkastelu" + +#: C/mate-system-log.xml:334(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "Lokien tiedot on esitetty tilarivillä, mukaan lukien seuraavat tiedot:" + +#: C/mate-system-log.xml:337(para) +msgid "Number of lines in the log." +msgstr "Rivien määrä lokissa." + +#: C/mate-system-log.xml:339(para) +msgid "Size of the log in bytes." +msgstr "Lokin koko tavuina." + +#: C/mate-system-log.xml:341(para) +msgid "Date the log was last modified." +msgstr "Päiväys, milloin lokia on viimeksi muokattu." + +#: C/mate-system-log.xml:344(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"Tilarivi voidaan asettaa näkymään tai piilottaa valitsemalla valikosta <" +"menuchoice>NäytäTilarivi<" +"/menuchoice>." + +#: C/mate-system-log.xml:350(title) +msgid "To Close a Log" +msgstr "Lokin sulkeminen" + +#: C/mate-system-log.xml:351(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"Sulkeaksesi lokin, valitse TiedostoSulje." + +#: C/mate-system-log.xml:357(title) +msgid "To Exit System Log Viewer" +msgstr "Lokikatselimen sulkeminen" + +#: C/mate-system-log.xml:358(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"Sulkeaksesi Lokikatselimen, valitse <" +"guimenu>TiedostoLopeta." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "" +"Jukka Heikkilä , 2008, 2010\n" +"Tommi Vainikainen (Legal Notices), 2006" + diff --git a/logview/help/fi/figures/syslog_window.png b/logview/help/fi/figures/syslog_window.png new file mode 100644 index 00000000..c0a0f483 Binary files /dev/null and b/logview/help/fi/figures/syslog_window.png differ diff --git a/logview/help/fr/figures/syslog_window.png b/logview/help/fr/figures/syslog_window.png new file mode 100644 index 00000000..24411818 Binary files /dev/null and b/logview/help/fr/figures/syslog_window.png differ diff --git a/logview/help/fr/fr.po b/logview/help/fr/fr.po new file mode 100644 index 00000000..42556b50 --- /dev/null +++ b/logview/help/fr/fr.po @@ -0,0 +1,637 @@ +# French translation of mate-utils-logview documentation. +# Copyright (C) 2006-2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-utils +# documentation package. +# +# Jonathan Ernst , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-utils-logview documentation\n" +"POT-Creation-Date: 2009-12-14 21:53+0000\n" +"PO-Revision-Date: 2010-01-09 16:01+0100\n" +"Last-Translator: Claude Paroz \n" +"Language-Team: MATE French Team \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:251(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" +msgstr "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Manuel du visionneur de journaux système" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"Le visionneur de journaux système est une interface graphique pour afficher " +"et surveiller les fichiers journaux de votre système." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:165(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:110(para) C/mate-system-log.xml:120(para) +#: C/mate-system-log.xml:130(para) C/mate-system-log.xml:140(para) +#: C/mate-system-log.xml:150(para) C/mate-system-log.xml:160(para) +#: C/mate-system-log.xml:170(para) +msgid "MATE Documentation Project" +msgstr "Le projet de documentation MATE" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"Permission vous est donnée de copier, distribuer et/ou modifier ce document " +"selon les termes de la Licence GNU Free Documentation License, Version 1.1 " +"ou ultérieure publiée par la Free Software Foundation sans section " +"inaltérable, sans texte de première page de couverture ni texte de dernière " +"page de couverture. Vous trouverez un exemplaire de cette licence en suivant " +"ce lien ou dans le fichier " +"COPYING-DOCS fourni avec le présent manuel." + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"Ce manuel fait partie de la collection de manuels MATE distribués selon les " +"termes de la licence de documentation libre GNU. Si vous souhaitez " +"distribuer ce manuel indépendamment de la collection, vous devez joindre un " +"exemplaire de la licence au document, comme indiqué dans la section 6 de " +"celle-ci." + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"La plupart des noms utilisés par les entreprises pour distinguer leurs " +"produits et services sont des marques déposées. Lorsque ces noms " +"apparaissent dans la documentation MATE et que les membres du projet de " +"Documentation MATE sont informés de l'existence de ces marques déposées, " +"soit ces noms entiers, soit leur première lettre est en majuscule." + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"LE PRÉSENT DOCUMENT EST FOURNI « TEL QUEL », SANS AUCUNE GARANTIE, EXPRESSE " +"OU IMPLICITE, Y COMPRIS, ET SANS LIMITATION, LES GARANTIES DE " +"MARCHANDABILITÉ, D'ADÉQUATION À UN OBJECTIF PARTICULIER OU DE NON INFRACTION " +"DU DOCUMENT OU DE SA VERSION MODIFIÉE. L'UTILISATEUR ASSUME TOUT RISQUE " +"RELATIF À LA QUALITÉ, À LA PERTINENCE ET À LA PERFORMANCE DU DOCUMENT OU DE " +"SA VERSION DE MISE À JOUR. SI LE DOCUMENT OU SA VERSION MODIFIÉE S'AVÉRAIT " +"DÉFECTUEUSE, L'UTILISATEUR (ET NON LE RÉDACTEUR INITIAL, L'AUTEUR, NI TOUT " +"AUTRE PARTICIPANT) ENDOSSERA LES COÛTS DE TOUTE INTERVENTION, RÉPARATION OU " +"CORRECTION NÉCESSAIRE. CETTE DÉNÉGATION DE RESPONSABILITÉ CONSTITUE UNE " +"PARTIE ESSENTIELLE DE CETTE LICENCE. AUCUNE UTILISATION DE CE DOCUMENT OU DE " +"SA VERSION MODIFIÉE N'EST AUTORISÉE AUX TERMES DU PRÉSENT ACCORD, EXCEPTÉ " +"SOUS CETTE DÉNÉGATION DE RESPONSABILITÉ ; " + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"EN AUCUNE CIRCONSTANCE ET SOUS AUCUNE INTERPRÉTATION DE LA LOI, QU'IL " +"S'AGISSE DE RESPONSABILITÉ CIVILE (Y COMPRIS LA NÉGLIGENCE), CONTRACTUELLE " +"OU AUTRE, L'AUTEUR, LE RÉDACTEUR INITIAL, TOUT PARTICIPANT ET TOUT " +"DISTRIBUTEUR DE CE DOCUMENTOU DE SA VERSION DE MISE À JOUR AINSI QUE TOUT " +"FOURNISSEUR DE QUELQUE PARTIE QUE CE SOIT NE POURRONT ÊTRE TENUS " +"RESPONSABLES À L'ÉGARD DE QUICONQUE POUR TOUT DOMMAGE DIRECT, INDIRECT, " +"PARTICULIER OU ACCIDENTEL DE TOUT TYPE Y COMPRIS, SANS LIMITATION, LES " +"DOMMAGES LIÉS À LA PERTE DE CLIENTÈLE, AUX ARRÊTS DE TRAVAIL, AUX " +"DÉFAILLANCES ET AUX DYSFONCTIONNEMENTS INFORMATIQUES OU TOUT AUTRE DOMMAGE " +"OU PERTE LIÉE À L'UTILISATION DU PRÉSENT DOCUMENT ET DE SES VERSIONS DE MISE " +"À JOUR, ET CE MÊME SI CES PARTIES ONT ÉTÉ INFORMÉES DE LA POSSIBILITÉ DE " +"TELS DOMMAGES." + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"LE PRÉSENT DOCUMENT ET SES VERSIONS MODIFIÉES SONT FOURNIS SELON LES TERMES " +"DE LA LICENCE DE DOCUMENTATION LIBRE GNU SACHANT QUE : " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) C/mate-system-log.xml:75(orgname) +msgid "MATE Documentation Team" +msgstr "L'équipe de documentation MATE" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Paul" +msgstr "Paul" + +#: C/mate-system-log.xml:73(surname) +msgid "Cutler" +msgstr "Cutler" + +#: C/mate-system-log.xml:76(email) +msgid "pcutler@gnome.org" +msgstr "pcutler@gnome.org" + +#: C/mate-system-log.xml:81(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:82(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:84(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:104(revnumber) +msgid "System Log Viewer Manual V2.5" +msgstr "Manuel du visionneur de journaux système v2.5" + +#: C/mate-system-log.xml:105(date) +msgid "October 2009" +msgstr "Octobre 2009" + +#: C/mate-system-log.xml:107(para) +msgid "Paul Cutler pcutler@gnome.org" +msgstr "Paul Cutler pcutler@gnome.org" + +#: C/mate-system-log.xml:114(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Manuel du visionneur de journaux système V2.4" + +#: C/mate-system-log.xml:115(date) +msgid "October 2005" +msgstr "Octobre 2005" + +#: C/mate-system-log.xml:117(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:124(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Manuel du visionneur de journaux système V2.3" + +#: C/mate-system-log.xml:125(date) +msgid "October 2002" +msgstr "Octobre 2002" + +#: C/mate-system-log.xml:127(para) C/mate-system-log.xml:137(para) +#: C/mate-system-log.xml:147(para) C/mate-system-log.xml:157(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "L'équipe de documentation MATE de Sun gdocteam@sun.com" + +#: C/mate-system-log.xml:134(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Manuel du visionneur de journaux système V2.2" + +#: C/mate-system-log.xml:135(date) +msgid "August 2002" +msgstr "Août 2002" + +#: C/mate-system-log.xml:144(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Manuel du visionneur de journaux système V2.1" + +#: C/mate-system-log.xml:145(date) +msgid "July 2002" +msgstr "Juillet 2002" + +#: C/mate-system-log.xml:154(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Manuel du visionneur de journaux système V2.0" + +#: C/mate-system-log.xml:155(date) +msgid "May 2002" +msgstr "Mai 2002" + +#: C/mate-system-log.xml:164(revnumber) +msgid "Logview Manual" +msgstr "Manuel du visionneur de journaux" + +#: C/mate-system-log.xml:167(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:175(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Ce manuel documente la version 2.12 du visionneur de journaux système." + +#: C/mate-system-log.xml:178(title) +msgid "Feedback" +msgstr "Votre avis" + +#: C/mate-system-log.xml:179(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"Pour rapporter une anomalie ou émettre une suggestion concernant le " +"visionneur de journaux système ou ce manuel, procédez comme indiqué sur la " +"page de réactions sur " +"MATE." + +#: C/mate-system-log.xml:189(primary) +msgid "System Log Viewer" +msgstr "Visionneur de journaux système" + +#: C/mate-system-log.xml:196(title) +msgid "Introduction" +msgstr "Introduction" + +#: C/mate-system-log.xml:198(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a log monitor and log statistics " +"display." +msgstr "" +"Le visionneur de journaux système est un " +"visionneur graphique, piloté par des menus que vous pouvez utiliser pour " +"voir et surveiller les journaux de votre système. Le visionneur " +"de journaux système vous propose quelques fonctionnalités qui " +"vous aideront à gérer vos journaux, comme un contrôleur de journaux et des " +"statistiques." + +#: C/mate-system-log.xml:206(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a monitor to enable you " +"to continuously monitor crucial logs." +msgstr "" +"Le visionneur de journaux système est utile si " +"vous êtes un administrateur système débutant car il propose un affichage de " +"vos journaux système plus simple et plus pratique qu'une représentation " +"textuelle pure. Il est également utile pour les administrateurs chevronnés " +"car il contient une console de surveillance permettant d'examiner les journaux " +"cruciaux en continu." + +#: C/mate-system-log.xml:215(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"Le visionneur de journaux système est seulement " +"utile pour les utilisateurs ayant accès aux journaux système, ce qui demande " +"généralement d'avoir un accès root." + +#: C/mate-system-log.xml:222(title) +msgid "Getting Started" +msgstr "Premiers pas" + +#: C/mate-system-log.xml:224(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"Vous pouvez lancer le visionneur de journaux système de l'une des façons suivantes :" + +#: C/mate-system-log.xml:228(term) +msgid "Applications menu" +msgstr "Menu Applications" + +#: C/mate-system-log.xml:230(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"Choisissez Outils systèmeVisionneur de journaux système." + +#: C/mate-system-log.xml:234(term) +msgid "Command line" +msgstr "Ligne de commande" + +#: C/mate-system-log.xml:236(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Saisissez mate-system-log, puis appuyez sur " +"Entrée." + +#: C/mate-system-log.xml:243(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"Lorsque vous démarrez le visionneur de journaux système, la fenêtre suivante est affichée." + +#: C/mate-system-log.xml:247(title) +msgid "System Log Viewer Window" +msgstr "Fenêtre du visionneur de journaux système" + +#: C/mate-system-log.xml:254(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Montre la fenêtre principale du visionneur de journaux système. Elle " +"contient la barre de menus, la zone d'affichage, les barres de défilement et " +"la barre d'état." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:260(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"Au premier lancement du visionneur de journaux système, l'application affiche plusieurs journaux par défaut (comme " +"/var/log/messages). Les journaux ouverts sont listés " +"dans la partie gauche de la fenêtre de l'application. Le journal sélectionné " +"dans cette liste est affiché dans la zone principale de la fenêtre." + +#: C/mate-system-log.xml:268(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"Par défaut, le visionneur de journaux système " +"surveille tous les journaux ouverts et tout changement s'affiche " +"automatiquement dans la fenêtre principale. Consultez pour plus d'informations." + +#: C/mate-system-log.xml:277(title) +msgid "Usage" +msgstr "Utilisation" + +#: C/mate-system-log.xml:280(title) +msgid "To View a Log" +msgstr "Pour voir un journal" + +#: C/mate-system-log.xml:281(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"Pour afficher un journal, sélectionnez FichierOuvrir. Dans la boîte de " +"dialogue Ouvrir un journal, sélectionnez le journal à " +"ouvrir, puis cliquez sur Ouvrir. Utilisez les barres " +"de défilement pour faire défiler le contenu du journal." + +#: C/mate-system-log.xml:287(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"Vous pouvez ouvrir autant de journaux que vous le souhaitez. Le " +"visionneur de journaux système affiche un seul " +"journal à la fois dans sa fenêtre. Les journaux ouverts sont listés dans la " +"partie gauche de la fenêtre de l'application. Le journal sélectionné dans " +"cette liste est affiché dans la zone principale de la fenêtre. Pour afficher " +"un autre journal déjà ouvert dans le visionneur de journaux " +"système, sélectionnez-le dans la liste des journaux." + +#: C/mate-system-log.xml:295(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"Notez que le visionneur de journaux système vous " +"permet aussi d'afficher les journaux système compressés (dont le nom se " +"termine par « .gz »)." + +#: C/mate-system-log.xml:300(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Copie de lignes du journal vers le presse-papiers" + +#: C/mate-system-log.xml:301(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"Pour copier une ou plusieurs lignes vers le presse-papiers, sélectionnez " +"celles-ci dans la zone principale et choisissez " +"ÉditionCopier. Si vous souhaitez copier l'intégralité du journal dans le " +"presse-papiers, choisissez ÉditionSélectionner tout, puis " +"ÉditionCopier." + +#: C/mate-system-log.xml:313(title) +msgid "To Hide the Sidebar" +msgstr "Masquer la barre latérale" + +#: C/mate-system-log.xml:314(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"Pour masquer la barre latérale gauche contenant la liste des journaux et le " +"calendrier, choisissez AffichagePanneau latéral." + +#: C/mate-system-log.xml:321(title) +msgid "To Monitor Logs" +msgstr "Surveillance des journaux" + +#: C/mate-system-log.xml:322(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"Vous pouvez utilisez le visionneur de journaux système pour surveiller les journaux système. Par défaut, tous les " +"journaux ouverts dans le visionneur de journaux système sont surveillés. Si de nouvelles lignes sont ajoutées à un " +"journal surveillé par le visionneur de journaux système, le nom du journal concerné apparaît en gras dans la liste des " +"journaux. Si le journal est actuellement affiché dans la zone principale, " +"les nouvelles lignes apparaîtront automatiquement à la fin du journal et " +"après cinq secondes, le nom du journal dans la liste redevient normal." + +#: C/mate-system-log.xml:333(title) +msgid "To View Log Information" +msgstr "Affichage des informations du journal" + +#: C/mate-system-log.xml:334(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" +"Certaines informations du journal sont affichées dans la barre d'état :" + +#: C/mate-system-log.xml:337(para) +msgid "Number of lines in the log." +msgstr "Nombre de lignes du journal." + +#: C/mate-system-log.xml:339(para) +msgid "Size of the log in bytes." +msgstr "Taille du journal en octets." + +#: C/mate-system-log.xml:341(para) +msgid "Date the log was last modified." +msgstr "Date de la dernière modification du journal." + +#: C/mate-system-log.xml:344(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"La barre d'état peut être affichée ou masquée en choisissant " +"AffichageBarre d'état." + +#: C/mate-system-log.xml:350(title) +msgid "To Close a Log" +msgstr "Fermeture d'un journal" + +#: C/mate-system-log.xml:351(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"Pour fermer un journal, choisissez FichierFermer." + +#: C/mate-system-log.xml:357(title) +msgid "To Exit System Log Viewer" +msgstr "Quitter le visionneur de journaux système" + +#: C/mate-system-log.xml:358(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"Pour quitter le visionneur de journaux système, " +"choisissez FichierQuitter." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Jonathan Ernst , 2006" + +#~ msgid "" +#~ "To stop monitoring a specific log, uncheck the ViewMonitor option. Check " +#~ "this option again to turn monitoring back on." +#~ msgstr "" +#~ "Pour arrêter de surveiller un journal particulier, décochez l'option " +#~ "AffichageSurveiller. Cochez cette option à nouveau pour recommencer " +#~ "à surveiller ce journal." + +#~ msgid "To Use the Calendar" +#~ msgstr "Utilisation du calendrier" + +#~ msgid "" +#~ "By default, a calendar is displayed in the left side of the " +#~ "System Log Viewer window, under the log list. " +#~ "In this calendar, the dates present in the currently select log are " +#~ "displayed in bold. To jump to a particular date, select it in the " +#~ "calendar." +#~ msgstr "" +#~ "Par défaut, un calendrier est affiché à gauche de la fenêtre du " +#~ "visionneur de journaux système, sous la liste " +#~ "des journaux. Dans ce calendrier, les dates figurant dans le journal " +#~ "actuellement sélectionné sont affichées en gras. Pour aller à une date, " +#~ "sélectionnez-la dans le calendrier." + +#~ msgid "" +#~ "To hide the calendar, uncheck the ViewCalendar menu option." +#~ msgstr "" +#~ "Pour masquer le calendrier, décochez l'option " +#~ "AffichageCalendrier." diff --git a/logview/help/it/figures/syslog_window.png b/logview/help/it/figures/syslog_window.png new file mode 100644 index 00000000..6fc10faa Binary files /dev/null and b/logview/help/it/figures/syslog_window.png differ diff --git a/logview/help/it/it.po b/logview/help/it/it.po new file mode 100644 index 00000000..73c48dcb --- /dev/null +++ b/logview/help/it/it.po @@ -0,0 +1,612 @@ +# Italian translation of logview documentation. +# Andrea Zagli , 2006, 2007, 2008, 2009. +# Milo Casagrande , 2009. +msgid "" +msgstr "" +"Project-Id-Version: mate-utils-logview-help-it 2.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-04-17 16:28+0000\n" +"PO-Revision-Date: 2009-08-18 21:04+0200\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:233(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "non serve" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Manuale di System Log Viewer" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "" +"System Log Viewer è un'interfaccia grafica utente per per visualizzare e " +"monitorare i file di registro di sistema." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:101(para) C/mate-system-log.xml:111(para) +#: C/mate-system-log.xml:121(para) C/mate-system-log.xml:131(para) +#: C/mate-system-log.xml:141(para) C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "Progetto di documentazione di MATE" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"Questo documento può essere copiato, distribuito e/o modificato solo in " +"conformità con i termini della GNU Free Documentation License (GFDL) " +"Versione 1.1 o delle versioni successive pubblicate dalla Free Software " +"Foundation senza sezioni invariabili, frontespizi e testi di copertina. Una " +"copia della GFDL è disponibile su questo collegamento o nel file COPYING-DOCS distribuito con questo " +"manuale." + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"Questo manuale fa parte di una raccolta di manuali MATE distribuita in " +"conformità con la GFDL. Per poter distribuire questo manuale separatamente, " +"è necessario inserirvi una copia della licenza, come descritto nella sezione " +"6 della licenza." + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"Molti dei nomi usati dalle aziende per distinguere i propri prodotti e " +"servizi sono rivendicati come marchi. Quando questi nomi compaiono nella " +"documentazione di MATE, e i partecipanti al MATE Documentation Project " +"sono consapevoli del loro utilizzo, essi vengono scritti in lettere " +"maiuscole o con l'iniziale maiuscola." + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"IL DOCUMENTO VIENE FORNITO SENZA GARANZIE DI ALCUN TIPO, ESPLICITE O " +"IMPLICITE, INCLUSE, MA SENZA LIMITAZIONE, LE GARANZIE ATTESTANTI CHE IL " +"DOCUMENTO O LE SUE VERSIONI MODIFICATE SIANO PRIVI DI DIFETTI, " +"COMMERCIALIZZABILI, IDONEI A UN DETERMINATO SCOPO O CHE NON VIOLINO DIRITTI " +"DI TERZI. SI DECLINA QUALUNQUE RESPONSABILITÀ RIGUARDO AI RISCHI INERENTI LA " +"QUALITÀ, L'ACCURATEZZA E LE PRESTAZIONI DEL DOCUMENTO O DI UNA SUA VERSIONE " +"MODIFICATA. QUALORA UN DOCUMENTO O UNA SUA VERSIONE MODIFICATA DOVESSERO " +"PRESENTARE QUALUNQUE TIPO DI DIFETTO, IL COSTO DI EVENTUALI INTERVENTI DI " +"ASSISTENZA, RIPARAZIONE O CORREZIONE SARÀ A CARICO DELL'UTENTE (NON DEL " +"REDATTORE INIZIALE, DELL'AUTORE O DI ALTRI COLLABORATORI). QUESTA " +"LIMITAZIONE DELLA GARANZIA COSTITUISCE PARTE ESSENZIALE DELLA LICENZA. L'USO " +"DEL DOCUMENTO O DELLE SUE VERSIONI MODIFICATE È CONSENTITO SOLO ENTRO I " +"TERMINI DI QUESTA LIMITAZIONE DELLA GARANZIA; E" + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"IN NESSUNA CIRCOSTANZA E PER NESSUNA RAGIONE LEGALE, INCLUSI I PRINCIPI DI " +"COLPA (INCLUSA LA NEGLIGENZA), ACCORDO CONTRATTUALE O ALTRO, SARÀ POSSIBILE " +"CONSIDERARE L'AUTORE, IL REDATTORE INIZIALE, GLI ALTRI COLLABORATORI, " +"QUALUNQUE DISTRIBUTORE DEL DOCUMENTO O DI UNA SUA VERSIONE MODIFICATA O " +"QUALUNQUE FORNITORE DELLE PERSONE CITATE, RESPONSABILE NEI CONFRONTI DI " +"QUALUNQUE PERSONA PER DANNI DIRETTI, INDIRETTI, SPECIALI, INCIDENTALI O " +"CONSEGUENTI DI QUALUNQUE NATURA, INCLUSI, MA SENZA LIMITAZIONE, I DANNI PER " +"PERDITA DI AVVIAMENTO, INTERRUZIONE DEL LAVORO, GUASTO O MALFUNZIONAMENTO " +"DEL COMPUTER O QUALUNQUE ALTRO DANNO O PERDITA DERIVANTE O CORRELATA ALL'USO " +"DEL DOCUMENTO O DI UNA SUA VERSIONE MODIFICATA, ANCHE QUALORA LE PERSONE " +"CITATE FOSSERO STATE INFORMATE DELLA POSSIBILITÀ DI TALI DANNI." + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"QUESTO DOCUMENTO E LE SUE VERSIONI MODIFICATE VENGONO FORNITI IN BASE AI " +"TERMINI DELLA GNU FREE DOCUMENTATION LICENSE, CON L'INTESA CHE:" + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "Squadra di documentazione di MATE" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Manuale di System Log Viewer V2.4" + +#: C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "Ottobre 2005" + +#: C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Manuale di System Log Viewer V2.3" + +#: C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "Ottobre 2002" + +#: C/mate-system-log.xml:108(para) C/mate-system-log.xml:118(para) +#: C/mate-system-log.xml:128(para) C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "" +"Team Sun per la documentazione di MATE gdocteam@sun.com" + +#: C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Manuale di System Log Viewer V2.2" + +#: C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "Agosto 2002" + +#: C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Manuale di System Log Viewer V2.1" + +#: C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "Luglio 2002" + +#: C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Manuale di System Log Viewer V2.0" + +#: C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "Maggio 2002" + +#: C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "Manuale di Logview" + +#: C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Questo manuale descrive la versione 2.12 di System Log Viewer." + +#: C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "Commenti" + +#: C/mate-system-log.xml:160(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"Per segnalare un errore o inviare un suggerimento riguardo l'applicazione " +"System Log Viewer o questo manuale, seguire le " +"indicazioni nella Pagina " +"dei riscontri MATE." + +#: C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "System Log Viewer" + +#: C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Introduzione" + +#: C/mate-system-log.xml:179(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a calendar, log monitor and log " +"statistics display." +msgstr "" +"System Log Viewer è un visualizzatore grafico che " +"si può utilizzare per visualizzare e monitorare i registri di sistema. " +"System Log Viewer è provvisto di alcune funzioni " +"che possono aiutare a gestire i registri, incluso un calendario, il " +"monitoraggio dei registri e la visualizzazione delle statistiche." + +#: C/mate-system-log.xml:187(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a calendar to help you " +"locate trends and track problems, as well as a monitor to enable you to " +"continuously monitor crucial logs." +msgstr "" +"System Log Viewer è utile se si è nuovi " +"all'amministrazione di sistema perché fornisce una semplice e più amichevole " +"visualizzazione dei registri rispetto a una visualizzazione testuale dei " +"file di registro. È utile anche per amministratori con più esperienza, " +"contenendo un calendario che aiuta a localizzare problemi di andamento, " +"cosi' come per monitorare continuamente registri cruciali." + +#: C/mate-system-log.xml:197(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"System Log Viewer è utile solamente a chi ha " +"accesso ai file dei registri di sistema, che in genere richiedono un accesso " +"come root." + +#: C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Per iniziare" + +#: C/mate-system-log.xml:206(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" +"Si può avviare System Log Viewer nei modi " +"seguenti:" + +#: C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "Menù Applicazioni" + +#: C/mate-system-log.xml:212(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"Scegliere Strumenti di sistemaRegistro di sistema." + +#: C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Riga di comando" + +#: C/mate-system-log.xml:218(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"Digitare mate-system-log e poi premere Invio." + +#: C/mate-system-log.xml:225(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"Quando si avvia System Log Viewer, viene " +"visualizzata la seguente finestra." + +#: C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "Finestra di System Log Viewer" + +#: C/mate-system-log.xml:236(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" +"Finestra principale di System Log Viewer. Contiene barra del menù, area di " +"visualizzazione, barre di scorrimento e barra di stato." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:242(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"La prima volta che si avvia System Log Viewer, " +"l'applicazione visualizza, in modo predefinito, svariati file di registro " +"(come /var/log/messages). I registri aperti sono " +"elencati nella parte sinistra della finestra dell'applicazione. Il registro " +"selezionato in questa lista è visualizzato nell'area principale della " +"finestra dell'applicazione." + +#: C/mate-system-log.xml:250(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"In modo predefinito, System Log Viewer monitora " +"ogni registro aperto, e ogni cambiamento appare automaticamente nella " +"finestra principale. Consultare per " +"maggiori informazioni." + +#: C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Utilizzo" + +#: C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "Visualizzare un registro" + +#: C/mate-system-log.xml:263(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"Per visualizzare un registro, scegliere FileApri. Nel dialogo " +"Apri registro, selezionare il registro che si vuole " +"aprire e poi fare clic su Apri. Utilizzare le barre " +"di scorrimento per scorrere attraverso il registro." + +#: C/mate-system-log.xml:269(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"Si possono aprire quanti registri si vogliono. System Log " +"Viewer visualizza un registro alla volta nella finestra di " +"System Log Viewer. I registri aperti sono elencati sul " +"lato sinistro della finestra dell'applicazione. Il registro selezionato è " +"visualizzato nell'area principale della finestra dell'applicazione. Per " +"visualizzare un altro registro già aperto nel System Log " +"Viewer, selezionarlo nella lista dei registri." + +#: C/mate-system-log.xml:277(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"Si noti che System Log Viewer permette anche di " +"aprire registri compressi (tutti i nomi di file che terminano in \".gz\")." + +#: C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Copiare righe del registro negli appunti" + +#: C/mate-system-log.xml:283(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"Per copiare una o più righe del registro negli appunti, basta selezionare le " +"righe nell'area principale e scegliere l'opzione di menu " +"ModificaCopia. Se si vuole copiare l'intero registro negli appunti, " +"selezionarlo completamente utilizzando l'opzione di menu " +"ModificaSeleziona tutto, e poi scegliere ModificaCopia." + +#: C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "Nascondere il riquadro laterale" + +#: C/mate-system-log.xml:296(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"Per nascondere il riquadro laterale a sinistra, che contiene l'elenco dei " +"registri e il calendario, basta selezionare l'opzione di menù " +"VisualizzaRiquadro laterale." + +#: C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "Monitorare i registri" + +#: C/mate-system-log.xml:304(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"Si può utilizzare System Log Viewer per " +"monitorare i registri. In modo predefinito, tutti i registri aperti in " +"System Log Viewer sono monitorati per i " +"cambiamenti. Se nuove righe vengono aggiunte a un registro monitorato da " +"System Log Viewer, il nome del registro apparirà " +"in grassetto nella lista dei registri. Se il registro è correntemente " +"visualizzato nell'area principale, le nuove righe appariranno " +"automaticamente alla fine del registro e, dopo cinque secondi, il nome del " +"registro nella lista ritornerà normale." + +#: C/mate-system-log.xml:312(para) +msgid "" +"To stop monitoring a specific log, uncheck the ViewMonitor option. Check this " +"option again to turn monitoring back on." +msgstr "" +"Per fermare il monitoraggio di un registro specifico, deselezionare " +"l'opzione VisualizzaMonitoraggio. Selezionare " +"ancora questa opzione per riattivare il monitoraggio." + +#: C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "Usare il calendario" + +#: C/mate-system-log.xml:320(para) +msgid "" +"By default, a calendar is displayed in the left side of the " +"System Log Viewer window, under the log list. In " +"this calendar, the dates present in the currently select log are displayed " +"in bold. To jump to a particular date, select it in the calendar." +msgstr "" +"In modo predefinito, un calendario è visualizzato nel lato sinistro della " +"finestra di System Log Viewer, sotto la lista dei " +"registri. In questo calendario, le date presenti nel registro correntemente " +"selezionato sono visualizzate in grassetto. Per saltare a una data " +"particolare, selezionarla nel calendario." + +#: C/mate-system-log.xml:325(para) +msgid "" +"To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "" +"Per nascondere il calendario, deselezionare l'opzione di menù " +"VisualizzaCalendario." + +#: C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "Visualizzare le informazioni sul registro" + +#: C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" +"Le informazioni del registro sono generalmente visualizzate nella barra di " +"stato e includono:" + +#: C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "Numero di righe nel registro." + +#: C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "Dimensione del registro in byte." + +#: C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "La data in cui il registro è stato modificato." + +#: C/mate-system-log.xml:342(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"La barra di stato può essere visualizzata o nascosta usando l'opzione " +"VisualizzaBarra di stato." + +#: C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "Chiudere un registro" + +#: C/mate-system-log.xml:349(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"Per chiudere un registro, scegliere FileChiudi." + +#: C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "Uscire da System Log Viewer" + +#: C/mate-system-log.xml:356(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"Per uscire da System Log Viewer, scegliere " +"FileEsci." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Andrea Zagli , 2006-2008" diff --git a/logview/help/ko/figures/syslog_window.png b/logview/help/ko/figures/syslog_window.png new file mode 100644 index 00000000..6ee88546 Binary files /dev/null and b/logview/help/ko/figures/syslog_window.png differ diff --git a/logview/help/ko/ko.po b/logview/help/ko/ko.po new file mode 100644 index 00000000..9c9c9f5b --- /dev/null +++ b/logview/help/ko/ko.po @@ -0,0 +1,388 @@ +# Sun Microsystems, 2003. +# Changwoo Ryu , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-system-log-help\n" +"POT-Creation-Date: 2007-04-06 23:23+0900\n" +"PO-Revision-Date: 2007-04-14 03:23+0900\n" +"Last-Translator: Changwoo Ryu \n" +"Language-Team: MATE Korea \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../C/legal.xml:2(para) +msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." +msgstr "" + +#: ../C/legal.xml:12(para) +msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license." +msgstr "" + +#: ../C/legal.xml:19(para) +msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters." +msgstr "" + +#: ../C/legal.xml:35(para) +msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" + +#: ../C/legal.xml:55(para) +msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES." +msgstr "" + +#: ../C/legal.xml:28(para) +msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +msgstr "" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: ../C/mate-system-log.xml:233(None) +msgid "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "" + +#: ../C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "" + +#: ../C/mate-system-log.xml:26(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system log files." +msgstr "" + +#: ../C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: ../C/mate-system-log.xml:32(holder) ../C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: ../C/mate-system-log.xml:35(year) ../C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: ../C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: ../C/mate-system-log.xml:47(publishername) ../C/mate-system-log.xml:66(orgname) ../C/mate-system-log.xml:101(para) ../C/mate-system-log.xml:111(para) ../C/mate-system-log.xml:121(para) ../C/mate-system-log.xml:131(para) ../C/mate-system-log.xml:141(para) ../C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "그놈 문서 프로젝트" + +#: ../C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: ../C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "그놈 문서 팀" + +#: ../C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: ../C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: ../C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: ../C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: ../C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: ../C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: ../C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: ../C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "" + +#: ../C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "" + +#: ../C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: ../C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "" + +#: ../C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "" + +#: ../C/mate-system-log.xml:108(para) ../C/mate-system-log.xml:118(para) ../C/mate-system-log.xml:128(para) ../C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun 그놈 문서 팀 gdocteam@sun.com" + +#: ../C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "" + +#: ../C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "" + +#: ../C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "" + +#: ../C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "" + +#: ../C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "" + +#: ../C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "" + +#: ../C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "" + +#: ../C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: ../C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "" + +#: ../C/mate-system-log.xml:159(title) +#, fuzzy +msgid "Feedback" +msgstr "피드백" + +#: ../C/mate-system-log.xml:160(para) +#, fuzzy +msgid "To report a bug or make a suggestion regarding the System Log Viewer application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"&app; 응용프로그램 또는 이 설명서에 대한 버그를 보고하거나\n" +"\t의견을 제시하려면\n" +"\t그놈 피드백 페이지에 있는 지시 사항을 따르십시오. " + +#: ../C/mate-system-log.xml:170(primary) +#, fuzzy +msgid "System Log Viewer" +msgstr "시스템 로그 뷰어" + +#: ../C/mate-system-log.xml:177(title) +#, fuzzy +msgid "Introduction" +msgstr "소개" + +#: ../C/mate-system-log.xml:179(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system logs. System Log Viewer comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display." +msgstr "" + +#: ../C/mate-system-log.xml:187(para) +msgid "System Log Viewer is useful if you are new to system administration because it provides an easier, more user-friendly display of your logs than a text display of the log file. It is also useful for more experienced administrators, as it contains a calendar to help you locate trends and track problems, as well as a monitor to enable you to continuously monitor crucial logs." +msgstr "" + +#: ../C/mate-system-log.xml:197(para) +#, fuzzy +msgid "System Log Viewer is useful only to those who have access to the system log files, which generally requires root access." +msgstr "" +"&app; 응용프로그램을 사용하면 시스템 로그 파일을 감시하고 볼 수 있습니다. \n" +" 시스템 로그 파일을 보려면 root로 로그인해야 합니다." + +#: ../C/mate-system-log.xml:204(title) +#, fuzzy +msgid "Getting Started" +msgstr "시작하기" + +#: ../C/mate-system-log.xml:206(para) +#, fuzzy +msgid "You can start System Log Viewer in the following ways:" +msgstr "다음과 같은 방법으로 &app;을(를) 시작할 수 있습니다." + +#: ../C/mate-system-log.xml:210(term) +#, fuzzy +msgid "Applications menu" +msgstr "응용프로그램 메뉴" + +#: ../C/mate-system-log.xml:212(para) +#, fuzzy +msgid "Choose System ToolsSystem Log." +msgstr "시스템 도구시스템 로그를 선택합니다." + +#: ../C/mate-system-log.xml:216(term) +#, fuzzy +msgid "Command line" +msgstr "명령줄" + +#: ../C/mate-system-log.xml:218(para) +#, fuzzy +msgid "Type mate-system-log, then press Return." +msgstr "mate-system-log를 입력하고 Return 키를 누릅니다." + +#: ../C/mate-system-log.xml:225(para) +#, fuzzy +msgid "When you start System Log Viewer, the following window is displayed." +msgstr "&app;을(를) 시작하면 다음 창이 표시됩니다." + +#: ../C/mate-system-log.xml:229(title) +#, fuzzy +msgid "System Log Viewer Window" +msgstr "\t&app; 창\n" + +#: ../C/mate-system-log.xml:236(phrase) +#, fuzzy +msgid "Shows System Log Viewer main window. Contains menubar, display area, scrollbars, and statusbar." +msgstr "&app; 주 창을 표시합니다. 메뉴 모음, 표시 영역, 스크롤 바 및 상태 표시줄이 포함됩니다." + +#. ==== End of Figure ==== +#: ../C/mate-system-log.xml:242(para) +msgid "The first time you start System Log Viewer, the application displays several log files by default (such as /var/log/messages). Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window." +msgstr "" + +#: ../C/mate-system-log.xml:250(para) +msgid "By default, System Log Viewer monitors every opened log, and any change appears automatically in the main window. See for more information." +msgstr "" + +#: ../C/mate-system-log.xml:259(title) +#, fuzzy +msgid "Usage" +msgstr "사용" + +#: ../C/mate-system-log.xml:262(title) +#, fuzzy +msgid "To View a Log" +msgstr "로그 파일을 보려면" + +#: ../C/mate-system-log.xml:263(para) +#, fuzzy +msgid "To view a log, choose LogOpen. In the Open Log dialog, select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"로그 파일을 보려면 파일열기를 선택합니다. \n" +" \t새 로그 파일 열기 대화 상자에 열려는 로그 파일 이름을 입력한 다음 확인을 클릭합니다. 스크롤 바를 사용하여 로그 파일을 스크롤할 수 있습니다." + +#: ../C/mate-system-log.xml:269(para) +#, fuzzy +msgid "You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window. To display another log already opened in System Log Viewer, select it in the log list." +msgstr "" +"로그 파일을 원하는 수만큼 열 수 있습니다. &app;은(는) 시스템 로그 뷰어 창에 로그 파일을 한 번에 하나씩 표시합니다. &app;에 이미 열려 있는 다른 로그 파일을 표시하려면 파일로그 바꾸기를 선택합니다. \n" +" \t열린 로그 파일에서 계속 이동하려면 파일로그 바꾸기\n" +" \t를 선택합니다." + +#: ../C/mate-system-log.xml:277(para) +msgid "Note that System Log Viewer also lets you open zipped logs (whole filenames end in \".gz\")." +msgstr "" + +#: ../C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "" + +#: ../C/mate-system-log.xml:283(para) +msgid "To copy one or more log lines to the clipboard, just select the lines in the main area and choose the EditCopy menu option. If you want to copy the entire log to the clipboard, select it entirely using the EditSelect All menu option, then choose EditCopy." +msgstr "" + +#: ../C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "" + +#: ../C/mate-system-log.xml:296(para) +msgid "To hide the left sidebar, which contains the log list and calendar, just select the ViewSidebar menu option." +msgstr "" + +#: ../C/mate-system-log.xml:303(title) +#, fuzzy +msgid "To Monitor Logs" +msgstr "로그 파일을 감시하려면" + +#: ../C/mate-system-log.xml:304(para) +#, fuzzy +msgid "You can use System Log Viewer to monitor logs. By default, all logs opened in System Log Viewer are monitored for changes. If new lines are added to a log monitored by System Log Viewer, the log name will appear in bold in the log list. If the log is currently displayed in the main area, the new lines will appear automatically at the end of the log and, after five seconds, the log name will turn back to normal in the list." +msgstr "" +"&app;을(를) 사용하여 선택한 로그 파일을 감시할 수 있습니다. 감시할 로그 파일을 선택하면 \n" +" \t &app;은(는) 별도의 창에 로그 파일의 최신 항목을 표시합니다. \n" +" \t&app;은(는) 로그 감시 창을 갱신하여 추가되는 새 항목을 표시합니다." + +#: ../C/mate-system-log.xml:312(para) +msgid "To stop monitoring a specific log, uncheck the LogMonitor option. Check this option again to turn monitoring back on." +msgstr "" + +#: ../C/mate-system-log.xml:319(title) +#, fuzzy +msgid "To Use the Calendar" +msgstr "달력을 보려면" + +#: ../C/mate-system-log.xml:320(para) +#, fuzzy +msgid "By default, a calendar is displayed in the left side of the System Log Viewer window, under the log list. In this calendar, the dates present in the currently select log are displayed in bold. To jump to a particular date, select it in the calendar." +msgstr "달력을 보려면 보기달력을 선택합니다. 해당 날짜에 대한 로그 파일이 있는 경우 날짜가 굵게 표시됩니다. 특정 날짜의 로그 파일을 보려면 달력에서 해당 날짜를 선택합니다." + +#: ../C/mate-system-log.xml:325(para) +msgid "To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "" + +#: ../C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "" + +#: ../C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" + +#: ../C/mate-system-log.xml:335(para) +#, fuzzy +msgid "Number of lines in the log." +msgstr "파일의 줄 수" + +#: ../C/mate-system-log.xml:337(para) +#, fuzzy +msgid "Size of the log in bytes." +msgstr "파일 크기(바이트)" + +#: ../C/mate-system-log.xml:339(para) +#, fuzzy +msgid "Date the log was last modified." +msgstr "파일이 마지막으로 수정된 날짜" + +#: ../C/mate-system-log.xml:342(para) +msgid "The status bar can be displayed or hidden using the ViewStatusbar option." +msgstr "" + +#: ../C/mate-system-log.xml:348(title) +#, fuzzy +msgid "To Close a Log" +msgstr "로그 파일을 닫으려면" + +#: ../C/mate-system-log.xml:349(para) +#, fuzzy +msgid "To close a log, choose LogClose." +msgstr "로그 파일을 닫으려면 파일닫기를 선택합니다. 열려 있는 마지막 로그 파일을 닫으면 응용프로그램이 종료됩니다." + +#: ../C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "" + +#: ../C/mate-system-log.xml:356(para) +msgid "To exit System Log Viewer, choose LogQuit." +msgstr "" + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: ../C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "" +"Sun Microsystems, 2002\n" +"류창우 , 2007" + diff --git a/logview/help/mate-system-log.omf.in b/logview/help/mate-system-log.omf.in new file mode 100644 index 00000000..b7645819 --- /dev/null +++ b/logview/help/mate-system-log.omf.in @@ -0,0 +1,9 @@ + + + + + user's guide + + + + diff --git a/logview/help/oc/oc.po b/logview/help/oc/oc.po new file mode 100644 index 00000000..b42f3216 --- /dev/null +++ b/logview/help/oc/oc.po @@ -0,0 +1,478 @@ +# Translation of oc.po to Occitan +# Occitan translation of mate-utils-logview documentation. +# Copyright (C) 2006, 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-utils +# documentation package. +# +# Yannig MARCHEGAY (yannig@marchegay.org> - 2006-2007 +# +# Yannig Marchegay (Kokoyaya) , 2007. +msgid "" +msgstr "" +"Project-Id-Version: oc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-25 23:49+0100\n" +"PO-Revision-Date: 2007-11-20 14:31+0100\n" +"Last-Translator: Yannig Marchegay (Kokoyaya) \n" +"Language-Team: Occitan \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);X-Generator: KBabel 1.11.4\n" +"X-Generator: KBabel 1.11.4\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:233(None) +msgid "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical, menu-driven viewer that you can use to " +"view and monitor your system log files." +msgstr "" + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:101(para) C/mate-system-log.xml:111(para) +#: C/mate-system-log.xml:121(para) C/mate-system-log.xml:131(para) +#: C/mate-system-log.xml:141(para) C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "Projècte de documentacion de MATE" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "Còla de documentacion de MATE" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "" + +#: C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "Octòbre de 2005" + +#: C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "" + +#: C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "" + +#: C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "Octòre de 2002" + +#: C/mate-system-log.xml:108(para) C/mate-system-log.xml:118(para) +#: C/mate-system-log.xml:128(para) C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "" + +#: C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "" + +#: C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "Agost de 2002" + +#: C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "" + +#: C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "Julhet de 2002" + +#: C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "" + +#: C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "Mai de 2002" + +#: C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "" + +#: C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "" + +#: C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "" + +#: C/mate-system-log.xml:160(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" + +#: C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "" + +#: C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Introduccion" + +#: C/mate-system-log.xml:179(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a calendar, log monitor and log " +"statistics display." +msgstr "" + +#: C/mate-system-log.xml:187(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a calendar to help you " +"locate trends and track problems, as well as a monitor to enable you to " +"continuously monitor crucial logs." +msgstr "" + +#: C/mate-system-log.xml:197(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" + +#: C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Per començar" + +#: C/mate-system-log.xml:206(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "" + +#: C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "Menut Applications" + +#: C/mate-system-log.xml:212(para) +msgid "" +"Choose System ToolsSystem " +"Log." +msgstr "" + +#: C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Linha de comanda" + +#: C/mate-system-log.xml:218(para) +msgid "Type mate-system-log, then press Return." +msgstr "" + +#: C/mate-system-log.xml:225(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" + +#: C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "" + +#: C/mate-system-log.xml:236(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "" + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:242(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" + +#: C/mate-system-log.xml:250(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" + +#: C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Utilizacion" + +#: C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "" + +#: C/mate-system-log.xml:263(para) +msgid "" +"To view a log, choose LogOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" + +#: C/mate-system-log.xml:269(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" + +#: C/mate-system-log.xml:277(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" + +#: C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "" + +#: C/mate-system-log.xml:283(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" + +#: C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "" + +#: C/mate-system-log.xml:296(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSidebar menu option." +msgstr "" + +#: C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "" + +#: C/mate-system-log.xml:304(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" + +#: C/mate-system-log.xml:312(para) +msgid "" +"To stop monitoring a specific log, uncheck the LogMonitor option. Check this " +"option again to turn monitoring back on." +msgstr "" + +#: C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "" + +#: C/mate-system-log.xml:320(para) +msgid "" +"By default, a calendar is displayed in the left side of the " +"System Log Viewer window, under the log list. In " +"this calendar, the dates present in the currently select log are displayed " +"in bold. To jump to a particular date, select it in the calendar." +msgstr "" + +#: C/mate-system-log.xml:325(para) +msgid "" +"To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "" + +#: C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "" + +#: C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "" + +#: C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "" + +#: C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "" + +#: C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "" + +#: C/mate-system-log.xml:342(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" + +#: C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "" + +#: C/mate-system-log.xml:349(para) +msgid "" +"To close a log, choose LogClose." +msgstr "" + +#: C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "" + +#: C/mate-system-log.xml:356(para) +msgid "" +"To exit System Log Viewer, choose " +"LogQuit." +msgstr "" + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Yannig Marchegay (Kokoyaya) " + diff --git a/logview/help/ru/ru.po b/logview/help/ru/ru.po new file mode 100644 index 00000000..821210b4 --- /dev/null +++ b/logview/help/ru/ru.po @@ -0,0 +1,345 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: log-viewer trunk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-08 09:42+0000\n" +"PO-Revision-Date: 2007-03-09 23:18+0300\n" +"Last-Translator: Sergey V. Mironov \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:233(None) +msgid "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Руководство по Программе просмотра системных журналов" + +#: C/mate-system-log.xml:26(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system log files." +msgstr "Программа просмотра системных журналов - это графический просмотрщик, который позволяет просматривать и производить мониторинг ваших системных файлов журналов событий." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) C/mate-system-log.xml:101(para) C/mate-system-log.xml:111(para) C/mate-system-log.xml:121(para) C/mate-system-log.xml:131(para) C/mate-system-log.xml:141(para) C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "Проект документации Гнома" + +#: C/mate-system-log.xml:2(para) +msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." +msgstr "Следующим разрешается копировать и/или модифицировать этот документ при условии соблюдения GNU Free Documentation License (GFDL), версии 1.1 или любой более поздней опубликованной Фондом свободного программного обеспечения версией без неизменяемых частей, без текстов на обложках. Вы можете найти копию лицензии по этой ссылке или в файле COPYING-DOCS, распространяемом с этим документом." + +#: C/mate-system-log.xml:12(para) +msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license." +msgstr "Этот документ является частью документации MATE распространяемой под лицензией GFDL. Если вы хотите распространять этот документ отдельно от общей документации, вы должны приложить копию лицензии к документу, как написано в части 6 лицензии." + +#: C/mate-system-log.xml:19(para) +msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters." +msgstr "Многие имена и марки используются компаниями для различения их продуктов и услуг и являются торговыми марками. Эти марки присутствуют в любой части документации MATE, и члены проекта документирования MATE знают об этом. Имена выделяются заглавными буквами или начальной заглавной буквой." + +#: C/mate-system-log.xml:35(para) +msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "ДОКУМЕНТ РАСПРОСТРАНЯЕТСЯ \"КАК ЕСТЬ\", БЕЗ ВСЯКИХ ГАРАНТИЙ, ПРИДУМАННЫХ ИЛИ УНАСЛЕДОВАННЫХ, БЕЗ ОГРАНИЧЕНИЙ, ГАРАНТИЙ ТОГО ЧТО ДОКУМЕНТ ИЛИ МОДИФИЦИРОВАННАЯ ВЕРСИЯ ДОКУМЕНТА СВОБОДНА ОТ ДЕФЕКТОВ, ТОЛЬКО ДЛЯ СПЕЦИАЛЬНОГО ИСПОЛЬЗОВАНИЯ НЕ ЗАКЛЮЧАЮЩЕГО В СЕБЕ РИСКИ КАЧЕСТВА, АККУРАТНОСТИ ИЛИ СООТВЕТСТВИЯ ДОКУМЕНТА ИЛИ ИЗМЕНЁННЫХ ВЕРСИЙ ДОКУМЕНТА ВАШИМ ТРЕБОВАНИЯМ. ЕСЛИ ДОКУМЕНТ ИЛИ МОДИФИЦИРОВАННАЯ ВЕРСИЯ ДОКУМЕНТА ИМЕЕТ НЕДОСТАТКИ, ВЫ (А НЕ АВТОР ДОКУМЕНТА ИЛИ ЕГО ПОМОЩНИК) ДОЛЖНЫ САМИ ПРИЛОЖИТЬ УСИЛИЯ К ЕГО ДОРАБОТКИ, КОРРЕКЦИИ ИЛИ ВОССТАНОВЛЕНИЮ. ЭТО ПРЕДУПРЕЖДЕНИЕ СОСТАВЛЯЕТ СУЩЕСТВЕННУЮ ЧАСТЬ ЛИЦЕНЗИИ. ДОКУМЕНТ НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ БЕЗ ДАННОГО ПРЕДУПРЕЖДЕНИЯ И" + +#: C/mate-system-log.xml:55(para) +msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES." +msgstr "НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ И НИ ПРИ КАКОМ ЗАКОННОМ СПОСОБЕ, НИ ПО КАКОМУ СОГЛАШЕНИЮ ИЛИ ДРУГОЙ ПРИЧИНЕ, АВТОР, СОЗДАТЕЛЬ ИЛИ ПОМОЩНИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ПРЯМОЕ, КОСВЕННОЕ, СПЕЦИАЛЬНОЕ, СЛУЧАЙНОЕ ИЛИ ПРЕДНАМЕРЕННОЕ ПОВРЕЖДЕНИЕ ЛЮБОГО СВОЙСТВА, ВКЛЮЧАЯ БЕЗ ОГРАНИЧЕНИЯ ПОТЕРЮ ЖЕЛАНИЯ, РАБОТОСПОСОБНОСТИ, КОМПЬЮТЕРНЫЕ СБОИ ИЛИ НЕПРАВИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ, ВМЕСТЕ ИЛИ ПО-ОТДЕЛЬНОСТИ. НИКАКИЕ ПОВРЕЖДЕНИЯ И ПОТЕРИ НЕ МОГУТ БЫТЬ ВОЗЛОЖЕНЫ НА АВТОРА ДОКУМЕНТА ИЛИ МОДИФИЦИРОВАННОЙ ВЕРСИИ ДОКУМЕНТА, ДАЖЕ ЕСЛИ СТОРОНА БЫЛА ПРОИНФОРМИРОВАНА О ВОЗМОЖНОСТИ ТАКИХ ПОВРЕЖДЕНИЙ." + +#: C/mate-system-log.xml:28(para) +msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +msgstr "ДОКУМЕНТ И ИЗМЕНЁННЫЕ ВЕРСИИ ДОКУМЕНТА ПРЕДСТАВЛЯЮТСЯ ПОЛЬЗОВАТЕЛЮ ПОД ЛИЦЕНЗИЕЙ GNU FREE DOCUMENTATION LICENSE С УВЕДОМЛЕНИЕМ О ТОМ, ЧТО " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "Команда по документированию Гнома" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Руководство по Программе просмотра системных журналов вер. 2.4" + +#: C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "Октябрь 2005" + +#: C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Руководство по Программе просмотра системных журналов вер. 2.3" + +#: C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "Октябрь 2002" + +#: C/mate-system-log.xml:108(para) C/mate-system-log.xml:118(para) C/mate-system-log.xml:128(para) C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun MATE Documentation Team gdocteam@sun.com" + +#: C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Руководство по Программе просмотра системных журналов вер. 2.2" + +#: C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "Август 2002" + +#: C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Руководство по Программе просмотра системных журналов вер. 2.1" + +#: C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "Июль 2002" + +#: C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Руководство по Программе просмотра системных журналов вер. 2.0" + +#: C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "Май 2002" + +#: C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "Справка по Просмотрщику журналов" + +#: C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Данное руководство описывает версию 2.12 Программы просмотра системных журналов" + +#: C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "Обратная связь" + +#: C/mate-system-log.xml:160(para) +msgid "To report a bug or make a suggestion regarding the System Log Viewer application or this manual, follow the directions in the MATE Feedback Page." +msgstr "Чтобы сообщить об ошибке или внести предложение относительно Программы просмотра системных журналов или данного руководства, следуйте ссылке Обратная связь с Гномом." + +#: C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "Программа просмотра системных журналов" + +#: C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Введение" + +#: C/mate-system-log.xml:179(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system logs. System Log Viewer comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display." +msgstr "Программа просмотра системных журналов - это графический просмотрщик, который может быть испозован вами для просмотра и мониторинга ваших системных логов (журналов). Программа просмотра системных журналов содержит немногочисленные функции, включающие календать, монитор журналов и окно статистики журнала, которые могут помочь вам управлять вашими журналами." + +#: C/mate-system-log.xml:187(para) +msgid "System Log Viewer is useful if you are new to system administration because it provides an easier, more user-friendly display of your logs than a text display of the log file. It is also useful for more experienced administrators, as it contains a calendar to help you locate trends and track problems, as well as a monitor to enable you to continuously monitor crucial logs." +msgstr "Программа просмотра системных журналов будет полезна, если вы новичок в системном администрировании, поскольку она предоставляет простое, более дружественное для пользователя представление ваших журналов, чем текстовый вывод файла журнала. Она также полезна для более опытных администраторов, так как содержит календарь, помогающий локализовать общие направления и последствия проблем, также как и монитор, предоставляющий вам возможность непрерывно отслеживать критически важные журналы." + +#: C/mate-system-log.xml:197(para) +msgid "System Log Viewer is useful only to those who have access to the system log files, which generally requires root access." +msgstr "Программа просмотра системных журналов полезна только для тех, кто имеет доступ к файлам системных журналов, которые обычно требуют прав суперпользователя (root)." + +#: C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Приступая к работе" + +#: C/mate-system-log.xml:206(para) +msgid "You can start System Log Viewer in the following ways:" +msgstr "Вы можете запустить Программу просмотра системных журналов следующими способами:" + +#: C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "Меню Система" + +#: C/mate-system-log.xml:212(para) +msgid "Choose System ToolsSystem Log." +msgstr "Выберите АдминистрированиеСистемный журнал." + +#: C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Командная строка" + +#: C/mate-system-log.xml:218(para) +msgid "Type mate-system-log, then press Return." +msgstr "Наберите mate-system-log, затем нажмите Enter." + +#: C/mate-system-log.xml:225(para) +msgid "When you start System Log Viewer, the following window is displayed." +msgstr "После запуска Программы просмотра системных журналов отображается следующее окно." + +#: C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "Окно Программы просмотра системных журналов" + +#: C/mate-system-log.xml:236(phrase) +msgid "Shows System Log Viewer main window. Contains menubar, display area, scrollbars, and statusbar." +msgstr "Показано главное окно Программы просмотра системных журналов, содержащее меню, поле вывода информации, полосы прокрутки и строку состояния." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:242(para) +msgid "The first time you start System Log Viewer, the application displays several log files by default (such as /var/log/messages). Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window." +msgstr "После первого запуска Программы просмотра системных журналов приложение по умолчанию отображает несколько файлов журналов (такие, как /var/log/messages). Открытые логи (журналы) представлены в списке в левой части окна приложения. Выбранный из списка журнал отображается в главной части окна приложения." + +#: C/mate-system-log.xml:250(para) +msgid "By default, System Log Viewer monitors every opened log, and any change appears automatically in the main window. See for more information." +msgstr "По умолчанию Программа просмотра системных журналов отображает изменения каждого открытого журнала, и любые изменения появляются автоматически в главном окне. Подробнее можно узнать здесь ." + +#: C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Применение" + +#: C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "Просмотр журнала" + +#: C/mate-system-log.xml:263(para) +msgid "To view a log, choose LogOpen. In the Open Log dialog, select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "Чтобы просмотреть журнал, выберите ФайлОткрыть. В диалоге Открыть журнал выберите журнал, который хотите открыть, затем нажмите кнопку Открыть. Используйте полосы прокрутки для передвижения по журналу." + +#: C/mate-system-log.xml:269(para) +msgid "You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window. To display another log already opened in System Log Viewer, select it in the log list." +msgstr "Вы можете открыть столько журналов, сколько вам нужно. Программа просмотра системных журналов отображает по одному журналу в окне Программы просмотра системных журналов. Открытые журналы представлены списком в левой стороне окна программы. Выбранный в этом списке журнал представлен в главной части окна программы. Чтобы отобразить другой уже открытый журнал в Программе просмотра системных журналов, выберите его в списке журналов." + +#: C/mate-system-log.xml:277(para) +msgid "Note that System Log Viewer also lets you open zipped logs (whole filenames end in \".gz\")." +msgstr "Заметьте, что Программа просмотра системных журналов также позволяет вам открывать архивированные журналы (названия файлов которых оканчиваются на \".gz\")." + +#: C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Копирование строк журнала в буфер обмена" + +#: C/mate-system-log.xml:283(para) +msgid "To copy one or more log lines to the clipboard, just select the lines in the main area and choose the EditCopy menu option. If you want to copy the entire log to the clipboard, select it entirely using the EditSelect All menu option, then choose EditCopy." +msgstr "Чтобы скопировать одну или более строк журнала в буфер обмена просто выделите строки в главной части окна и выберите ПравкаКопировать. Если вы хотите копировать весь журнал в буфер обмена, выберите его полностью, используя настройку ПравкаВыделить всё, затем выберите ПравкаКопировать." + +#: C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "Скрытие боковой панели" + +#: C/mate-system-log.xml:296(para) +msgid "To hide the left sidebar, which contains the log list and calendar, just select the ViewSidebar menu option." +msgstr "Чтобы скрыть боковую панель слева, которая содержит список журналов и календарь, просто выберите значение меню ВидБоковая панель." + +#: C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "Мониторинг журналов" + +#: C/mate-system-log.xml:304(para) +msgid "You can use System Log Viewer to monitor logs. By default, all logs opened in System Log Viewer are monitored for changes. If new lines are added to a log monitored by System Log Viewer, the log name will appear in bold in the log list. If the log is currently displayed in the main area, the new lines will appear automatically at the end of the log and, after five seconds, the log name will turn back to normal in the list." +msgstr "Вы можете использовать Программу просмотра системных журналов для мониторинга логов (журналов). По умолчанию, ко всем журналам, открытым в Программе просмотра системных журналов, применяются текущие изменения. Если новые строки добавлены к журналу, просматриваемому с помощью Программы просмотра системных журналов, наименование журнала выделится жирным начертанием шрифта в списке журналов. Если журнал отображается в настоящее время в главной части окна, новые линии появятся автоматически в конце журнала и, по истечении пяти секунд, наименование журнала снова вернётся к обычному начертанию в списке журналов." + +#: C/mate-system-log.xml:312(para) +msgid "To stop monitoring a specific log, uncheck the LogMonitor option. Check this option again to turn monitoring back on." +msgstr "Чтобы прекратить мониторинг отдельного журнала, разотметьте настройку ВидОтслеживать. Для включения мониторинга отметьте эту настройку снова." + +#: C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "Использование календаря" + +#: C/mate-system-log.xml:320(para) +msgid "By default, a calendar is displayed in the left side of the System Log Viewer window, under the log list. In this calendar, the dates present in the currently select log are displayed in bold. To jump to a particular date, select it in the calendar." +msgstr "По умолчанию календарь отображён в левой стороне окна Программы просмотра системных журналов, под списком журналов. Присутствующие в выбранном в настоящий момент журнале даты отображаются в календаре жирным начертанием. Чтобы перейти к определённой дате, выберите её в календаре." + +#: C/mate-system-log.xml:325(para) +msgid "To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "Чтобы скрыть календарь, разотметьте пункт в меню ВидКалендарь." + +#: C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "Просмотр информации о журнале" + +#: C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "Информация о журнале обычно отображена в строке состояния, включая:" + +#: C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "Количество строк в журнале." + +#: C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "Размер журнала в байтах." + +#: C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "Дату последнего обновления (изменения) журнала." + +#: C/mate-system-log.xml:342(para) +msgid "The status bar can be displayed or hidden using the ViewStatusbar option." +msgstr "Строка состояния может быть показана или скрыта через пункт меню ВидСтрока состояния." + +#: C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "Закрытие просмотра журнала" + +#: C/mate-system-log.xml:349(para) +msgid "To close a log, choose LogClose." +msgstr "Чтобы закрыть журнал, выберите ФайлЗакрыть." + +#: C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "Завершение работы с Программой просмотра системных журналов" + +#: C/mate-system-log.xml:356(para) +msgid "To exit System Log Viewer, choose LogQuit." +msgstr "Чтобы завершить работу с Программой просмотра системных журналов выберите ФайлВыход." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Сергей В. Миронов sergo@bk.ru 2007" + diff --git a/logview/help/sv/figures/syslog_window.png b/logview/help/sv/figures/syslog_window.png new file mode 100644 index 00000000..cc162e8c Binary files /dev/null and b/logview/help/sv/figures/syslog_window.png differ diff --git a/logview/help/sv/sv.po b/logview/help/sv/sv.po new file mode 100644 index 00000000..eb76fc32 --- /dev/null +++ b/logview/help/sv/sv.po @@ -0,0 +1,356 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: mate-utils-logview docs\n" +"POT-Creation-Date: 2008-12-23 15:29+0000\n" +"PO-Revision-Date: 2009-02-10 16:07+0100\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:233(None) +msgid "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Handbok för Systemloggvisare" + +#: C/mate-system-log.xml:26(para) +msgid "System Log Viewer is a graphical user interface to view and monitor system log files." +msgstr "Systemloggvisare är ett grafiskt användargränssnitt för att visa och övervaka dina systemloggfiler." + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) +#: C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) +#: C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) +#: C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:101(para) +#: C/mate-system-log.xml:111(para) +#: C/mate-system-log.xml:121(para) +#: C/mate-system-log.xml:131(para) +#: C/mate-system-log.xml:141(para) +#: C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "MATE:s dokumentationsprojekt" + +#: C/mate-system-log.xml:2(para) +msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." +msgstr "Tillstånd att kopiera, distribuera och/eller modifiera detta dokument ges under villkoren i GNU Free Documentation License (GFDL), version 1.1 eller senare, utgivet av Free Software Foundation utan standardavsnitt och omslagstexter. En kopia av GFDL finns att hämta på denna länk eller i filen COPYING-DOCS som medföljer denna handbok." + +#: C/mate-system-log.xml:12(para) +msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license." +msgstr "Denna handbok utgör en av flera MATE-handböcker som distribueras under villkoren i GFDL. Om du vill distribuera denna handbok separat från övriga handböcker kan du göra detta genom att lägga till en kopia av licensavtalet i handboken enligt instruktionerna i avsnitt 6 i licensavtalet." + +#: C/mate-system-log.xml:19(para) +msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters." +msgstr "Flera namn på produkter och tjänster är registrerade varumärken. I de fall dessa namn förekommer i MATE-dokumentation - och medlemmarna i MATE-dokumentationsprojektet är medvetna om dessa varumärken - är de skrivna med versaler eller med inledande versal." + +#: C/mate-system-log.xml:35(para) +msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "DOKUMENTET TILLHANDAHÅLLS I \"BEFINTLIGT SKICK\" UTAN NÅGRA SOM HELST GARANTIER, VARE SIG UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA, INKLUSIVE, MEN INTE BEGRÄNSAT TILL, GARANTIER ATT DOKUMENTET ELLER EN MODIFIERAD VERSION AV DOKUMENTET INTE INNEHÅLLER NÅGRA FELAKTIGHETER, ÄR LÄMPLIGT FÖR ETT VISST ÄNDAMÅL ELLER INTE STRIDER MOT LAG. HELA RISKEN VAD GÄLLER KVALITET, EXAKTHET OCH UTFÖRANDE AV DOKUMENTET OCH MODIFIERADE VERSIONER AV DOKUMENTET LIGGER HELT OCH HÅLLET PÅ ANVÄNDAREN. OM ETT DOKUMENT ELLER EN MODIFIERAD VERSION AV ETT DOKUMENT SKULLE VISA SIG INNEHÅLLA FELAKTIGHETER I NÅGOT HÄNSEENDE ÄR DET DU (INTE DEN URSPRUNGLIGA SKRIBENTEN, FÖRFATTAREN ELLER NÅGON ANNAN MEDARBETARE) SOM FÅR STÅ FÖR ALLA EVENTUELLA KOSTNADER FÖR SERVICE, REPARATIONER ELLER KORRIGERINGAR. DENNA GARANTIFRISKRIVNING UTGÖR EN VÄSENTLIG DEL AV DETTA LICENSAVTAL. DETTA INNEBÄR ATT ALL ANVÄNDNING AV ETT DOKUMENT ELLER EN MODIFIERAD VERSION AV ETT DOKUMENT BEVILJAS ENDAST UNDER DENNA ANSVARSFRISKRIVNING;" + +#: C/mate-system-log.xml:55(para) +msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES." +msgstr "UNDER INGA OMSTÄNDIGHETER ELLER INOM RAMEN FÖR NÅGON LAGSTIFTNING, OAVSETT OM DET GÄLLER KRÄNKNING (INKLUSIVE VÅRDSLÖSHET), KONTRAKT ELLER DYLIKT, SKA FÖRFATTAREN, DEN URSPRUNGLIGA SKRIBENTEN ELLER ANNAN MEDARBETARE ELLER ÅTERFÖRSÄLJARE AV DOKUMENTET ELLER AV EN MODIFIERAD VERSION AV DOKUMENTET ELLER NÅGON LEVERANTÖR TILL NÅGON AV NÄMNDA PARTER STÄLLAS ANSVARIG GENTEMOT NÅGON FÖR NÅGRA DIREKTA, INDIREKTA, SÄRSKILDA ELLER OFÖRUTSEDDA SKADOR ELLER FÖLJDSKADOR AV NÅGOT SLAG, INKLUSIVE, MEN INTE BEGRÄNSAT TILL, SKADOR BETRÄFFANDE FÖRLORAD GOODWILL, HINDER I ARBETET, DATORHAVERI ELLER NÅGRA ANDRA TÄNKBARA SKADOR ELLER FÖRLUSTER SOM KAN UPPKOMMA PÅ GRUND AV ELLER RELATERAT TILL ANVÄNDNINGEN AV DOKUMENTET ELLER MODIFIERADE VERSIONER AV DOKUMENTET, ÄVEN OM PART SKA HA BLIVIT INFORMERAD OM MÖJLIGHETEN TILL SÅDANA SKADOR." + +#: C/mate-system-log.xml:28(para) +msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +msgstr "DOKUMENTET OCH MODIFIERADE VERSIONER AV DOKUMENTET TILLHANDAHÅLLS UNDER VILLKOREN I GNU FREE DOCUMENTATION LICENSE ENDAST UNDER FÖLJANDE FÖRUTSÄTTNINGAR: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Suns" + +#: C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "MATE-dokumentationsteam" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Handbok för Systemloggvisare V2.4" + +#: C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "Oktober 2005" + +#: C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Handbok för Systemloggvisare V2.3" + +#: C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "Oktober 2002" + +#: C/mate-system-log.xml:108(para) +#: C/mate-system-log.xml:118(para) +#: C/mate-system-log.xml:128(para) +#: C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Suns MATE-dokumentationsteam gdocteam@sun.com" + +#: C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Handbok för Systemloggvisare V2.2" + +#: C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "Augusti 2002" + +#: C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Handbok för Systemloggvisare V2.1" + +#: C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "Juli 2002" + +#: C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Handbok för Systemloggvisare V2.0" + +#: C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "Maj 2002" + +#: C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "Handbok för Loggvisare" + +#: C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "Denna handbok beskriver version 2.12 av Systemloggvisare." + +#: C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "Återkoppling" + +#: C/mate-system-log.xml:160(para) +msgid "To report a bug or make a suggestion regarding the System Log Viewer application or this manual, follow the directions in the MATE Feedback Page." +msgstr "För att rapportera ett fel eller komma med ett förslag angående programmet Systemloggvisare eller denna handbok, följ anvisningarna på MATE:s återkopplingssida." + +#: C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "Systemloggvisare" + +#: C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Introduktion" + +#: C/mate-system-log.xml:179(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system logs. System Log Viewer comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display." +msgstr "Systemloggvisare är en grafisk, menydriven visare som du kan använda för att visa och övervaka dina systemloggar. Systemloggvisare kommer med ett antal funktioner som kan hjälpa dig att hantera dina loggar, inklusive en kalender, loggövervakare och visning av loggstatistik." + +#: C/mate-system-log.xml:187(para) +msgid "System Log Viewer is useful if you are new to system administration because it provides an easier, more user-friendly display of your logs than a text display of the log file. It is also useful for more experienced administrators, as it contains a calendar to help you locate trends and track problems, as well as a monitor to enable you to continuously monitor crucial logs." +msgstr "Systemloggvisare är användbar om du är nybörjare på systemadministration därför att den tillhandahåller en enklare, mer användarvänlig visning av dina loggar än en textvisning av loggfilen. Det är också användbart för mer erfarna administratörer eftersom den innehåller en kalender för att hjälpa dig att lokalisera trender och spåra problem, såväl som en övervakare för att låta dig kontinuerligt övervaka viktiga loggar." + +#: C/mate-system-log.xml:197(para) +msgid "System Log Viewer is useful only to those who have access to the system log files, which generally requires root access." +msgstr "Systemloggvisare är endast användbar för de som har åtkomst till systemets loggfiler, vilken normalt sett kräver root-åtkomst." + +#: C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Komma igång" + +#: C/mate-system-log.xml:206(para) +msgid "You can start System Log Viewer in the following ways:" +msgstr "Du kan starta Systemloggvisare på följande sätt:" + +#: C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "Program-menyn" + +#: C/mate-system-log.xml:212(para) +msgid "Choose System ToolsLog File Viewer." +msgstr "Välj SystemverktygLoggfilsvisare." + +#: C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Kommandorad" + +#: C/mate-system-log.xml:218(para) +msgid "Type mate-system-log, then press Return." +msgstr "Skriv mate-system-log och tryck sedan Return." + +#: C/mate-system-log.xml:225(para) +msgid "When you start System Log Viewer, the following window is displayed." +msgstr "När du startar Systemloggvisare, visas följande fönster." + +#: C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "Systemloggvisarens fönster" + +#: C/mate-system-log.xml:236(phrase) +msgid "Shows System Log Viewer main window. Contains menubar, display area, scrollbars, and statusbar." +msgstr "Visar Systemloggvisarens huvudfönster. Innehåller menyrad, visningsruta, rullister och statusrad." + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:242(para) +msgid "The first time you start System Log Viewer, the application displays several log files by default (such as /var/log/messages). Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window." +msgstr "Första gången du startar Systemloggvisare, visar programmet flera loggfiler som standard (såsom /var/log/messages). Öppnade loggar listas på vänstra sidan av programfönstret. Den logg som markeras i denna lista visas i huvuddelen av programfönstret." + +#: C/mate-system-log.xml:250(para) +msgid "By default, System Log Viewer monitors every opened log, and any change appears automatically in the main window. See for more information." +msgstr "Som standard, övervakar Systemloggvisare alla öppnade loggar och de ändringar som sker visas automatiskt i huvudfönstret. Se för mer information." + +#: C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Användning" + +#: C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "För att visa en logg" + +#: C/mate-system-log.xml:263(para) +msgid "To view a log, choose FileOpen. In the Open Log dialog, select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "För att visa en logg, välj ArkivÖppna. I dialogrutan Öppna logg, välj loggen som du vill öppna, klicka sedan på Öppna. Använd rullisterna för att rulla genom loggen." + +#: C/mate-system-log.xml:269(para) +msgid "You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window. To display another log already opened in System Log Viewer, select it in the log list." +msgstr "Du kan öppna så många loggar som du vill. Systemloggvisare visar en logg åt gången i Systemloggvisarefönstret. Öppnade loggar listas på vänster sida av programfönstret. Den logg som markeras i denna lista visas i huvuddelen av programfönstret. För att visa en annan logg som redan är öppnad i Systemloggvisare, markera den i logglistan." + +#: C/mate-system-log.xml:277(para) +msgid "Note that System Log Viewer also lets you open zipped logs (whole filenames end in \".gz\")." +msgstr "Notera att Systemloggvisare även låter dig öppna zip-packade loggar (hela filnamn slutar med \".gz\")." + +#: C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "För att kopiera loggrader till urklipp" + +#: C/mate-system-log.xml:283(para) +msgid "To copy one or more log lines to the clipboard, just select the lines in the main area and choose the EditCopy menu option. If you want to copy the entire log to the clipboard, select it entirely using the EditSelect All menu option, then choose EditCopy." +msgstr "För att kopiera en eller flera loggrader till urklipp, markera helt enkelt raderna i huvuddelen och välj menyalternativet RedigeraKopiera. Om du vill kopiera hela loggen till urklipp, markera hela loggen med menyalternativet RedigeraMarkera alla, välj sedan RedigeraKopiera." + +#: C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "För att dölja sidoraden" + +#: C/mate-system-log.xml:296(para) +msgid "To hide the left sidebar, which contains the log list and calendar, just select the ViewSide pane menu option." +msgstr "För att dölja vänstra sidoraden, vilken innehåller logglistan och kalendern, välj bara menyalternativet VisaSidopanel." + +#: C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "För att övervaka loggar" + +#: C/mate-system-log.xml:304(para) +msgid "You can use System Log Viewer to monitor logs. By default, all logs opened in System Log Viewer are monitored for changes. If new lines are added to a log monitored by System Log Viewer, the log name will appear in bold in the log list. If the log is currently displayed in the main area, the new lines will appear automatically at the end of the log and, after five seconds, the log name will turn back to normal in the list." +msgstr "Du kan använda Systemloggvisare för att övervaka loggar. Som standard, alla loggar som öppnas i Systemloggvisare övervakas efter ändringar. Om ny rader läggs till i en logg som övervakas av Systemloggvisare kommer loggnamnet att visas i fet text i logglistan. Om loggen visas för närvarande i huvuddelen kommer de nya raderna att visas automatiskt på slutet av loggen och efter fem sekunder kommer loggnamnet att återgå till normalt i listan." + +#: C/mate-system-log.xml:312(para) +msgid "To stop monitoring a specific log, uncheck the ViewMonitor option. Check this option again to turn monitoring back on." +msgstr "För att stoppa övervakningen av en specifik logg, kryssa av alternativet VisaÖvervaka. Kryssa för detta alternativ igen för att aktivera övervakningen." + +#: C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "För att använda kalendern" + +#: C/mate-system-log.xml:320(para) +msgid "By default, a calendar is displayed in the left side of the System Log Viewer window, under the log list. In this calendar, the dates present in the currently select log are displayed in bold. To jump to a particular date, select it in the calendar." +msgstr "Som standard visas en kalender på vänstra sidan av Systemloggvisare, under logglistan. I denna kalender visas de datum som finns i den för närvarande valda loggen i fet text. För att hoppa till ett specifikt datum, välj det i kalendern." + +#: C/mate-system-log.xml:325(para) +msgid "To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "För att dölja kalendern, kryssa bort menyalternativet VisaKalender." + +#: C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "För att visa logginformation" + +#: C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "Logginformation visas vanligtvis i statusraden, inklusive:" + +#: C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "Antal rader i loggen." + +#: C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "Storlek på loggen i byte." + +#: C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "Datumet loggen senaste ändrades." + +#: C/mate-system-log.xml:342(para) +msgid "The status bar can be displayed or hidden using the ViewStatusbar option." +msgstr "Statusraden kan visas eller döljas genom alternativet VisaStatusrad." + +#: C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "För att stänga en logg" + +#: C/mate-system-log.xml:349(para) +msgid "To close a log, choose FileClose." +msgstr "För att stänga en logg, välj ArkivStäng." + +#: C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "För att avsluta Systemloggvisare" + +#: C/mate-system-log.xml:356(para) +msgid "To exit System Log Viewer, choose FileQuit." +msgstr "För att avsluta Systemloggvisare, välj ArkivAvsluta." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Daniel Nylander , 2006, 2008, 2009" + diff --git a/logview/help/uk/figures/syslog_window.png b/logview/help/uk/figures/syslog_window.png new file mode 100644 index 00000000..87b54453 Binary files /dev/null and b/logview/help/uk/figures/syslog_window.png differ diff --git a/logview/help/uk/uk.po b/logview/help/uk/uk.po new file mode 100644 index 00000000..2a85a199 --- /dev/null +++ b/logview/help/uk/uk.po @@ -0,0 +1,359 @@ +# Ukrainian translation of mate-utils logview manual +# Copyright (C) 2001 Free Software Foundation, Inc. +# Maxim Dziumanenko , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: mate-utils logview manual\n" +"POT-Creation-Date: 2006-03-14 12:04+0200\n" +"PO-Revision-Date: 2006-03-15 10:33+0300\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../C/legal.xml:2(para) +msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." +msgstr "Дозволяється копіювати, розповсюджувати та/або змінювати цей документ на умовах ліцензії GNU Free Documentation License (GFDL), версії 1.1 або будь-якої старшої версії, що опублікована Free Software Foundation без інваріантних розділів, тексту титульної сторінки, та тексту фінальної сторінки. Копію GFDL можна знайти за адресою або у файлі COPYING-DOCS, що постачається з цією довідкою." + +#: ../C/legal.xml:12(para) +msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license." +msgstr "Ця довідка є частиною збірки документації з MATE, що постачається на умовах ліцензії GFDL. Якщо ви бажаєте розповсюджувати цю довідку окремо від збірки, можете це зробити додавши до довідки копію ліцензії, як описано у пункті 6 ліцензії." + +#: ../C/legal.xml:19(para) +msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters." +msgstr "Більшість назв, що використовуються компаніями для розповсюдження їх продуктів та послуг є торговими марками. Якщо такі назви зустрічаються у документації з MATE та учасникам проекту документування MATE відомо, що вони є торговими марками, тоді ці назви пишуться великими літерами або починаються з великої літери." + +#: ../C/legal.xml:35(para) +msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "ДОКУМЕНТ НАДАЄТЬСЯ \"ЯК Є\", БЕЗ БУДЬ-ЯКИХ ГАРАНТІЇ, ЯВНИХ ЧИ НЕЯВНИХ, ВКЛЮЧАЮЧИ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ, ГАРАНТІЙ ЩО ЦЕЙ ДОКУМЕНТ ЧИ ЗМІНЕНА ВЕРСІЯ ДОКУМЕНТА ВІЛЬНІ ВІД ДЕФЕКТІВ, ПРИДАТНІ ДО ПРОДАЖУ, ВІДПОВІДАЮТЬ ПЕВНІЙ МЕТІ АБО НЕ ПОРУШУЮТЬ ЧИЇСЬ ПРАВА. ВЕСЬ РИЗИК ЗА ЯКІСТЬ, ТОЧНІСТЬ, ТА ЧИННІСТЬ ЦЬОГО ДОКУМЕНТУ АБО ЙОГО ЗМІНЕНИХ ВЕРСІЙ ЛЕЖИТЬ НА ВАС. ЯКЩО БУДЬ-ЯКИЙ ДОКУМЕНТ ЧИ ЗМІНЕНА ВЕРСІЯ БУДУТЬ ВИЗНАНІ ДЕФЕКТНИМИ У БУДЬ-ЯКОМУ ВІДНОШЕННІ, ВИ (НЕ ПОЧАТКОВИЙ УКЛАДАЧ, АВТОР АБО БУДЬ-ЯКИЙ СПІВАВТОР) БЕРЕТЕ НА СЕБЕ ВИТРАТИ ЗА БУДЬ-ЯКЕ НЕОБХІДНЕ ОБСЛУГОВУВАННЯ, РЕМОНТ ЧИ ВИПРАВЛЕННЯ. ЦЯ ВІДМОВА ВІД ГАРАНТІЙ СКЛАДАЄ ВАЖЛИВУ ЧАСТИНУ ЦІЄЇ ЛІЦЕНЗІЇ. НЕ ДОПУСКАЄТЬСЯ ВИКОРИСТАННЯ ЦЬОГО ДОКУМЕНТУ АБО ЙОГО ЗМІНЕНОЇ ВЕРСІЇ БЕЗ ПРИЙНЯТТЯ ЦІЄЇ ВІДМОВИ; ТА" + +#: ../C/legal.xml:55(para) +msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES." +msgstr "НІ ЗА ЯКИХ ОБСТАВИН ТА ЗА БУДЬ-ЯКОГО ЗАКОНОДАВСТВА, ЧИ ТО ГРОМАДЯНСЬКОЇ ВІДПОВІДАЛЬНОСТІ (ВКЛЮЧАЮЧИ ХАЛАТНІСТЬ), ДОГОВОРУ, ЧИ ЧОГОСЬ ІНШОГО, АВТОР, ПОЧАТКОВИЙ УКЛАДАЧ, БУДЬ-ЯКИЙ СПІВАВТОР, АБО ДИСТРИБ'ЮТОР ДОКУМЕНТУ ЧИ ЗМІНЕНОЇ ВЕРСІЇ ДОКУМЕНТУ, АБО БУДЬ-ЯКИЙ ПОСТАЧАЛЬНИК БУДЬ-ЯКОЇ З ЦИХ СТОРІН, НЕ НЕСЕ ВІДПОВІДАЛЬНІСТЬ ПЕРЕД БУДЬ-ЯКОЮ ОСОБОЮ ЗА БУДЬ-ЯКІ ПРЯМІ, НЕПРЯМІ, ОСОБЛИВІ, ВИПАДКОВІ, АБО ІСТОТНІ ЗБИТКИ БУДЬ-ЯКОГО ХАРАКТЕРУ ВКЛЮЧАЮЧИ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ, ЗБИТКАМИ ВІД ВТРАТИ ПРЕСТИЖУ, ЗУПИНКИ РОБОТИ, ЗБОЇВ АБО НЕСПРАВНОСТЕЙ КОМП'ЮТЕРА, АБО БУДЬ-ЯКІ ІНШІ ЗБИТКИ АБО ВТРАТИ ЩО ВИНИКЛИ БЕЗВІДНОСНО АБО ВНАСЛІДОК ВИКОРИСТАННЯ ЦЬОГО ДОКУМЕНТУ ТА ЗМІНЕНИХ ВЕРСІЙ ЦЬОГО ДОКУМЕНТУ, НАВІТЬ ЯКЩО ЦІ СТОРОНИ, МОЖЛИВО, БУЛИ ПРОІНФОРМОВАНІ ПРО МОЖЛИВІСТЬ ТАКИХ ЗБИТКІВ." + +#: ../C/legal.xml:28(para) +msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +msgstr "ДОКУМЕНТ ТА ЗМІНЕНІ ВЕРСІЇ ЦЬОГО ДОКУМЕНТУ ПОСТАЧАЮТЬСЯ НА УМОВАХ ВІЛЬНОЇ ЛІЦЕНЗІЇ ДЛЯ ДОКУМЕНТАЦІЇ GNU З ПОДАЛЬШИМ РОЗУМІННЯМ ЩО: " + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: ../C/mate-system-log.xml:233(None) +msgid "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" +msgstr "@@image: 'figures/syslog_window.png'; md5=82f6788bd75b851d229ddd8e24465b8f" + +#: ../C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "Довідка з програми \"Переглядач системних журналів\"" + +#: ../C/mate-system-log.xml:26(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system log files." +msgstr "Переглядач системних журналів - графічна програма, яку можна використовувати для перегляду та контролю системних жирналів." + +#: ../C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: ../C/mate-system-log.xml:32(holder) +#: ../C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: ../C/mate-system-log.xml:35(year) +#: ../C/mate-system-log.xml:146(date) +msgid "2000" +msgstr "2000" + +#: ../C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: ../C/mate-system-log.xml:47(publishername) +#: ../C/mate-system-log.xml:66(orgname) +#: ../C/mate-system-log.xml:101(para) +#: ../C/mate-system-log.xml:111(para) +#: ../C/mate-system-log.xml:121(para) +#: ../C/mate-system-log.xml:131(para) +#: ../C/mate-system-log.xml:141(para) +#: ../C/mate-system-log.xml:151(para) +msgid "MATE Documentation Project" +msgstr "Проект документування MATE" + +#: ../C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: ../C/mate-system-log.xml:55(surname) +msgid "MATE Documentation Team" +msgstr "Команда документування MATE" + +#: ../C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: ../C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: ../C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: ../C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: ../C/mate-system-log.xml:72(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: ../C/mate-system-log.xml:73(surname) +msgid "Noel" +msgstr "Noel" + +#: ../C/mate-system-log.xml:75(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: ../C/mate-system-log.xml:95(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "Довідка з програми \"Переглядач системних журналів\" версії 2.4" + +#: ../C/mate-system-log.xml:96(date) +msgid "October 2005" +msgstr "Жовтень 2005" + +#: ../C/mate-system-log.xml:98(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: ../C/mate-system-log.xml:105(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "Довідка з програми \"Переглядач системних журналів\" версії 2.3" + +#: ../C/mate-system-log.xml:106(date) +msgid "October 2002" +msgstr "Жовтень 2002" + +#: ../C/mate-system-log.xml:108(para) +#: ../C/mate-system-log.xml:118(para) +#: ../C/mate-system-log.xml:128(para) +#: ../C/mate-system-log.xml:138(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun Команда документування MATE gdocteam@sun.com" + +#: ../C/mate-system-log.xml:115(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "Довідка з програми \"Переглядач системних журналів\" версії 2.2" + +#: ../C/mate-system-log.xml:116(date) +msgid "August 2002" +msgstr "Серпень 2002" + +#: ../C/mate-system-log.xml:125(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "Довідка з програми \"Переглядач системних журналів\" версії 2.1" + +#: ../C/mate-system-log.xml:126(date) +msgid "July 2002" +msgstr "Липень 2002" + +#: ../C/mate-system-log.xml:135(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "Довідка з програми \"Переглядач системних журналів\" версії 2.0" + +#: ../C/mate-system-log.xml:136(date) +msgid "May 2002" +msgstr "Травень 2002" + +#: ../C/mate-system-log.xml:145(revnumber) +msgid "Logview Manual" +msgstr "Довідка з програми \"Переглядач системних журналів\"" + +#: ../C/mate-system-log.xml:148(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: ../C/mate-system-log.xml:156(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "У довідці описується програма \"Переглядач системних журналів\" версії 2.12" + +#: ../C/mate-system-log.xml:159(title) +msgid "Feedback" +msgstr "Зворотний зв'язок" + +#: ../C/mate-system-log.xml:160(para) +msgid "To report a bug or make a suggestion regarding the System Log Viewer application or this manual, follow the directions in the MATE Feedback Page." +msgstr "Щоб сповістити про помилку або внести пропозицію відносно програми Переглядач системних журналів або цієї довідки, дотримуйтесь інструкцій на сторінці Зворотний зв'язок з MATE." + +#: ../C/mate-system-log.xml:170(primary) +msgid "System Log Viewer" +msgstr "Переглядач системних журналів" + +#: ../C/mate-system-log.xml:177(title) +msgid "Introduction" +msgstr "Введення" + +#: ../C/mate-system-log.xml:179(para) +msgid "System Log Viewer is a graphical, menu-driven viewer that you can use to view and monitor your system logs. System Log Viewer comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display." +msgstr "Переглядач системних журналів - графічна програма,яку можна використовувати для перегляду та контролю системних журналів. Переглядач системних журналів має нові функції, які можуть допомогти у слідкуванні за журналами, це - календар, монітор журналу та відображення статистики." + +#: ../C/mate-system-log.xml:187(para) +msgid "System Log Viewer is useful if you are new to system administration because it provides an easier, more user-friendly display of your logs than a text display of the log file. It is also useful for more experienced administrators, as it contains a calendar to help you locate trends and track problems, as well as a monitor to enable you to continuously monitor crucial logs." +msgstr "Програма Переглядач системних журналів корисна для початківців у системному адмініструванні, вона має простий, більш дружній до користувача інтерфейс ніж перегляд журналу у звичайному текстовому вигляді. Також вона корисна і досвідченим системним адміністраторам, оскільки допомагає знаходити тенденції та відслідковувати напрямок проблем, та дозволяє безперервно слідкувати за критичними журналами." + +#: ../C/mate-system-log.xml:197(para) +msgid "System Log Viewer is useful only to those who have access to the system log files, which generally requires root access." +msgstr "Для правильної роботи програма Переглядач системних журналів повинна мати доступ до файлів системних журналів, що зазвичай вимагає привілей адміністратора (root)." + +#: ../C/mate-system-log.xml:204(title) +msgid "Getting Started" +msgstr "Початок роботи" + +#: ../C/mate-system-log.xml:206(para) +msgid "You can start System Log Viewer in the following ways:" +msgstr "Програму Переглядач системних журналів можна запустити наступними способами:" + +#: ../C/mate-system-log.xml:210(term) +msgid "Applications menu" +msgstr "З меню Програми" + +#: ../C/mate-system-log.xml:212(para) +msgid "Choose System ToolsSystem Log." +msgstr "Виберіть АдмініструванняСистемний журнал." + +#: ../C/mate-system-log.xml:216(term) +msgid "Command line" +msgstr "Командний рядок" + +#: ../C/mate-system-log.xml:218(para) +msgid "Type mate-system-log, then press Return." +msgstr "Наберіть mate-system-log та натисніть Enter." + +#: ../C/mate-system-log.xml:225(para) +msgid "When you start System Log Viewer, the following window is displayed." +msgstr "Після запуску програми Переглядач системних журналів відобразиться наступне вікно." + +#: ../C/mate-system-log.xml:229(title) +msgid "System Log Viewer Window" +msgstr "Вікно \"Переглядач системних журналів\"" + +#: ../C/mate-system-log.xml:236(phrase) +msgid "Shows System Log Viewer main window. Contains menubar, display area, scrollbars, and statusbar." +msgstr "Показує головне вікно програми Переглядач системних журналів. Містить панель меню, площину відображення, панелі прокрутки та панель стану." + +#. ==== End of Figure ==== +#: ../C/mate-system-log.xml:242(para) +msgid "The first time you start System Log Viewer, the application displays several log files by default (such as /var/log/messages). Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window." +msgstr "При першому запуску програми Переглядач системних журналів відображаються декілька файлів (такі як /var/log/messages). Відкриті журнали перелічені у лівій частині вікна програми. Вибраний у цьому списку журнал відображається у у головній частині вікна програми." + +#: ../C/mate-system-log.xml:250(para) +msgid "By default, System Log Viewer monitors every opened log, and any change appears automatically in the main window. See for more information." +msgstr "С початку програма Переглядач системних журналів слідкує за кожним відкритим журналом, будь-які зміни автоматично з'являються у головному вікні. Докладніше про це у ." + +#: ../C/mate-system-log.xml:259(title) +msgid "Usage" +msgstr "Використання" + +#: ../C/mate-system-log.xml:262(title) +msgid "To View a Log" +msgstr "Перегляд файлу журналу" + +#: ../C/mate-system-log.xml:263(para) +msgid "To view a log, choose LogOpen. In the Open Log dialog, select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "Щоб переглянути журнал виберіть ЖурналВідкрити. У діалоговому вікні Відкрити журнал виберіть потрібний журнал та натисніть на кнопку Відкрити. Для прокручування журналу користуйтесь смугою прокрутки." + +#: ../C/mate-system-log.xml:269(para) +msgid "You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application window. The log selected in this list is displayed in the main area of the application window. To display another log already opened in System Log Viewer, select it in the log list." +msgstr "Можна відкрити будь-яку кількість журналів. Переглядач системних журналів відображає у своєму вікні лише один журнал одночасно. Відкриті журнали перелічені ліворуч у головному вікні програми. Вибраний журнал відображається у головній частині вікна програми. Щоб відобразити інший вже відкритий журнал, виберіть його у списку." + +#: ../C/mate-system-log.xml:277(para) +msgid "Note that System Log Viewer also lets you open zipped logs (whole filenames end in \".gz\")." +msgstr "Зауважте, що Переглядач системних журналів також дозволяє відкривати стиснені журнали (їх назви файлів закінчуються на \".gz\")." + +#: ../C/mate-system-log.xml:282(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "Копіювати виділені повідомлення в буфер обміну" + +#: ../C/mate-system-log.xml:283(para) +msgid "To copy one or more log lines to the clipboard, just select the lines in the main area and choose the EditCopy menu option. If you want to copy the entire log to the clipboard, select it entirely using the EditSelect All menu option, then choose EditCopy." +msgstr "Можна скопіювати один або більше рядків у буфер обміну, просто виділіть рядки у головній області вікна та виберіть ПравкаКопіювати. Якщо у буфер обміну треба скопіювати весь журнал , виділіть весь журнал командою меню ПравкаВиділити все, потім виберіть ПравкаКопіювати." + +#: ../C/mate-system-log.xml:295(title) +msgid "To Hide the Sidebar" +msgstr "Показати чи сховати бічну панель" + +#: ../C/mate-system-log.xml:296(para) +msgid "To hide the left sidebar, which contains the log list and calendar, just select the ViewSidebar menu option." +msgstr "Розташовану ліворуч бічну панель, що містить список журналів та календар, можна сховати. Для цього виберіть пункт меню ВиглядБічна панель." + +#: ../C/mate-system-log.xml:303(title) +msgid "To Monitor Logs" +msgstr "Додати журнал до списку контрольованих" + +#: ../C/mate-system-log.xml:304(para) +msgid "You can use System Log Viewer to monitor logs. By default, all logs opened in System Log Viewer are monitored for changes. If new lines are added to a log monitored by System Log Viewer, the log name will appear in bold in the log list. If the log is currently displayed in the main area, the new lines will appear automatically at the end of the log and, after five seconds, the log name will turn back to normal in the list." +msgstr "Програму Перегляд системних журналів можна використовувати для слідкування за журналами. Спочатку зміни відслідковуються в усіх відкритих журналах. Якщо у журнал, за яким ведеться спостереження, додаються нові рядки, назва журналу у списку журналів виділяється жирним шрифтом. Якщо цей журнал відображається у головній області вікна, нові рядки автоматично являться наприкінці журналу, а через п'ять секунд, шрифтове виділення назви журналу у списку буде знято." + +#: ../C/mate-system-log.xml:312(para) +msgid "To stop monitoring a specific log, uncheck the LogMonitor option. Check this option again to turn monitoring back on." +msgstr "Зупинити слідкування за певним журналом можна знявши позначку з пункту меню ЖурналКонтролювати. Щоб увімкнути слідкування поставте позначку знову." + +#: ../C/mate-system-log.xml:319(title) +msgid "To Use the Calendar" +msgstr "Підписатись на календар" + +#: ../C/mate-system-log.xml:320(para) +msgid "By default, a calendar is displayed in the left side of the System Log Viewer window, under the log list. In this calendar, the dates present in the currently select log are displayed in bold. To jump to a particular date, select it in the calendar." +msgstr "Зазвичай, у лівій частині вікна програми під списком журналів відображається календар. У цьому календарі виділяються жирним шрифтом дати, що присутні у вибраному журналі. Щоб перейти до певної дати виділіть її у календарі." + +#: ../C/mate-system-log.xml:325(para) +msgid "To hide the calendar, uncheck the ViewCalendar menu option." +msgstr "Календар можна сховати вибравши пункт меню ВиглядКалендар." + +#: ../C/mate-system-log.xml:331(title) +msgid "To View Log Information" +msgstr "Перегляд файлу журналу" + +#: ../C/mate-system-log.xml:332(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "У рядку стану зазвичай відображається інформація про журнал:" + +#: ../C/mate-system-log.xml:335(para) +msgid "Number of lines in the log." +msgstr "Кількість рядків у журналі." + +#: ../C/mate-system-log.xml:337(para) +msgid "Size of the log in bytes." +msgstr "Розмір файлу у байтах." + +#: ../C/mate-system-log.xml:339(para) +msgid "Date the log was last modified." +msgstr "Дату останньої зміни файлу." + +#: ../C/mate-system-log.xml:342(para) +msgid "The status bar can be displayed or hidden using the ViewStatusbar option." +msgstr "Рядок стану можна відобразити чи сховати вибираючи пункт меню ВиглядПанель стану." + +#: ../C/mate-system-log.xml:348(title) +msgid "To Close a Log" +msgstr "Закривання файлу журналу" + +#: ../C/mate-system-log.xml:349(para) +msgid "To close a log, choose LogClose." +msgstr "Щоб закрити файл журналу, виберіть ФайлЗакрити." + +#: ../C/mate-system-log.xml:355(title) +msgid "To Exit System Log Viewer" +msgstr "Завершення програми \"Переглядач системних журналів\"" + +#: ../C/mate-system-log.xml:356(para) +msgid "To exit System Log Viewer, choose LogQuit." +msgstr "Щоб завершити програму Переглядач системних журналів виберіть ФайлВийти." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +#: ../C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "Максим Дзюманенко " + diff --git a/logview/help/zh_CN/zh_CN.po b/logview/help/zh_CN/zh_CN.po new file mode 100644 index 00000000..2d2a58a8 --- /dev/null +++ b/logview/help/zh_CN/zh_CN.po @@ -0,0 +1,575 @@ +# Simplified Chinese translations of logview in mate-utils. +# Copyright (C) 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the mate-utils package. +# TeliuTe , 2010. +msgid "" +msgstr "" +"Project-Id-Version: logview master\n" +"POT-Creation-Date: 2010-06-11 09:44+0000\n" +"PO-Revision-Date: 2010-06-27 12:51+0800\n" +"Last-Translator: TeliuTe \n" +"Language-Team: Chinese (simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. When image changes, this message will be marked fuzzy or untranslated for you. +#. It doesn't matter what you translate it to: it's not used at all. +#: C/mate-system-log.xml:251(None) +msgid "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" +msgstr "" +"@@image: 'figures/syslog_window.png'; md5=7cb5e186fe792ed85e408ff33f21eced" + +#: C/mate-system-log.xml:23(title) +msgid "System Log Viewer Manual" +msgstr "系统日志查看器手册" + +#: C/mate-system-log.xml:26(para) +msgid "" +"System Log Viewer is a graphical user interface to view and monitor system " +"log files." +msgstr "系统日志查看器是一个查看和监视系统日志文件的图形化用户界面。" + +#: C/mate-system-log.xml:31(year) +msgid "2003" +msgstr "2003" + +#: C/mate-system-log.xml:32(holder) C/mate-system-log.xml:57(orgname) +msgid "Sun Microsystems" +msgstr "Sun Microsystems" + +#: C/mate-system-log.xml:35(year) C/mate-system-log.xml:165(date) +msgid "2000" +msgstr "2000" + +#: C/mate-system-log.xml:36(holder) +msgid "Judith Samson" +msgstr "Judith Samson" + +#: C/mate-system-log.xml:47(publishername) C/mate-system-log.xml:66(orgname) +#: C/mate-system-log.xml:110(para) C/mate-system-log.xml:120(para) +#: C/mate-system-log.xml:130(para) C/mate-system-log.xml:140(para) +#: C/mate-system-log.xml:150(para) C/mate-system-log.xml:160(para) +#: C/mate-system-log.xml:170(para) +msgid "MATE Documentation Project" +msgstr "MATE 文档项目" + +#: C/mate-system-log.xml:2(para) +msgid "" +"Permission is granted to copy, distribute and/or modify this document under " +"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any " +"later version published by the Free Software Foundation with no Invariant " +"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy " +"of the GFDL at this link or " +"in the file COPYING-DOCS distributed with this manual." +msgstr "" +"对于本文档的复制、分发和/或修改必须遵循自由软件基金会 (Free Software " +"Foundation) 发布的 GNU 自由文档许可证 (GFDL) 版本 1.1 或更高版本,该许可证没" +"有固定的部分、没有封面和背页文本。您可以在此链接上或在随本手册一起分发的 COPYING-DOCS 文件中找到 GFDL 的副" +"本。" + +#: C/mate-system-log.xml:12(para) +msgid "" +"This manual is part of a collection of MATE manuals distributed under the " +"GFDL. If you want to distribute this manual separately from the collection, " +"you can do so by adding a copy of the license to the manual, as described in " +"section 6 of the license." +msgstr "" +"本手册是在 GFDL 许可之下分发的 MATE 手册集合的一部分。如果想要单独分发此手" +"册,可以在手册中添加该许可证的一份副本然后分发,如该许可证的第 6 部分所述。" + +#: C/mate-system-log.xml:19(para) +msgid "" +"Many of the names used by companies to distinguish their products and " +"services are claimed as trademarks. Where those names appear in any MATE " +"documentation, and the members of the MATE Documentation Project are made " +"aware of those trademarks, then the names are in capital letters or initial " +"capital letters." +msgstr "" +"各个公司使用的许多用于区别它们产品和服务的名称都声明为商标。在所有的 MATE 文" +"档以及 MATE 文档项目的成员中,这些名称都是以全大写字母或首字母大写显示,从而" +"表明它们是商标。" + +#: C/mate-system-log.xml:35(para) +msgid "" +"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT " +"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN " +"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION " +"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND" +msgstr "" +"文档按“原样”提供,不提供任何明示或暗示的保证,包括但不限于:文档或文档的修改" +"版本没有适销性方面的缺陷、适合特定目的的适用性,以及没有侵权行为。您将自行承" +"担本文档以及文档修改版本的质量、准确性以及性能方面的风险。如果任何文档或文档" +"修改版本存在缺陷,您(而不是最初的编写者、作者或撰写人)将承担所有必需的服" +"务、维修或更正的费用。此免责声明是本许可证的重要组成部分。如果不接受此免责声" +"明,那么您就没有权利使用任何文档或文档的修改版本;并且" + +#: C/mate-system-log.xml:55(para) +msgid "" +"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING " +"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY " +"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE " +"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON " +"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF " +"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, " +"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES " +"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED " +"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE " +"POSSIBILITY OF SUCH DAMAGES." +msgstr "" +"无论在任何情况以及在任何法律理论下,本文档或文档修改版本的作者、最初的编写" +"者、任何撰写人或任何分发者,或者任意这些方的任何提供者都不对任何人由于使用本" +"文档或文档修改版本引起或带来的任何直接的、间接的、特殊的、偶然的或继发的损失" +"承担任何民事(包括疏忽)、合同或其它方面的责任,这些损失包括但不限于信誉损" +"失、工作停止、计算机失败或故障,或任何以及所有其它损失或由此引发的或与之相关" +"的损失,即使这些方已被告知存在出现此类损失的可能性时也是如此。" + +#: C/mate-system-log.xml:28(para) +msgid "" +"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS " +"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: " +"" +msgstr "" +"本文档以及文档的修改版本都是在遵循 GNU 自由文档许可证的条款下提供,这表示具有" +"以下含义: " + +#: C/mate-system-log.xml:54(firstname) +msgid "Sun" +msgstr "Sun" + +#: C/mate-system-log.xml:55(surname) C/mate-system-log.xml:75(orgname) +msgid "MATE Documentation Team" +msgstr "MATE 文档小组" + +#: C/mate-system-log.xml:58(email) +msgid "gdocteam@sun.com" +msgstr "gdocteam@sun.com" + +#: C/mate-system-log.xml:63(firstname) +msgid "Judith" +msgstr "Judith" + +#: C/mate-system-log.xml:64(surname) +msgid "Samson" +msgstr "Samson" + +#: C/mate-system-log.xml:67(email) +msgid "judith@samsonsource.com" +msgstr "judith@samsonsource.com" + +#: C/mate-system-log.xml:72(firstname) +msgid "Paul" +msgstr "Paul" + +#: C/mate-system-log.xml:73(surname) +msgid "Cutler" +msgstr "Cutler" + +#: C/mate-system-log.xml:76(email) +msgid "pcutler@gnome.org" +msgstr "pcutler@gnome.org" + +#: C/mate-system-log.xml:81(firstname) +msgid "Vincent" +msgstr "Vincent" + +#: C/mate-system-log.xml:82(surname) +msgid "Noel" +msgstr "Noel" + +#: C/mate-system-log.xml:84(email) +msgid "vincent.noel@gmail.com" +msgstr "vincent.noel@gmail.com" + +#: C/mate-system-log.xml:104(revnumber) +msgid "System Log Viewer Manual V2.5" +msgstr "系统日志查看器手册 V2.5" + +#: C/mate-system-log.xml:105(date) +msgid "October 2009" +msgstr "2009年10月" + +#: C/mate-system-log.xml:107(para) +msgid "Paul Cutler pcutler@gnome.org" +msgstr "Paul Cutler pcutler@gnome.org" + +#: C/mate-system-log.xml:114(revnumber) +msgid "System Log Viewer Manual V2.4" +msgstr "系统日志查看器手册 V2.4" + +#: C/mate-system-log.xml:115(date) +msgid "October 2005" +msgstr "2005年10月" + +#: C/mate-system-log.xml:117(para) +msgid "Vincent Noel vincent.noel@gmail.com" +msgstr "Vincent Noel vincent.noel@gmail.com" + +#: C/mate-system-log.xml:124(revnumber) +msgid "System Log Viewer Manual V2.3" +msgstr "系统日志查看器手册 V2.3" + +#: C/mate-system-log.xml:125(date) +msgid "October 2002" +msgstr "2002年10月" + +#: C/mate-system-log.xml:127(para) C/mate-system-log.xml:137(para) +#: C/mate-system-log.xml:147(para) C/mate-system-log.xml:157(para) +msgid "Sun MATE Documentation Team gdocteam@sun.com" +msgstr "Sun MATE Documentation Team gdocteam@sun.com" + +#: C/mate-system-log.xml:134(revnumber) +msgid "System Log Viewer Manual V2.2" +msgstr "系统日志查看器手册 V2.2" + +#: C/mate-system-log.xml:135(date) +msgid "August 2002" +msgstr "2002年8月" + +#: C/mate-system-log.xml:144(revnumber) +msgid "System Log Viewer Manual V2.1" +msgstr "系统日志查看器手册 V2.1" + +#: C/mate-system-log.xml:145(date) +msgid "July 2002" +msgstr "2002年7月" + +#: C/mate-system-log.xml:154(revnumber) +msgid "System Log Viewer Manual V2.0" +msgstr "系统日志查看器手册 V2.0" + +#: C/mate-system-log.xml:155(date) +msgid "May 2002" +msgstr "2002年5月" + +#: C/mate-system-log.xml:164(revnumber) +msgid "Logview Manual" +msgstr "日志查看器手册" + +#: C/mate-system-log.xml:167(para) +msgid "Judith Samson judith@samsonsource.com" +msgstr "Judith Samson judith@samsonsource.com" + +#: C/mate-system-log.xml:175(releaseinfo) +msgid "This manual describes version 2.12 of System Log Viewer." +msgstr "本手册讲述的是系统日志查看器 2.12 版。" + +#: C/mate-system-log.xml:178(title) +msgid "Feedback" +msgstr "反馈" + +#: C/mate-system-log.xml:179(para) +msgid "" +"To report a bug or make a suggestion regarding the System Log Viewer " +"application or this manual, follow the directions in the MATE Feedback Page." +msgstr "" +"要报告关于系统日志查看器或本手册的错误或提出建议,请参照 MATE 反馈页 中的指导。" + +#: C/mate-system-log.xml:189(primary) +msgid "System Log Viewer" +msgstr "系统日志查看器" + +#: C/mate-system-log.xml:196(title) +msgid "Introduction" +msgstr "介绍" + +#: C/mate-system-log.xml:198(para) +msgid "" +"System Log Viewer is a graphical, menu-driven " +"viewer that you can use to view and monitor your system logs. " +"System Log Viewer comes with a few functions that " +"can help you manage your logs, including a log monitor and log statistics " +"display." +msgstr "" +"系统日志查看器 是一个图形的,菜单模式的查看器,您" +"可以使用它查看和监视您的系统日志。系统日志查看器 " +"带有许多功能可以帮助您管理日志,包括一个日历、日志监视和日志状态显示。" + +#: C/mate-system-log.xml:206(para) +msgid "" +"System Log Viewer is useful if you are new to " +"system administration because it provides an easier, more user-friendly " +"display of your logs than a text display of the log file. It is also useful " +"for more experienced administrators, as it contains a monitor to enable you " +"to continuously monitor crucial logs." +msgstr "" +"系统日志查看器 对于一个新的系统管理员是很有帮助" +"的,因为它提供了一个比文本显示更简单的,更友好的显示界面。它也对更多富有经验" +"的管理员很有用处,里面包含的日历可以帮助您定位和跟踪错误,也可以使用监视器来" +"连续监测关键日志。" + +#: C/mate-system-log.xml:215(para) +msgid "" +"System Log Viewer is useful only to those who " +"have access to the system log files, which generally requires root access." +msgstr "" +"系统日志查看器 仅仅对那些通常需要管理员权限的,要" +"访问系统日志文件的用户有用。" + +#: C/mate-system-log.xml:222(title) +msgid "Getting Started" +msgstr "快速入门" + +#: C/mate-system-log.xml:224(para) +msgid "" +"You can start System Log Viewer in the following " +"ways:" +msgstr "您可以用下面的方法启动 系统日志查看器:" + +#: C/mate-system-log.xml:228(term) +msgid "Applications menu" +msgstr "应用程序 菜单" + +#: C/mate-system-log.xml:230(para) +msgid "" +"Choose System ToolsLog " +"File Viewer." +msgstr "" +"选择 系统工具日志查看器。" + +#: C/mate-system-log.xml:234(term) +msgid "Command line" +msgstr "命令行" + +#: C/mate-system-log.xml:236(para) +msgid "" +"Type mate-system-log, then press Return." +msgstr "" +"输入 mate-system-log,然后按一下 回车键。" + +#: C/mate-system-log.xml:243(para) +msgid "" +"When you start System Log Viewer, the following " +"window is displayed." +msgstr "" +"当您启动了 系统日志查看器,会出来下面的窗口。" + +#: C/mate-system-log.xml:247(title) +msgid "System Log Viewer Window" +msgstr "系统日志查看器窗口" + +#: C/mate-system-log.xml:254(phrase) +msgid "" +"Shows System Log Viewer main window. Contains menubar, display area, " +"scrollbars, and statusbar." +msgstr "显示系统日志查看器主窗口,包含菜单栏、显示区、滚动条和状态栏。" + +#. ==== End of Figure ==== +#: C/mate-system-log.xml:260(para) +msgid "" +"The first time you start System Log Viewer, the " +"application displays several log files by default (such as /var/" +"log/messages). Opened logs are listed on the left side of the " +"application window. The log selected in this list is displayed in the main " +"area of the application window." +msgstr "" +"第一次启动 系统日志查看器,程序默认打开几个日志文" +"件(像 /var/log/messages)。打开的日志列出在左边的侧栏里。" +"选中的日志显示在主窗口的工作区域里。" + +#: C/mate-system-log.xml:268(para) +msgid "" +"By default, System Log Viewer monitors every " +"opened log, and any change appears automatically in the main window. See " +" for more information." +msgstr "" +"默认地,系统日志查看器 监视每个打开的日志,任何变" +"化会自动出现在主窗口中,更多相关信息,请参阅:。" + +#: C/mate-system-log.xml:277(title) +msgid "Usage" +msgstr "用法" + +#: C/mate-system-log.xml:280(title) +msgid "To View a Log" +msgstr "查看一个日志" + +#: C/mate-system-log.xml:281(para) +msgid "" +"To view a log, choose FileOpen. In the Open Log dialog, " +"select the log that you want to open, then click Open. Use the scrollbars to scroll through the log." +msgstr "" +"要查看一个日志,点菜单 文件打开 命令,在出来的 打开日志 对话框" +"里,选择您想打开的日志,然后点 打开 按钮,使用滚动条来" +"翻页。" + +#: C/mate-system-log.xml:287(para) +msgid "" +"You can open as many logs as you want. System Log Viewer displays one log at a time in the System Log Viewer window. Opened logs are listed on the left side of the application " +"window. The log selected in this list is displayed in the main area of the " +"application window. To display another log already opened in " +"System Log Viewer, select it in the log list." +msgstr "" +"您可以根据需要打开多个日志。系统日志查看器 在主窗" +"口中每次显示一个日志。打开的日志列出在左边侧栏中。选中的日志内容列出在主窗口" +"区域里。要查看其它打开的日志,只要在日志列表里选中即可。" + +#: C/mate-system-log.xml:295(para) +msgid "" +"Note that System Log Viewer also lets you open " +"zipped logs (whole filenames end in \".gz\")." +msgstr "" +"注意,系统日志查看器 也允许您打开压缩格式日志(文件" +"名以“.gz”结尾)。" + +#: C/mate-system-log.xml:300(title) +msgid "To Copy Log Lines to the Clipboard" +msgstr "复制日志行到剪贴板" + +#: C/mate-system-log.xml:301(para) +msgid "" +"To copy one or more log lines to the clipboard, just select the lines in the " +"main area and choose the EditCopy menu option. If you " +"want to copy the entire log to the clipboard, select it entirely using the " +"EditSelect All menu option, then choose EditCopy." +msgstr "" +"要复制一条或多条日志到剪贴板,只要在主窗口里选中它,然后点菜单 " +"编辑复制 命令。如果您想复制整个日志到剪贴板,点菜单 " +"编辑全选 命令,然后再点 " +"编辑复制 命令。" + +#: C/mate-system-log.xml:313(title) +msgid "To Hide the Sidebar" +msgstr "隐藏侧边栏" + +#: C/mate-system-log.xml:314(para) +msgid "" +"To hide the left sidebar, which contains the log list and calendar, just " +"select the ViewSide pane menu option." +msgstr "" +"侧边栏里包含一个日志列表和日历,要隐藏侧边栏,点菜单 查" +"看侧边栏。" + +#: C/mate-system-log.xml:321(title) +msgid "To Monitor Logs" +msgstr "监视日志" + +#: C/mate-system-log.xml:322(para) +msgid "" +"You can use System Log Viewer to monitor logs. By " +"default, all logs opened in System Log Viewer are " +"monitored for changes. If new lines are added to a log monitored by " +"System Log Viewer, the log name will appear in " +"bold in the log list. If the log is currently displayed in the main area, " +"the new lines will appear automatically at the end of the log and, after " +"five seconds, the log name will turn back to normal in the list." +msgstr "" +"您可以使用 系统日志查看器 来监视日志变化。默认地," +"所有打开的日志都是被监视的。如果增加了新的一行日志,这个日志的名称会加粗显" +"示。如果是当前显示的日志,新的一行会自动添加到日志结尾,5 秒后日志名称恢复正" +"常情况。" + +#: C/mate-system-log.xml:333(title) +msgid "To View Log Information" +msgstr "查看日志信息" + +#: C/mate-system-log.xml:334(para) +msgid "Log information are generally displayed in the status bar, including :" +msgstr "日志信息通常显示在状态栏,包括:" + +#: C/mate-system-log.xml:337(para) +msgid "Number of lines in the log." +msgstr "在日志里的第几行。" + +#: C/mate-system-log.xml:339(para) +msgid "Size of the log in bytes." +msgstr "日志的大小(字节)。" + +#: C/mate-system-log.xml:341(para) +msgid "Date the log was last modified." +msgstr "日志最后修改的日期。" + +#: C/mate-system-log.xml:344(para) +msgid "" +"The status bar can be displayed or hidden using the " +"ViewStatusbar option." +msgstr "" +"状态栏也可以被显示或隐藏,通过 查看状态栏 菜单选项。" + +#: C/mate-system-log.xml:350(title) +msgid "To Close a Log" +msgstr "关闭日志" + +#: C/mate-system-log.xml:351(para) +msgid "" +"To close a log, choose FileClose." +msgstr "" +"要关闭一个日志,点菜单 文件关闭 命令。" + +#: C/mate-system-log.xml:357(title) +msgid "To Exit System Log Viewer" +msgstr "退出系统日志查看器" + +#: C/mate-system-log.xml:358(para) +msgid "" +"To exit System Log Viewer, choose " +"FileQuit." +msgstr "" +"要退出 系统日志查看器,点菜单 " +"文件退出 命令。" + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2 +#: C/mate-system-log.xml:0(None) +msgid "translator-credits" +msgstr "TeliuTe , 2009, 2010" + +#~ msgid "" +#~ "To stop monitoring a specific log, uncheck the ViewMonitor option. Check " +#~ "this option again to turn monitoring back on." +#~ msgstr "" +#~ "要停止监视指定的日志,不选中菜单 查看监视 选项,选中它又会重新" +#~ "监视。 " + +#~ msgid "To Use the Calendar" +#~ msgstr "使用日历" + +#~ msgid "" +#~ "By default, a calendar is displayed in the left side of the " +#~ "System Log Viewer window, under the log list. " +#~ "In this calendar, the dates present in the currently select log are " +#~ "displayed in bold. To jump to a particular date, select it in the " +#~ "calendar." +#~ msgstr "" +#~ "默认地,日历显示在 系统日志查看器 窗口的侧边栏" +#~ "里,在日志列表的下面。在日历中,当前选中的日志的日期会加粗显示。要跳到指定" +#~ "的日期,在日历中选择即可。" + +#~ msgid "" +#~ "To hide the calendar, uncheck the ViewCalendar menu option." +#~ msgstr "" +#~ "要隐藏日历,不选中 查看日历 菜单选项。" diff --git a/logview/logview-about.h b/logview/logview-about.h new file mode 100644 index 00000000..5f32d877 --- /dev/null +++ b/logview/logview-about.h @@ -0,0 +1,67 @@ +/* logview-about.h - authors and contributors information + * + * Copyright (C) 2004 Vincent Noel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + */ + +#ifndef __LOGVIEW_ABOUT_H__ +#define __LOGVIEW_ABOUT_H__ + +static const char *logview_about_authors[] = { + "Cesar Miquel ", + "Glynn Foster ", + "Fernando Herrera ", + "Shakti Sen ", + "Julio M Merino Vidal ", + "Jason Leach ", + "Christian Neumair ", + "Jan Arne Petersen ", + "Jason Long ", + "Kjartan Maraas ", + "Vincent Noel ", + "Cosimo Cecchi ", + NULL +}; + +static const char *logview_about_documenters[] = { + "Sun MATE Documentation Team ", + "Vincent Noel ", + "Judith Samson ", + NULL +}; + +static const char * logview_about_license[] = { + N_("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."), + N_("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."), + N_("You should have received a copy of the GNU General Public License " + "along with this program; if not, write to the Free Software Foundation, Inc., " + "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA") +}; + +/* translator credits */ +static const char *logview_about_translator_credits = N_("translator-credits"); + + +#endif /* __LOGVIEW_ABOUT_H__ */ + diff --git a/logview/logview-app.c b/logview/logview-app.c new file mode 100644 index 00000000..a13f29d4 --- /dev/null +++ b/logview/logview-app.c @@ -0,0 +1,401 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-app.c - logview application singleton + * + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* logview-app.c */ + +#include "logview-app.h" + +#include "logview-manager.h" +#include "logview-window.h" +#include "logview-prefs.h" + +#include + +struct _LogviewAppPrivate { + LogviewPrefs *prefs; + LogviewManager *manager; + LogviewWindow *window; +}; + +enum { + APP_QUIT, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +static LogviewApp *app_singleton = NULL; + +G_DEFINE_TYPE (LogviewApp, logview_app, G_TYPE_OBJECT); + +#define GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_APP, LogviewAppPrivate)) + +static gboolean +main_window_delete_cb (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + LogviewApp *app = user_data; + + g_signal_emit (app, signals[APP_QUIT], 0, NULL); + + return FALSE; +} + +static gboolean +logview_app_set_window (LogviewApp *app) +{ + LogviewWindow *window; + gboolean retval = FALSE; + + window = LOGVIEW_WINDOW (logview_window_new ()); + + if (window) { + app->priv->window = window; + g_signal_connect (window, "delete-event", + G_CALLBACK (main_window_delete_cb), app); + retval = TRUE; + } + + gtk_window_set_default_icon_name ("logviewer"); + + return retval; +} + +typedef struct { + LogviewApp *app; + GSList *logs; +} EnumerateJob; + +/* TODO: ideally we should parse configuration files in /etc/logrotate.conf + * and all the files in /etc/logrotate.d/ and group all the logs referring + * to the same entry under a category. Right now, we just do some + * parsing instead, and fill with quasi-sensible defaults. + */ + +/* adapted from sysklogd sources */ +static GSList* +parse_syslog () +{ + char cbuf[BUFSIZ]; + char *cline, *p; + FILE *cf; + GSList *logfiles = NULL; + + if ((cf = fopen ("/etc/syslog.conf", "r")) == NULL) { + return NULL; + } + + cline = cbuf; + while (fgets (cline, sizeof (cbuf) - (cline - cbuf), cf) != NULL) { + gchar **list; + gint i; + + for (p = cline; g_ascii_isspace (*p); ++p); + if (*p == '\0' || *p == '#' || *p == '\n') + continue; + + list = g_strsplit_set (p, ", -\t()\n", 0); + + for (i = 0; list[i]; ++i) { + if (*list[i] == '/' && + g_slist_find_custom (logfiles, list[i], + (GCompareFunc) g_ascii_strcasecmp) == NULL) + { + logfiles = g_slist_insert (logfiles, + g_strdup (list[i]), 0); + } + } + + g_strfreev (list); + } + + fclose (cf); + + return logfiles; +} + +static void +enumerate_job_finish (EnumerateJob *job) +{ + GSList *files = job->logs; + LogviewApp *app = job->app; + + logview_manager_add_logs_from_name_list (app->priv->manager, files, files->data); + + g_slist_foreach (files, (GFunc) g_free, NULL); + g_slist_free (files); + + g_object_unref (job->app); + g_slice_free (EnumerateJob, job); +} + +static void +enumerate_next_files_async_cb (GObject *source, + GAsyncResult *res, + gpointer user_data) +{ + EnumerateJob *job = user_data; + GList *enumerated_files, *l; + GFileInfo *info; + GSList *logs; + const char *content_type, *name; + char *parse_string, *container_path; + GFileType type; + GFile *container; + + enumerated_files = g_file_enumerator_next_files_finish (G_FILE_ENUMERATOR (source), + res, NULL); + if (!enumerated_files) { + enumerate_job_finish (job); + return; + } + + logs = job->logs; + container = g_file_enumerator_get_container (G_FILE_ENUMERATOR (source)); + container_path = g_file_get_path (container); + + /* TODO: we don't support grouping rotated logs yet, skip gzipped files + * and those which name contains a formatted date. + */ + for (l = enumerated_files; l; l = l->next) { + info = l->data; + type = g_file_info_get_file_type (info); + content_type = g_file_info_get_content_type (info); + name = g_file_info_get_name (info); + + if (!g_file_info_get_attribute_boolean (info, "access::can-read")) { + g_object_unref (info); + continue; + } + + if (type != (G_FILE_TYPE_REGULAR || G_FILE_TYPE_SYMBOLIC_LINK) || + !g_content_type_is_a (content_type, "text/plain")) + { + g_object_unref (info); + continue; + } + + if (g_content_type_is_a (content_type, "application/x-gzip")) { + g_object_unref (info); + continue; + } + + if (g_regex_match_simple ("\\d{8}$", name, 0, 0)) { + g_object_unref (info); + continue; + } + + parse_string = g_build_filename (container_path, name, NULL); + + if (g_slist_find_custom (logs, parse_string, (GCompareFunc) g_ascii_strcasecmp) == NULL) { + logs = g_slist_append (logs, parse_string); + } else { + g_free (parse_string); + } + + g_object_unref (info); + parse_string = NULL; + } + + g_list_free (enumerated_files); + g_object_unref (container); + g_free (container_path); + + job->logs = logs; + + enumerate_job_finish (job); +} + +static void +enumerate_children_async_cb (GObject *source, + GAsyncResult *res, + gpointer user_data) +{ + EnumerateJob *job = user_data; + GFileEnumerator *enumerator; + + enumerator = g_file_enumerate_children_finish (G_FILE (source), + res, NULL); + if (!enumerator) { + enumerate_job_finish (job); + return; + } + + g_file_enumerator_next_files_async (enumerator, G_MAXINT, + G_PRIORITY_DEFAULT, + NULL, enumerate_next_files_async_cb, job); +} + +static void +logview_app_first_time_initialize (LogviewApp *app) +{ + GSList *logs; + GFile *log_dir; + EnumerateJob *job; + + /* let's add all accessible files in /var/log and those mentioned + * in /etc/syslog.conf. + */ + + logs = parse_syslog (); + + job = g_slice_new0 (EnumerateJob); + job->app = g_object_ref (app); + job->logs = logs; + + log_dir = g_file_new_for_path ("/var/log/"); + g_file_enumerate_children_async (log_dir, + "standard::*,access::can-read", 0, + G_PRIORITY_DEFAULT, NULL, + enumerate_children_async_cb, job); + + g_object_unref (log_dir); +} + +static void +do_finalize (GObject *obj) +{ + LogviewApp *app = LOGVIEW_APP (obj); + + g_object_unref (app->priv->manager); + g_object_unref (app->priv->prefs); + + G_OBJECT_CLASS (logview_app_parent_class)->finalize (obj); +} + +static void +logview_app_class_init (LogviewAppClass *klass) +{ + GObjectClass *oclass = G_OBJECT_CLASS (klass); + + oclass->finalize = do_finalize; + + signals[APP_QUIT] = + g_signal_new ("app-quit", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewAppClass, app_quit), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + g_type_class_add_private (klass, sizeof (LogviewAppPrivate)); +} + +static void +logview_app_init (LogviewApp *self) +{ + LogviewAppPrivate *priv = self->priv = GET_PRIVATE (self); + + priv->prefs = logview_prefs_get (); + priv->manager = logview_manager_get (); +} + +LogviewApp* +logview_app_get (void) +{ + if (!app_singleton) { + app_singleton = g_object_new (LOGVIEW_TYPE_APP, NULL); + + if (!logview_app_set_window (app_singleton)) { + g_object_unref (app_singleton); + app_singleton = NULL; + } + } + + return app_singleton; +} + +void +logview_app_initialize (LogviewApp *app, char **log_files) +{ + LogviewAppPrivate *priv; + + g_assert (LOGVIEW_IS_APP (app)); + + priv = app->priv; + + /* open regular logs and add each log passed as a parameter */ + + if (log_files == NULL) { + char *active_log; + GSList *logs; + + active_log = logview_prefs_get_active_logfile (priv->prefs); + logs = logview_prefs_get_stored_logfiles (priv->prefs); + + if (!logs) { + logview_app_first_time_initialize (app); + } else { + logview_manager_add_logs_from_name_list (priv->manager, + logs, active_log); + + g_free (active_log); + g_slist_foreach (logs, (GFunc) g_free, NULL); + g_slist_free (logs); + } + } else { + logview_manager_add_logs_from_names (priv->manager, log_files); + } + + gtk_widget_show (GTK_WIDGET (priv->window)); +} + +void +logview_app_add_error (LogviewApp *app, + const char *file_path, + const char *secondary) +{ + LogviewWindow *window; + char *primary; + + g_assert (LOGVIEW_IS_APP (app)); + + window = app->priv->window; + primary = g_strdup_printf (_("Impossible to open the file %s"), file_path); + + logview_window_add_error (window, primary, secondary); + + g_free (primary); +} + +void +logview_app_add_errors (LogviewApp *app, + GPtrArray *errors) +{ + LogviewWindow *window; + + g_assert (LOGVIEW_IS_APP (app)); + + window = app->priv->window; + + if (errors->len == 0) { + return; + } else if (errors->len == 1) { + char **err; + + err = g_ptr_array_index (errors, 0); + logview_window_add_error (window, err[0], err[1]); + } else { + logview_window_add_errors (window, errors); + } +} diff --git a/logview/logview-app.h b/logview/logview-app.h new file mode 100644 index 00000000..0efc5537 --- /dev/null +++ b/logview/logview-app.h @@ -0,0 +1,73 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-app.h - logview application singleton + * + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __LOGVIEW_APP_H__ +#define __LOGVIEW_APP_H__ + +#include "config.h" + +#include + +G_BEGIN_DECLS + +#define LOGVIEW_TYPE_APP logview_app_get_type() +#define LOGVIEW_APP(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_APP, LogviewApp)) +#define LOGVIEW_APP_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_APP, LogviewAppClass)) +#define LOGVIEW_IS_APP(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_APP)) +#define LOGVIEW_IS_APP_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_APP)) +#define LOGVIEW_APP_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_APP, LogviewAppClass)) + +typedef struct _LogviewApp LogviewApp; +typedef struct _LogviewAppClass LogviewAppClass; +typedef struct _LogviewAppPrivate LogviewAppPrivate; + +struct _LogviewApp { + GObject parent; + + LogviewAppPrivate *priv; +}; + +struct _LogviewAppClass { + GObjectClass parent_class; + + void (* app_quit) (LogviewApp *app); +}; + + +GType logview_app_get_type (void); + +/* public methods */ +LogviewApp * logview_app_get (void); +void logview_app_initialize (LogviewApp *app, + char **log_files); +void logview_app_add_error (LogviewApp *app, + const char *file_path, + const char *secondary); +void logview_app_add_errors (LogviewApp *app, + GPtrArray *errors); + +G_END_DECLS + +#endif /* __LOGVIEW_APP_H__ */ diff --git a/logview/logview-filter-manager.c b/logview/logview-filter-manager.c new file mode 100644 index 00000000..d46f1aca --- /dev/null +++ b/logview/logview-filter-manager.c @@ -0,0 +1,569 @@ +/*-*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* + * mate-utils + * Copyright (C) Johannes Schmid 2009 + * + * mate-utils 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 3 of the License, or + * (at your option) any later version. + * + * mate-utils 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, see . + */ + +#include "logview-filter-manager.h" +#include "logview-prefs.h" +#include +#include +#include + +#define UI_FILE LOGVIEW_DATADIR "/logview-filter.ui" + +struct _LogviewFilterManagerPrivate { + GtkWidget *tree; + + GtkWidget *add_button; + GtkWidget *remove_button; + GtkWidget *edit_button; + + GtkTreeModel *model; + GtkBuilder* builder; + + LogviewPrefs* prefs; +}; + +enum { + COLUMN_NAME = 0, + COLUMN_FILTER, + N_COLUMNS +}; + +#define LOGVIEW_FILTER_MANAGER_GET_PRIVATE(o) \ +(G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_FILTER_MANAGER, LogviewFilterManagerPrivate)) + +G_DEFINE_TYPE (LogviewFilterManager, logview_filter_manager, GTK_TYPE_DIALOG); + +static void +logview_filter_manager_update_model (LogviewFilterManager *manager) +{ + GList *filters; + GList *filter; + gchar *name; + GtkTreeIter iter; + + gtk_list_store_clear (GTK_LIST_STORE (manager->priv->model)); + + filters = logview_prefs_get_filters (manager->priv->prefs); + + for (filter = filters; filter != NULL; filter = g_list_next (filter)) { + g_object_get (filter->data, "name", &name, NULL); + + gtk_list_store_append (GTK_LIST_STORE(manager->priv->model), &iter); + gtk_list_store_set (GTK_LIST_STORE (manager->priv->model), + &iter, + COLUMN_NAME, name, + COLUMN_FILTER, filter->data, + -1); + + g_free (name); + } + + g_list_free (filters); +} + +static gboolean +check_name (LogviewFilterManager *manager, const gchar *name) +{ + GtkWidget *dialog; + + if (!strlen (name)) { + dialog = gtk_message_dialog_new (GTK_WINDOW (manager), + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + "%s", _("Filter name is empty!")); + gtk_dialog_run (GTK_DIALOG (dialog)); + + gtk_widget_destroy (dialog); + + return FALSE; + } + + if (strstr (name, ":") != NULL) { + dialog = gtk_message_dialog_new (GTK_WINDOW(manager), + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + "%s", _("Filter name may not contain the ':' character")); + gtk_dialog_run (GTK_DIALOG (dialog)); + + gtk_widget_destroy (dialog); + + return FALSE; + } + + return TRUE; +} + +static gboolean +check_regex (LogviewFilterManager *manager, const gchar *regex) +{ + GtkWidget *dialog; + GError *error = NULL; + GRegex *reg; + + if (!strlen (regex)) { + dialog = gtk_message_dialog_new (GTK_WINDOW(manager), + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + "%s", _("Regular expression is empty!")); + + gtk_dialog_run (GTK_DIALOG (dialog)); + + gtk_widget_destroy (dialog); + + return FALSE; + } + + reg = g_regex_new (regex, + 0, 0, &error); + if (error) { + dialog = gtk_message_dialog_new (GTK_WINDOW (manager), + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + _("Regular expression is invalid: %s"), + error->message); + gtk_dialog_run (GTK_DIALOG (dialog)); + + gtk_widget_destroy (dialog); + g_error_free (error); + + return FALSE; + } + + g_regex_unref (reg); + + return TRUE; +} + +static void +on_check_toggled (GtkToggleButton *button, GtkWidget *widget) +{ + gtk_widget_set_sensitive (widget, + gtk_toggle_button_get_active (button)); +} + +static void +on_dialog_add_edit_reponse (GtkWidget *dialog, int response_id, + LogviewFilterManager *manager) +{ + GtkWidget *entry_name, *entry_regex; + GtkWidget *radio_color, *radio_visible; + GtkWidget *check_foreground, *check_background; + GtkWidget *color_foreground, *color_background; + gchar *old_name; + const gchar *name; + const gchar *regex; + LogviewFilter *filter; + GtkTextTag *tag; + GtkBuilder *builder; + + old_name = g_object_get_data (G_OBJECT (manager), "old_name"); + builder = manager->priv->builder; + + entry_name = GTK_WIDGET (gtk_builder_get_object (builder, + "entry_name")); + entry_regex = GTK_WIDGET (gtk_builder_get_object (builder, + "entry_regex")); + radio_color = GTK_WIDGET (gtk_builder_get_object (builder, + "radio_color")); + radio_visible = GTK_WIDGET (gtk_builder_get_object (builder, + "radio_visible")); + check_foreground = GTK_WIDGET (gtk_builder_get_object (builder, + "check_foreground")); + check_background = GTK_WIDGET (gtk_builder_get_object (builder, + "check_background")); + color_foreground = GTK_WIDGET (gtk_builder_get_object (builder, + "color_foreground")); + color_background = GTK_WIDGET (gtk_builder_get_object (builder, + "color_background")); + + if (response_id == GTK_RESPONSE_APPLY) { + name = gtk_entry_get_text (GTK_ENTRY (entry_name)); + regex = gtk_entry_get_text (GTK_ENTRY (entry_regex)); + + if (!check_name (manager, name) || !check_regex (manager, regex)) { + return; + } + + filter = logview_filter_new (name, regex); + tag = gtk_text_tag_new (name); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_color))) { + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_foreground))) { + GdkColor foreground_color; + gtk_color_button_get_color (GTK_COLOR_BUTTON (color_foreground), + &foreground_color); + g_object_set (G_OBJECT (tag), + "foreground-gdk", &foreground_color, + "foreground-set", TRUE, NULL); + } + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_background))) { + GdkColor background_color; + gtk_color_button_get_color (GTK_COLOR_BUTTON (color_background), + &background_color); + g_object_set (tag, + "paragraph-background-gdk", &background_color, + "paragraph-background-set", TRUE, NULL); + } + + if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_foreground)) + && !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_background))) { + GtkWidget *error_dialog; + + error_dialog = gtk_message_dialog_new (GTK_WINDOW (manager), + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + "%s", + _("Please specify either foreground or background color!")); + gtk_dialog_run (GTK_DIALOG (error_dialog)); + gtk_widget_destroy (error_dialog); + g_object_unref (tag); + g_object_unref (filter); + + return; + } + } else { /* !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (radio_color)) */ + g_object_set (tag, "invisible", TRUE, NULL); + } + + if (old_name && !g_str_equal (old_name, name)) { + logview_prefs_remove_filter (manager->priv->prefs, old_name); + } + + g_object_set (G_OBJECT (filter), "texttag", tag, NULL); + g_object_unref (tag); + + logview_prefs_add_filter (manager->priv->prefs, filter); + g_object_unref (filter); + + logview_filter_manager_update_model (manager); + } + + gtk_widget_destroy (dialog); +} + +static void +run_add_edit_dialog (LogviewFilterManager *manager, LogviewFilter *filter) +{ + GError *error; + gchar *name, *regex; + const gchar *title; + GtkWidget *dialog, *entry_name, *entry_regex, *radio_color; + GtkWidget *radio_visible, *check_foreground, *check_background; + GtkWidget *color_foreground, *color_background, *vbox_color; + gboolean foreground_set, background_set, invisible; + GtkTextTag *tag; + GtkBuilder* builder; + + builder = manager->priv->builder; + + error = NULL; + name = NULL; + + gtk_builder_add_from_file (builder, UI_FILE, &error); + + if (error) { + g_warning ("Could not load filter ui: %s", error->message); + g_error_free (error); + return; + } + + title = (filter != NULL ? _("Edit filter") : _("Add new filter")); + + dialog = GTK_WIDGET (gtk_builder_get_object (builder, + "dialog_filter")); + + entry_name = GTK_WIDGET (gtk_builder_get_object (builder, + "entry_name")); + entry_regex = GTK_WIDGET (gtk_builder_get_object (builder, + "entry_regex")); + radio_color = GTK_WIDGET (gtk_builder_get_object (builder, + "radio_color")); + radio_visible = GTK_WIDGET (gtk_builder_get_object (builder, + "radio_visible")); + + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_color), + gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_visible))); + + check_foreground = GTK_WIDGET (gtk_builder_get_object (builder, + "check_foreground")); + check_background = GTK_WIDGET (gtk_builder_get_object (builder, + "check_background")); + color_foreground = GTK_WIDGET (gtk_builder_get_object (builder, + "color_foreground")); + color_background = GTK_WIDGET (gtk_builder_get_object (builder, + "color_background")); + g_signal_connect (check_foreground, "toggled", G_CALLBACK (on_check_toggled), + color_foreground); + g_signal_connect (check_background, "toggled", G_CALLBACK (on_check_toggled), + color_background); + + on_check_toggled (GTK_TOGGLE_BUTTON (check_foreground), + color_foreground); + on_check_toggled (GTK_TOGGLE_BUTTON (check_background), + color_background); + + vbox_color = GTK_WIDGET (gtk_builder_get_object (builder, "vbox_color")); + g_signal_connect (radio_color, "toggled", G_CALLBACK (on_check_toggled), + vbox_color); + on_check_toggled (GTK_TOGGLE_BUTTON (radio_color), + vbox_color); + + if (filter) { + g_object_get (filter, + "name", &name, + "regex", ®ex, + "texttag", &tag, + NULL); + g_object_get (tag, + "foreground-set", &foreground_set, + "paragraph-background-set", &background_set, + "invisible", &invisible, NULL); + gtk_entry_set_text (GTK_ENTRY(entry_name), name); + gtk_entry_set_text (GTK_ENTRY(entry_regex), regex); + + if (foreground_set) { + GdkColor *foreground; + + g_object_get (tag, "foreground-gdk", &foreground, NULL); + gtk_color_button_set_color (GTK_COLOR_BUTTON (color_foreground), + foreground); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_foreground), + TRUE); + + gdk_color_free (foreground); + } + + if (background_set) { + GdkColor *background; + + g_object_get (tag, "paragraph-background-gdk", &background, NULL); + gtk_color_button_set_color (GTK_COLOR_BUTTON (color_background), + background); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_background), + TRUE); + + gdk_color_free (background); + } + + if (background_set || foreground_set) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_color), TRUE); + } else if (invisible) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_visible), TRUE); + } + + g_free (regex); + g_object_unref (tag); + } + + g_object_set_data_full (G_OBJECT (manager), "old_name", name, g_free); + + g_signal_connect (G_OBJECT (dialog), "response", + G_CALLBACK (on_dialog_add_edit_reponse), manager); + gtk_window_set_transient_for (GTK_WINDOW (dialog), + GTK_WINDOW (manager)); + gtk_window_set_modal (GTK_WINDOW (dialog), + TRUE); + + gtk_widget_show (GTK_WIDGET (dialog)); +} + +static void +on_add_clicked (GtkWidget *button, LogviewFilterManager *manager) +{ + run_add_edit_dialog (manager, NULL); +} + +static void +on_edit_clicked (GtkWidget *button, LogviewFilterManager *manager) +{ + GtkTreeIter iter; + GtkTreeModel *model; + LogviewFilter *filter; + GtkTreeSelection *selection; + + selection = + gtk_tree_view_get_selection (GTK_TREE_VIEW (manager->priv->tree)); + + gtk_tree_selection_get_selected (selection, &model, &iter); + gtk_tree_model_get (model, &iter, COLUMN_FILTER, &filter, -1); + + run_add_edit_dialog (manager, filter); + + g_object_unref (filter); +} + +static void +on_remove_clicked (GtkWidget *button, LogviewFilterManager *manager) +{ + GtkTreeSelection *selection; + GtkTreeIter iter; + GtkTreeModel *model; + gchar *name; + + selection = + gtk_tree_view_get_selection (GTK_TREE_VIEW (manager->priv->tree)); + + gtk_tree_selection_get_selected (selection, &model, &iter); + gtk_tree_model_get (model, &iter, COLUMN_NAME, &name, -1); + + logview_prefs_remove_filter (manager->priv->prefs, name); + logview_filter_manager_update_model (manager); + + g_free(name); +} + +static void +on_tree_selection_changed (GtkTreeSelection *selection, LogviewFilterManager *manager) +{ + gboolean status; + + status = gtk_tree_selection_get_selected (selection, NULL, NULL); + + gtk_widget_set_sensitive (manager->priv->edit_button, status); + gtk_widget_set_sensitive (manager->priv->remove_button, status); +} + +static void +logview_filter_manager_init (LogviewFilterManager *manager) +{ + GtkWidget *table; + GtkWidget *scrolled_window; + GtkTreeViewColumn *column; + GtkCellRenderer *text_renderer; + LogviewFilterManagerPrivate *priv; + + manager->priv = LOGVIEW_FILTER_MANAGER_GET_PRIVATE (manager); + priv = manager->priv; + + priv->builder = gtk_builder_new (); + g_object_ref (priv->builder); + priv->prefs = logview_prefs_get (); + + gtk_dialog_add_button (GTK_DIALOG(manager), + GTK_STOCK_CLOSE, + GTK_RESPONSE_CLOSE); + gtk_window_set_modal (GTK_WINDOW (manager), + TRUE); + + priv->model = GTK_TREE_MODEL (gtk_list_store_new (N_COLUMNS, + G_TYPE_STRING, + G_TYPE_OBJECT)); + logview_filter_manager_update_model (manager); + + table = gtk_table_new (3, 2, FALSE); + scrolled_window = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_SHADOW_ETCHED_IN); + priv->tree = gtk_tree_view_new_with_model (priv->model); + gtk_widget_set_size_request (priv->tree, 150, 200); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->tree), FALSE); + gtk_container_add (GTK_CONTAINER (scrolled_window), priv->tree); + + text_renderer = gtk_cell_renderer_text_new (); + + column = gtk_tree_view_column_new(); + gtk_tree_view_column_pack_start (column, text_renderer, TRUE); + gtk_tree_view_column_set_attributes (column, + text_renderer, + "text", COLUMN_NAME, + NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (priv->tree), + column); + + priv->add_button = gtk_button_new_from_stock (GTK_STOCK_ADD); + priv->edit_button = gtk_button_new_from_stock (GTK_STOCK_PROPERTIES); + priv->remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE); + + gtk_window_set_title (GTK_WINDOW (manager), + _("Filters")); + + g_signal_connect (priv->add_button, "clicked", + G_CALLBACK (on_add_clicked), manager); + g_signal_connect (priv->edit_button, "clicked", + G_CALLBACK (on_edit_clicked), manager); + g_signal_connect (priv->remove_button, "clicked", + G_CALLBACK (on_remove_clicked), manager); + + gtk_widget_set_sensitive (priv->edit_button, FALSE); + gtk_widget_set_sensitive (priv->remove_button, FALSE); + + g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->tree)), + "changed", G_CALLBACK (on_tree_selection_changed), + manager); + + gtk_table_attach_defaults (GTK_TABLE (table), + scrolled_window, + 0, 1, 0, 3); + gtk_table_attach (GTK_TABLE (table), + priv->add_button, + 1, 2, 0, 1, GTK_FILL, 0, 5, 5); + gtk_table_attach (GTK_TABLE (table), + priv->edit_button, + 1, 2, 1, 2, GTK_FILL, 0, 5, 5); + gtk_table_attach (GTK_TABLE (table), + priv->remove_button, + 1, 2, 2, 3, GTK_FILL, 0, 5, 5); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (manager))), + table, TRUE, TRUE, 5); + gtk_widget_show_all (GTK_WIDGET (manager)); +} + +static void +logview_filter_manager_dispose (GObject *object) +{ + LogviewFilterManager* manager; + + manager = LOGVIEW_FILTER_MANAGER (object); + + g_object_unref (manager->priv->builder); + + G_OBJECT_CLASS (logview_filter_manager_parent_class)->dispose (object); +} + +static void +logview_filter_manager_response (GtkDialog* dialog, gint response_id) +{ + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +logview_filter_manager_class_init (LogviewFilterManagerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkDialogClass *parent_class = GTK_DIALOG_CLASS (klass); + + g_type_class_add_private (klass, sizeof (LogviewFilterManagerPrivate)); + + object_class->dispose = logview_filter_manager_dispose; + parent_class->response = logview_filter_manager_response; +} + +GtkWidget * +logview_filter_manager_new (void) +{ + return g_object_new (LOGVIEW_TYPE_FILTER_MANAGER, NULL); +} diff --git a/logview/logview-filter-manager.h b/logview/logview-filter-manager.h new file mode 100644 index 00000000..c33ea1f7 --- /dev/null +++ b/logview/logview-filter-manager.h @@ -0,0 +1,54 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* + * mate-utils + * Copyright (C) Johannes Schmid 2009 + * + * mate-utils 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 3 of the License, or + * (at your option) any later version. + * + * mate-utils 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, see . + */ + +#ifndef _LOGVIEW_FILTER_MANAGER_H_ +#define _LOGVIEW_FILTER_MANAGER_H_ + +#include +#include + +G_BEGIN_DECLS + +#define LOGVIEW_TYPE_FILTER_MANAGER (logview_filter_manager_get_type ()) +#define LOGVIEW_FILTER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_FILTER_MANAGER, LogviewFilterManager)) +#define LOGVIEW_FILTER_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_FILTER_MANAGER, LogviewFilterManagerClass)) +#define LOGVIEW_IS_FILTER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_FILTER_MANAGER)) +#define LOGVIEW_IS_FILTER_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_FILTER_MANAGER)) +#define LOGVIEW_FILTER_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_FILTER_MANAGER, LogviewFilterManagerClass)) + +typedef struct _LogviewFilterManagerClass LogviewFilterManagerClass; +typedef struct _LogviewFilterManager LogviewFilterManager; +typedef struct _LogviewFilterManagerPrivate LogviewFilterManagerPrivate; + +struct _LogviewFilterManagerClass { + GtkDialogClass parent_class; +}; + +struct _LogviewFilterManager { + GtkDialog parent_instance; + + LogviewFilterManagerPrivate* priv; +}; + +GType logview_filter_manager_get_type (void) G_GNUC_CONST; +GtkWidget * logview_filter_manager_new (void); + +G_END_DECLS + +#endif /* _LOGVIEW_FILTER_MANAGER_H_ */ diff --git a/logview/logview-filter.c b/logview/logview-filter.c new file mode 100644 index 00000000..c68eb114 --- /dev/null +++ b/logview/logview-filter.c @@ -0,0 +1,196 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* + * mate-utils + * Copyright (C) Johannes Schmid 2009 + * + * mate-utils 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 3 of the License, or + * (at your option) any later version. + * + * mate-utils 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, see . + */ + +#include "logview-filter.h" + +enum { + PROP_0, + PROP_REGEX, + PROP_NAME, + PROP_TEXTTAG +}; + +G_DEFINE_TYPE (LogviewFilter, logview_filter, G_TYPE_OBJECT); + +struct _LogviewFilterPrivate { + GRegex* regex; + gchar* name; + GtkTextTag* tag; +}; + +#define LOGVIEW_FILTER_GET_PRIVATE(o) \ +(G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_FILTER, LogviewFilterPrivate)) + +static void +logview_filter_init (LogviewFilter *object) +{ + object->priv = LOGVIEW_FILTER_GET_PRIVATE(object); + object->priv->tag = NULL; +} + +static void +logview_filter_finalize (GObject *object) +{ + LogviewFilterPrivate *priv = LOGVIEW_FILTER (object)->priv; + + if (priv->tag) { + g_object_unref (priv->tag); + } + + g_regex_unref (priv->regex); + g_free (priv->name); + + G_OBJECT_CLASS (logview_filter_parent_class)->finalize (object); +} + +static void +logview_filter_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) +{ + LogviewFilterPrivate* priv = LOGVIEW_FILTER (object)->priv; + + switch (prop_id) { + case PROP_NAME: + priv->name = g_value_dup_string (value); + break; + case PROP_REGEX: { + GError* err; + const gchar* regex; + + err = NULL; + + regex = g_value_get_string (value); + priv->regex = g_regex_new (regex, 0, 0, &err); + + if (err) { + g_regex_unref (priv->regex); + priv->regex = NULL; + g_warning ("Couldn't create GRegex object: %s", err->message); + g_error_free (err); + } + + break; + } + case PROP_TEXTTAG: { + if (priv->tag) { + g_object_unref (priv->tag); + } + + priv->tag = g_value_dup_object (value); + break; + } + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +logview_filter_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) +{ + LogviewFilterPrivate* priv = LOGVIEW_FILTER (object)->priv; + + switch (prop_id) { + case PROP_REGEX: + g_value_set_string (value, g_regex_get_pattern (priv->regex)); + break; + case PROP_NAME: + g_value_set_string (value, priv->name); + break; + case PROP_TEXTTAG: + g_value_set_object (value, priv->tag); + break; + } +} + +static void +logview_filter_class_init (LogviewFilterClass *klass) +{ + GObjectClass* object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = logview_filter_finalize; + object_class->set_property = logview_filter_set_property; + object_class->get_property = logview_filter_get_property; + + g_object_class_install_property (object_class, + PROP_REGEX, + g_param_spec_string ("regex", + "regular expression", + "regular expression", + "NULL", + G_PARAM_WRITABLE | G_PARAM_READABLE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, + PROP_NAME, + g_param_spec_string ("name", + "name", + "name", + "NULL", + G_PARAM_WRITABLE | G_PARAM_READABLE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, + PROP_TEXTTAG, + g_param_spec_object ("texttag", + "texttag", + "The text tag to be set on matching lines", + GTK_TYPE_TEXT_TAG, + G_PARAM_READABLE | G_PARAM_WRITABLE)); + + + g_type_class_add_private (klass, sizeof (LogviewFilterPrivate)); +} + +/* public methods */ + +LogviewFilter* +logview_filter_new (const gchar *name, const gchar *regex) +{ + return g_object_new (LOGVIEW_TYPE_FILTER, + "name", name, + "regex", regex, + NULL); +} + +gboolean +logview_filter_filter (LogviewFilter *filter, const gchar *line) +{ + GMatchInfo* match_info; + LogviewFilterPrivate* priv; + gboolean retval; + + g_return_val_if_fail (LOGVIEW_IS_FILTER (filter), FALSE); + g_return_val_if_fail (line != NULL, FALSE); + + priv = filter->priv; + + g_regex_match (priv->regex, line, 0, &match_info); + + retval = g_match_info_matches (match_info); + + g_match_info_free (match_info); + + return retval; +} + +GtkTextTag * +logview_filter_get_tag (LogviewFilter *filter) +{ + g_return_val_if_fail (LOGVIEW_IS_FILTER (filter), NULL); + + return filter->priv->tag; +} diff --git a/logview/logview-filter.h b/logview/logview-filter.h new file mode 100644 index 00000000..6eb827b8 --- /dev/null +++ b/logview/logview-filter.h @@ -0,0 +1,59 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* + * mate-utils + * Copyright (C) Johannes Schmid 2009 + * + * mate-utils 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 3 of the License, or + * (at your option) any later version. + * + * mate-utils 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, see . + */ + +#ifndef _LOGVIEW_FILTER_H_ +#define _LOGVIEW_FILTER_H_ + +#include +#include +#include + +G_BEGIN_DECLS + +#define LOGVIEW_TYPE_FILTER (logview_filter_get_type ()) +#define LOGVIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_FILTER, LogviewFilter)) +#define LOGVIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_FILTER, LogviewFilterClass)) +#define LOGVIEW_IS_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_FILTER)) +#define LOGVIEW_IS_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_FILTER)) +#define LOGVIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_FILTER, LogviewFilterClass)) + +typedef struct _LogviewFilterClass LogviewFilterClass; +typedef struct _LogviewFilter LogviewFilter; +typedef struct _LogviewFilterPrivate LogviewFilterPrivate; + +struct _LogviewFilterClass { + GObjectClass parent_class; +}; + +struct _LogviewFilter { + GObject parent_instance; + + LogviewFilterPrivate *priv; +}; + +GType logview_filter_get_type (void) G_GNUC_CONST; +LogviewFilter * logview_filter_new (const gchar *name, + const gchar *regex); +gboolean logview_filter_filter (LogviewFilter *filter, + const gchar *line); +GtkTextTag * logview_filter_get_tag (LogviewFilter *filter); + +G_END_DECLS + +#endif /* _LOGVIEW_FILTER_H_ */ diff --git a/logview/logview-findbar.c b/logview/logview-findbar.c new file mode 100644 index 00000000..bdbda89f --- /dev/null +++ b/logview/logview-findbar.c @@ -0,0 +1,348 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-findbar.c - find toolbar for logview + * + * Copyright (C) 2005 Vincent Noel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include + +#include "logview-findbar.h" + +struct _LogviewFindbarPrivate { + GtkWidget *entry; + GtkWidget *message; + + GtkToolItem *clear_button; + GtkToolItem *back_button; + GtkToolItem *forward_button; + GtkToolItem *status_item; + GtkToolItem *separator; + + char *string; + + guint status_bold_id; +}; + +enum { + PREVIOUS, + NEXT, + CLOSE, + TEXT_CHANGED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +G_DEFINE_TYPE (LogviewFindbar, logview_findbar, GTK_TYPE_TOOLBAR); + +#define GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_FINDBAR, LogviewFindbarPrivate)) + +static void +back_button_clicked_cb (GtkToolButton *button, + gpointer user_data) +{ + LogviewFindbar *findbar = user_data; + + g_signal_emit (findbar, signals[PREVIOUS], 0); +} + +static void +forward_button_clicked_cb (GtkToolButton *button, + gpointer user_data) +{ + LogviewFindbar *findbar = user_data; + + g_signal_emit (findbar, signals[NEXT], 0); +} + +static void +clear_button_clicked_cb (GtkToolButton *button, + gpointer user_data) +{ + LogviewFindbar *findbar = user_data; + + logview_findbar_set_message (findbar, NULL); + gtk_entry_set_text (GTK_ENTRY (findbar->priv->entry), ""); +} + +static void +entry_activate_cb (GtkWidget *entry, + gpointer user_data) +{ + LogviewFindbar *findbar = user_data; + + g_signal_emit (findbar, signals[NEXT], 0); +} + +static void +entry_changed_cb (GtkEditable *editable, + gpointer user_data) +{ + LogviewFindbar *findbar = user_data; + const char *text; + + text = gtk_entry_get_text (GTK_ENTRY (editable)); + + if (g_strcmp0 (text, "") == 0) { + return; + } + + if (g_strcmp0 (findbar->priv->string, text) != 0) { + g_free (findbar->priv->string); + findbar->priv->string = g_strdup (text); + + g_signal_emit (findbar, signals[TEXT_CHANGED], 0); + } +} + +static gboolean +entry_key_press_event_cb (GtkWidget *entry, + GdkEventKey *event, + gpointer user_data) +{ + LogviewFindbar *findbar = user_data; + + if (event->keyval == GDK_Escape) { + g_signal_emit (findbar, signals[CLOSE], 0); + return TRUE; + } + + return FALSE; +} + +static gboolean +unbold_timeout_cb (gpointer user_data) +{ + LogviewFindbar *findbar = user_data; + PangoFontDescription *desc; + + desc = pango_font_description_new (); + gtk_widget_modify_font (findbar->priv->message, desc); + pango_font_description_free (desc); + + findbar->priv->status_bold_id = 0; + + return FALSE; +} + +static void +logview_findbar_init (LogviewFindbar *findbar) +{ + GtkWidget *label, *w, *box; + GtkToolbar *gtoolbar; + GtkToolItem *item; + LogviewFindbarPrivate *priv; + + priv = findbar->priv = GET_PRIVATE (findbar); + + gtoolbar = GTK_TOOLBAR (findbar); + + gtk_toolbar_set_style (gtoolbar, GTK_TOOLBAR_BOTH_HORIZ); + + priv->status_bold_id = 0; + + /* Find: |_______| */ + w = gtk_alignment_new (0.0, 0.5, 1.0, 1.0); + gtk_alignment_set_padding (GTK_ALIGNMENT (w), 0, 0, 2, 2); + + box = gtk_hbox_new (FALSE, 12); + gtk_container_add (GTK_CONTAINER (w), box); + + label = gtk_label_new_with_mnemonic (_("_Find:")); + gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); + + priv->entry = gtk_entry_new (); + gtk_entry_set_width_chars (GTK_ENTRY (priv->entry), 32); + gtk_label_set_mnemonic_widget (GTK_LABEL (label), priv->entry); + gtk_box_pack_start (GTK_BOX (box), priv->entry, TRUE, TRUE, 0); + + item = gtk_tool_item_new (); + gtk_container_add (GTK_CONTAINER (item), w); + gtk_toolbar_insert (gtoolbar, item, -1); + gtk_widget_show_all (GTK_WIDGET (item)); + + /* "Previous" and "Next" buttons */ + w = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_NONE); + priv->back_button = gtk_tool_button_new (w, _("Find Previous")); + gtk_tool_item_set_is_important (priv->back_button, TRUE); + gtk_tool_item_set_tooltip_text (priv->back_button, + _("Find previous occurrence of the search string")); + gtk_toolbar_insert (gtoolbar, priv->back_button, -1); + gtk_widget_show_all (GTK_WIDGET (priv->back_button)); + + w = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_NONE); + priv->forward_button = gtk_tool_button_new (w, _("Find Next")); + gtk_tool_item_set_is_important (priv->forward_button, TRUE); + gtk_tool_item_set_tooltip_text (priv->forward_button, + _("Find next occurrence of the search string")); + gtk_toolbar_insert (gtoolbar, priv->forward_button, -1); + gtk_widget_show_all (GTK_WIDGET (priv->forward_button)); + + /* clear button */ + priv->clear_button = gtk_tool_button_new_from_stock (GTK_STOCK_CLEAR); + gtk_tool_item_set_tooltip_text (priv->clear_button, + _("Clear the search string")); + gtk_toolbar_insert (gtoolbar, priv->clear_button, -1); + gtk_widget_show_all (GTK_WIDGET (priv->clear_button)); + + /* separator */ + priv->separator = gtk_separator_tool_item_new (); + gtk_toolbar_insert (gtoolbar, priv->separator, -1); + + /* message */ + priv->status_item = gtk_tool_item_new (); + gtk_tool_item_set_expand (priv->status_item, TRUE); + priv->message = gtk_label_new (""); + gtk_label_set_use_markup (GTK_LABEL (priv->message), TRUE); + gtk_misc_set_alignment (GTK_MISC (priv->message), 0.0, 0.5); + gtk_container_add (GTK_CONTAINER (priv->status_item), priv->message); + gtk_widget_show (priv->message); + gtk_toolbar_insert (gtoolbar, priv->status_item, -1); + + priv->string = NULL; + + /* signal handlers */ + g_signal_connect (priv->back_button, "clicked", + G_CALLBACK (back_button_clicked_cb), findbar); + g_signal_connect (priv->forward_button, "clicked", + G_CALLBACK (forward_button_clicked_cb), findbar); + g_signal_connect (priv->clear_button, "clicked", + G_CALLBACK (clear_button_clicked_cb), findbar); + g_signal_connect (priv->entry, "activate", + G_CALLBACK (entry_activate_cb), findbar); + g_signal_connect (priv->entry, "changed", + G_CALLBACK (entry_changed_cb), findbar); + g_signal_connect (priv->entry, "key-press-event", + G_CALLBACK (entry_key_press_event_cb), findbar); +} + +static void +do_grab_focus (GtkWidget *widget) +{ + LogviewFindbar *findbar = LOGVIEW_FINDBAR (widget); + + gtk_widget_grab_focus (findbar->priv->entry); +} + +static void +do_finalize (GObject *obj) +{ + LogviewFindbar *findbar = LOGVIEW_FINDBAR (obj); + + g_free (findbar->priv->string); + + G_OBJECT_CLASS (logview_findbar_parent_class)->finalize (obj); +} + +static void +logview_findbar_class_init (LogviewFindbarClass *klass) +{ + GObjectClass *oclass = G_OBJECT_CLASS (klass); + GtkWidgetClass *wclass = GTK_WIDGET_CLASS (klass); + + oclass->finalize = do_finalize; + + wclass->grab_focus = do_grab_focus; + + signals[PREVIOUS] = g_signal_new ("previous", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewFindbarClass, previous), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + signals[NEXT] = g_signal_new ("next", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewFindbarClass, next), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + signals[CLOSE] = g_signal_new ("close", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewFindbarClass, close), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + signals[TEXT_CHANGED] = g_signal_new ("text-changed", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewFindbarClass, text_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + g_type_class_add_private (klass, sizeof (LogviewFindbarPrivate)); +} + +/* public methods */ + +GtkWidget * +logview_findbar_new (void) +{ + GtkWidget *widget; + widget = g_object_new (LOGVIEW_TYPE_FINDBAR, NULL); + return widget; +} + +void +logview_findbar_open (LogviewFindbar *findbar) +{ + g_assert (LOGVIEW_IS_FINDBAR (findbar)); + + gtk_widget_show (GTK_WIDGET (findbar)); + gtk_widget_grab_focus (GTK_WIDGET (findbar)); +} + +const char * +logview_findbar_get_text (LogviewFindbar *findbar) +{ + g_assert (LOGVIEW_IS_FINDBAR (findbar)); + + return findbar->priv->string; +} + +void +logview_findbar_set_message (LogviewFindbar *findbar, + const char *text) +{ + PangoFontDescription *desc; + + g_assert (LOGVIEW_IS_FINDBAR (findbar)); + + if (text) { + desc = pango_font_description_new (); + pango_font_description_set_weight (desc, PANGO_WEIGHT_BOLD); + gtk_widget_modify_font (findbar->priv->message, desc); + pango_font_description_free (desc); + + findbar->priv->status_bold_id = g_timeout_add (600, unbold_timeout_cb, findbar); + } + + gtk_label_set_text (GTK_LABEL (findbar->priv->message), + text != NULL ? text : ""); + g_object_set (findbar->priv->separator, "visible", text != NULL, NULL); + g_object_set (findbar->priv->status_item, "visible", text != NULL, NULL); +} diff --git a/logview/logview-findbar.h b/logview/logview-findbar.h new file mode 100644 index 00000000..792d065f --- /dev/null +++ b/logview/logview-findbar.h @@ -0,0 +1,72 @@ +/* logview-findbar.h - find toolbar for logview + * + * Copyright (C) 2004 Vincent Noel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __LOGVIEW_FINDBAR_H__ +#define __LOGVIEW_FINDBAR_H__ + +#include +#include + +G_BEGIN_DECLS + +#define LOGVIEW_TYPE_FINDBAR \ + (logview_findbar_get_type ()) +#define LOGVIEW_FINDBAR(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_FINDBAR, LogviewFindbar)) +#define LOGVIEW_FINDBAR_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_FINDBAR, LogviewFindbarClass)) +#define LOGVIEW_IS_FINDBAR(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_FINDBAR)) +#define LOGVIEW_IS_FINDBAR_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((obj), LOGVIEW_TYPE_FINDBAR)) +#define LOGVIEW_FINDBAR_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_FINDBAR, LogviewFindbarClass)) + +typedef struct _LogviewFindbar LogviewFindbar; +typedef struct _LogviewFindbarClass LogviewFindbarClass; +typedef struct _LogviewFindbarPrivate LogviewFindbarPrivate; + +struct _LogviewFindbar { + GtkToolbar parent_instance; + LogviewFindbarPrivate *priv; +}; + +struct _LogviewFindbarClass { + GtkToolbarClass parent_class; + + /* signals */ + void (* previous) (LogviewFindbar *findbar); + void (* next) (LogviewFindbar *findbar); + void (* close) (LogviewFindbar *findbar); + void (* text_changed) (LogviewFindbar *findbar); +}; + +GType logview_findbar_get_type (void); + +/* public methods */ +GtkWidget * logview_findbar_new (void); +void logview_findbar_open (LogviewFindbar *findbar); +const char * logview_findbar_get_text (LogviewFindbar *findbar); +void logview_findbar_set_message (LogviewFindbar *findbar, + const char *message); + +G_END_DECLS + +#endif /* __LOGVIEW_FINDBAR_H__ */ diff --git a/logview/logview-log.c b/logview/logview-log.c new file mode 100644 index 00000000..2f752b02 --- /dev/null +++ b/logview/logview-log.c @@ -0,0 +1,930 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-log.c - object representation of a logfile + * + * Copyright (C) 1998 Cesar Miquel + * Copyright (C) 2008 Cosimo Cecchi + * + * 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., 551 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + */ + +#include "config.h" + +#include +#include +#include + +#ifdef HAVE_ZLIB +#include +#endif + +#include "logview-log.h" +#include "logview-utils.h" + +G_DEFINE_TYPE (LogviewLog, logview_log, G_TYPE_OBJECT); + +#define GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_LOG, LogviewLogPrivate)) + +enum { + LOG_CHANGED, + LAST_SIGNAL +}; + +static guint signals [LAST_SIGNAL] = { 0 }; + +struct _LogviewLogPrivate { + /* file and monitor */ + GFile *file; + GFileMonitor *mon; + + /* stats about the file */ + time_t file_time; + goffset file_size; + char *display_name; + gboolean has_days; + + /* lines and relative days */ + GSList *days; + GPtrArray *lines; + guint lines_no; + + /* stream poiting to the log */ + GDataInputStream *stream; + gboolean has_new_lines; +}; + +typedef struct { + LogviewLog *log; + GError *err; + LogviewCreateCallback callback; + gpointer user_data; +} LoadJob; + +typedef struct { + LogviewLog *log; + GError *err; + const char **lines; + GSList *new_days; + LogviewNewLinesCallback callback; + gpointer user_data; +} NewLinesJob; + +typedef struct { + GInputStream *parent_str; + guchar * buffer; + GFile *file; + + gboolean last_str_result; + int last_z_result; + z_stream zstream; +} GZHandle; + +static void +do_finalize (GObject *obj) +{ + LogviewLog *log = LOGVIEW_LOG (obj); + char ** lines; + + if (log->priv->stream) { + g_object_unref (log->priv->stream); + log->priv->stream = NULL; + } + + if (log->priv->file) { + g_object_unref (log->priv->file); + log->priv->file = NULL; + } + + if (log->priv->mon) { + g_object_unref (log->priv->mon); + log->priv->mon = NULL; + } + + if (log->priv->days) { + g_slist_foreach (log->priv->days, + (GFunc) logview_utils_day_free, NULL); + g_slist_free (log->priv->days); + log->priv->days = NULL; + } + + if (log->priv->lines) { + lines = (char **) g_ptr_array_free (log->priv->lines, FALSE); + g_strfreev (lines); + log->priv->lines = NULL; + } + + G_OBJECT_CLASS (logview_log_parent_class)->finalize (obj); +} + +static void +logview_log_class_init (LogviewLogClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = do_finalize; + + signals[LOG_CHANGED] = g_signal_new ("log-changed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewLogClass, log_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + g_type_class_add_private (klass, sizeof (LogviewLogPrivate)); +} + +static void +logview_log_init (LogviewLog *self) +{ + self->priv = GET_PRIVATE (self); + + self->priv->lines = NULL; + self->priv->lines_no = 0; + self->priv->days = NULL; + self->priv->file = NULL; + self->priv->mon = NULL; + self->priv->has_new_lines = FALSE; + self->priv->has_days = FALSE; +} + +static void +monitor_changed_cb (GFileMonitor *monitor, + GFile *file, + GFile *unused, + GFileMonitorEvent event, + gpointer user_data) +{ + LogviewLog *log = user_data; + + if (event == G_FILE_MONITOR_EVENT_CHANGED) { + log->priv->has_new_lines = TRUE; + g_signal_emit (log, signals[LOG_CHANGED], 0, NULL); + } + /* TODO: handle the case where the log is deleted? */ +} + +static void +setup_file_monitor (LogviewLog *log) +{ + GError *err = NULL; + + log->priv->mon = g_file_monitor (log->priv->file, + 0, NULL, &err); + if (err) { + /* it'd be strange to get this error at this point but whatever */ + g_warning ("Impossible to monitor the log file: the changes won't be notified"); + g_error_free (err); + return; + } + + /* set the rate to 1sec, as I guess it's not unusual to have more than + * one line written consequently or in a short time, being a log file. + */ + g_file_monitor_set_rate_limit (log->priv->mon, 1000); + g_signal_connect (log->priv->mon, "changed", + G_CALLBACK (monitor_changed_cb), log); +} + +static GSList * +add_new_days_to_cache (LogviewLog *log, const char **new_lines, guint lines_offset) +{ + GSList *new_days, *l, *last_cached; + int res; + Day *day, *last; + + new_days = log_read_dates (new_lines, log->priv->file_time); + + /* the days are stored in chronological order, so we compare the last cached + * one with the new we got. + */ + last_cached = g_slist_last (log->priv->days); + + if (!last_cached) { + /* this means the day list is empty (i.e. we're on the first read */ + log->priv->days = logview_utils_day_list_copy (new_days); + return new_days; + } + + for (l = new_days; l; l = l->next) { + res = days_compare (l->data, last_cached->data); + day = l->data; + + if (res > 0) { + /* this day in the list is newer than the last one, append to + * the cache. + */ + day->first_line += lines_offset; + day->last_line += lines_offset; + log->priv->days = g_slist_append (log->priv->days, logview_utils_day_copy (day)); + } else if (res == 0) { + last = last_cached->data; + + /* update the lines number */ + last->last_line += day->last_line; + } + } + + return new_days; +} + +static gboolean +new_lines_job_done (gpointer data) +{ + NewLinesJob *job = data; + + if (job->err) { + job->callback (job->log, NULL, NULL, job->err, job->user_data); + g_error_free (job->err); + } else { + job->callback (job->log, job->lines, job->new_days, job->err, job->user_data); + } + + g_slist_foreach (job->new_days, (GFunc) logview_utils_day_free, NULL); + g_slist_free (job->new_days); + + /* drop the reference we acquired before */ + g_object_unref (job->log); + + g_slice_free (NewLinesJob, job); + + return FALSE; +} + +static gboolean +do_read_new_lines (GIOSchedulerJob *io_job, + GCancellable *cancellable, + gpointer user_data) +{ + /* this runs in a separate thread */ + NewLinesJob *job = user_data; + LogviewLog *log = job->log; + char *line; + GError *err = NULL; + GPtrArray *lines; + + g_assert (LOGVIEW_IS_LOG (log)); + g_assert (log->priv->stream != NULL); + + if (!log->priv->lines) { + log->priv->lines = g_ptr_array_new (); + g_ptr_array_add (log->priv->lines, NULL); + } + + lines = log->priv->lines; + + /* remove the NULL-terminator */ + g_ptr_array_remove_index (lines, lines->len - 1); + + while ((line = g_data_input_stream_read_line (log->priv->stream, NULL, + NULL, &err)) != NULL) + { + g_ptr_array_add (lines, (gpointer) line); + } + + if (err) { + job->err = err; + goto out; + } + + /* NULL-terminate the array again */ + g_ptr_array_add (lines, NULL); + + log->priv->has_new_lines = FALSE; + + /* we'll return only the new lines in the callback */ + line = g_ptr_array_index (lines, log->priv->lines_no); + job->lines = (const char **) lines->pdata + log->priv->lines_no; + + /* save the new number of days and lines */ + job->new_days = add_new_days_to_cache (log, job->lines, log->priv->lines_no); + log->priv->lines_no = (lines->len - 1); + +out: + g_io_scheduler_job_send_to_mainloop_async (io_job, + new_lines_job_done, + job, NULL); + return FALSE; +} + +static gboolean +log_load_done (gpointer user_data) +{ + LoadJob *job = user_data; + + if (job->err) { + /* the callback will have NULL as log, and the error set */ + g_object_unref (job->log); + job->callback (NULL, job->err, job->user_data); + g_error_free (job->err); + } else { + job->callback (job->log, NULL, job->user_data); + setup_file_monitor (job->log); + } + + g_slice_free (LoadJob, job); + + return FALSE; +} + +#ifdef HAVE_ZLIB + +/* GZip functions adapted for GIO from mate-vfs/gzip-method.c */ + +#define Z_BUFSIZE 16384 + +#define GZIP_HEADER_SIZE 10 +#define GZIP_MAGIC_1 0x1f +#define GZIP_MAGIC_2 0x8b +#define GZIP_FLAG_ASCII 0x01 /* bit 0 set: file probably ascii text */ +#define GZIP_FLAG_HEAD_CRC 0x02 /* bit 1 set: header CRC present */ +#define GZIP_FLAG_EXTRA_FIELD 0x04 /* bit 2 set: extra field present */ +#define GZIP_FLAG_ORIG_NAME 0x08 /* bit 3 set: original file name present */ +#define GZIP_FLAG_COMMENT 0x10 /* bit 4 set: file comment present */ +#define GZIP_FLAG_RESERVED 0xE0 /* bits 5..7: reserved */ + +static gboolean +skip_string (GInputStream *is) +{ + guchar c; + gssize bytes_read; + + do { + bytes_read = g_input_stream_read (is, &c, 1, NULL, NULL); + + if (bytes_read != 1) { + return FALSE; + } + } while (c != 0); + + return TRUE; +} + +static gboolean +read_gzip_header (GInputStream *is, + time_t *modification_time) +{ + gboolean res; + guchar buffer[GZIP_HEADER_SIZE]; + gssize bytes, to_skip; + guint mode; + guint flags; + + bytes = g_input_stream_read (is, buffer, GZIP_HEADER_SIZE, + NULL, NULL); + if (bytes == -1) { + return FALSE; + } + + if (bytes != GZIP_HEADER_SIZE) + return FALSE; + + if (buffer[0] != GZIP_MAGIC_1 || buffer[1] != GZIP_MAGIC_2) + return FALSE; + + mode = buffer[2]; + if (mode != 8) /* Mode: deflate */ + return FALSE; + + flags = buffer[3]; + + if (flags & GZIP_FLAG_RESERVED) + return FALSE; + + if (flags & GZIP_FLAG_EXTRA_FIELD) { + guchar tmp[2]; + + bytes = g_input_stream_read (is, tmp, 2, NULL, NULL); + + if (bytes != 2) { + return FALSE; + } + + to_skip = tmp[0] | (tmp[0] << 8); + bytes = g_input_stream_skip (is, to_skip, NULL, NULL); + if (bytes != to_skip) { + return FALSE; + } + } + + if (flags & GZIP_FLAG_ORIG_NAME) { + if (!skip_string (is)) { + return FALSE; + } + } + + if (flags & GZIP_FLAG_COMMENT) { + if (!skip_string (is)) { + return FALSE; + } + } + + if (flags & GZIP_FLAG_HEAD_CRC) { + bytes = g_input_stream_skip (is, 2, NULL, NULL); + if (bytes != 2) { + return FALSE; + } + } + + *modification_time = (buffer[4] | (buffer[5] << 8) + | (buffer[6] << 16) | (buffer[7] << 24)); + + return TRUE; +} + +static GZHandle * +gz_handle_new (GFile *file, + GInputStream *parent_stream) +{ + GZHandle *ret; + + ret = g_new (GZHandle, 1); + ret->parent_str = g_object_ref (parent_stream); + ret->file = g_object_ref (file); + ret->buffer = NULL; + + return ret; +} + +static gboolean +gz_handle_init (GZHandle *gz) +{ + gz->zstream.zalloc = NULL; + gz->zstream.zfree = NULL; + gz->zstream.opaque = NULL; + + g_free (gz->buffer); + gz->buffer = g_malloc (Z_BUFSIZE); + gz->zstream.next_in = gz->buffer; + gz->zstream.avail_in = 0; + + if (inflateInit2 (&gz->zstream, -MAX_WBITS) != Z_OK) { + return FALSE; + } + + gz->last_z_result = Z_OK; + gz->last_str_result = TRUE; + + return TRUE; +} + +static void +gz_handle_free (GZHandle *gz) +{ + g_object_unref (gz->parent_str); + g_object_unref (gz->file); + g_free (gz->buffer); + g_free (gz); +} + +static gboolean +fill_buffer (GZHandle *gz, + gsize num_bytes) +{ + gboolean res; + gsize count; + + z_stream * zstream = &gz->zstream; + + if (zstream->avail_in > 0) { + return TRUE; + } + + count = g_input_stream_read (gz->parent_str, + gz->buffer, + Z_BUFSIZE, + NULL, NULL); + if (count == -1) { + if (zstream->avail_out == num_bytes) { + return FALSE; + } + gz->last_str_result = FALSE; + } else { + zstream->next_in = gz->buffer; + zstream->avail_in = count; + } + + return TRUE; +} + +static gboolean +result_from_z_result (int z_result) +{ + switch (z_result) { + case Z_OK: + case Z_STREAM_END: + return TRUE; + case Z_DATA_ERROR: + return FALSE; + default: + return FALSE; + } +} + +static gboolean +gz_handle_read (GZHandle *gz, + guchar *buffer, + gsize num_bytes, + gsize * bytes_read) +{ + z_stream *zstream; + gboolean res; + int z_result; + + *bytes_read = 0; + zstream = &gz->zstream; + + if (gz->last_z_result != Z_OK) { + if (gz->last_z_result == Z_STREAM_END) { + *bytes_read = 0; + return TRUE; + } else { + return result_from_z_result (gz->last_z_result); + } + } else if (gz->last_str_result == FALSE) { + return FALSE; + } + + zstream->next_out = buffer; + zstream->avail_out = num_bytes; + + while (zstream->avail_out != 0) { + res = fill_buffer (gz, num_bytes); + + if (!res) { + return res; + } + + z_result = inflate (zstream, Z_NO_FLUSH); + if (z_result == Z_STREAM_END) { + gz->last_z_result = z_result; + break; + } else if (z_result != Z_OK) { + gz->last_z_result = z_result; + } + + if (gz->last_z_result != Z_OK && zstream->avail_out == num_bytes) { + return result_from_z_result (gz->last_z_result); + } + } + + *bytes_read = num_bytes - zstream->avail_out; + + return TRUE; +} + +static GError * +create_zlib_error (void) +{ + GError *err; + + err = g_error_new_literal (LOGVIEW_ERROR_QUARK, LOGVIEW_ERROR_ZLIB, + _("Error while uncompressing the GZipped log. The file " + "might be corrupt.")); + return err; +} + +#endif /* HAVE_ZLIB */ + +static gboolean +log_load (GIOSchedulerJob *io_job, + GCancellable *cancellable, + gpointer user_data) +{ + /* this runs in a separate i/o thread */ + LoadJob *job = user_data; + LogviewLog *log = job->log; + GFile *f = log->priv->file; + GFileInfo *info; + GInputStream *is; + const char *peeked_buffer; + const char * parse_data[2]; + GSList *days; + const char *content_type; + GFileType type; + GError *err = NULL; + GTimeVal timeval; + gboolean is_archive, can_read; + + info = g_file_query_info (f, + G_FILE_ATTRIBUTE_ACCESS_CAN_READ "," + G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "," + G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "," + G_FILE_ATTRIBUTE_STANDARD_TYPE "," + G_FILE_ATTRIBUTE_STANDARD_SIZE "," + G_FILE_ATTRIBUTE_TIME_MODIFIED ",", + 0, NULL, &err); + if (err) { + if (err->code == G_IO_ERROR_PERMISSION_DENIED) { + /* TODO: PolicyKit integration */ + } + goto out; + } + + can_read = g_file_info_get_attribute_boolean (info, + G_FILE_ATTRIBUTE_ACCESS_CAN_READ); + if (!can_read) { + /* TODO: PolicyKit integration */ + err = g_error_new_literal (LOGVIEW_ERROR_QUARK, LOGVIEW_ERROR_PERMISSION_DENIED, + _("You don't have enough permissions to read the file.")); + g_object_unref (info); + + goto out; + } + + type = g_file_info_get_file_type (info); + content_type = g_file_info_get_content_type (info); + + is_archive = g_content_type_equals (content_type, "application/x-gzip"); + + if (type != (G_FILE_TYPE_REGULAR || G_FILE_TYPE_SYMBOLIC_LINK) || + (!g_content_type_is_a (content_type, "text/plain") && !is_archive)) + { + err = g_error_new_literal (LOGVIEW_ERROR_QUARK, LOGVIEW_ERROR_NOT_A_LOG, + _("The file is not a regular file or is not a text file.")); + g_object_unref (info); + + goto out; + } + + log->priv->file_size = g_file_info_get_size (info); + g_file_info_get_modification_time (info, &timeval); + log->priv->file_time = timeval.tv_sec; + log->priv->display_name = g_strdup (g_file_info_get_display_name (info)); + + g_object_unref (info); + + /* initialize the stream */ + is = G_INPUT_STREAM (g_file_read (f, NULL, &err)); + + if (err) { + if (err->code == G_IO_ERROR_PERMISSION_DENIED) { + /* TODO: PolicyKit integration */ + } + + goto out; + } + + if (is_archive) { +#ifdef HAVE_ZLIB + GZHandle *gz; + gboolean res; + guchar * buffer; + gsize bytes_read; + GInputStream *real_is; + time_t mtime; /* seconds */ + + /* this also skips the header from |is| */ + res = read_gzip_header (is, &mtime); + + if (!res) { + g_object_unref (is); + + err = create_zlib_error (); + goto out; + } + + log->priv->file_time = mtime; + + gz = gz_handle_new (f, is); + res = gz_handle_init (gz); + + if (!res) { + g_object_unref (is); + gz_handle_free (gz); + + err = create_zlib_error (); + goto out; + } + + real_is = g_memory_input_stream_new (); + + do { + buffer = g_malloc (1024); + res = gz_handle_read (gz, buffer, 1024, &bytes_read); + g_memory_input_stream_add_data (G_MEMORY_INPUT_STREAM (real_is), + buffer, bytes_read, g_free); + } while (res == TRUE && bytes_read > 0); + + if (!res) { + gz_handle_free (gz); + g_object_unref (real_is); + g_object_unref (is); + + err = create_zlib_error (); + goto out; + } + + g_object_unref (is); + is = real_is; + + gz_handle_free (gz); +#else /* HAVE_ZLIB */ + g_object_unref (is); + + err = g_error_new_literal (LOGVIEW_ERROR_QUARK, LOGVIEW_ERROR_NOT_SUPPORTED, + _("This version of System Log does not support GZipped logs.")); + goto out; +#endif /* HAVE_ZLIB */ + } + + log->priv->stream = g_data_input_stream_new (is); + + /* sniff into the stream for a timestamped line */ + g_buffered_input_stream_fill (G_BUFFERED_INPUT_STREAM (log->priv->stream), + (gssize) g_buffered_input_stream_get_buffer_size (G_BUFFERED_INPUT_STREAM (log->priv->stream)), + NULL, &err); + if (err == NULL) { + peeked_buffer = g_buffered_input_stream_peek_buffer + (G_BUFFERED_INPUT_STREAM (log->priv->stream), NULL); + parse_data[0] = peeked_buffer; + parse_data[1] = NULL; + + if ((days = log_read_dates (parse_data, time (NULL))) != NULL) { + log->priv->has_days = TRUE; + g_slist_foreach (days, (GFunc) logview_utils_day_free, NULL); + g_slist_free (days); + } else { + log->priv->has_days = FALSE; + } + } else { + log->priv->has_days = FALSE; + g_clear_error (&err); + } + + g_object_unref (is); + +out: + if (err) { + job->err = err; + } + + g_io_scheduler_job_send_to_mainloop_async (io_job, + log_load_done, + job, NULL); + return FALSE; +} + +static void +log_setup_load (LogviewLog *log, LogviewCreateCallback callback, + gpointer user_data) +{ + LoadJob *job; + + job = g_slice_new0 (LoadJob); + job->callback = callback; + job->user_data = user_data; + job->log = log; + job->err = NULL; + + /* push the loading job into another thread */ + g_io_scheduler_push_job (log_load, + job, + NULL, 0, NULL); +} + +/* public methods */ + +void +logview_log_read_new_lines (LogviewLog *log, + LogviewNewLinesCallback callback, + gpointer user_data) +{ + NewLinesJob *job; + + /* initialize the job struct with sensible values */ + job = g_slice_new0 (NewLinesJob); + job->callback = callback; + job->user_data = user_data; + job->log = g_object_ref (log); + job->err = NULL; + job->lines = NULL; + job->new_days = NULL; + + /* push the fetching job into another thread */ + g_io_scheduler_push_job (do_read_new_lines, + job, + NULL, 0, NULL); +} + +void +logview_log_create (const char *filename, LogviewCreateCallback callback, + gpointer user_data) +{ + LogviewLog *log = g_object_new (LOGVIEW_TYPE_LOG, NULL); + + log->priv->file = g_file_new_for_path (filename); + + log_setup_load (log, callback, user_data); +} + +void +logview_log_create_from_gfile (GFile *file, LogviewCreateCallback callback, + gpointer user_data) +{ + LogviewLog *log = g_object_new (LOGVIEW_TYPE_LOG, NULL); + + log->priv->file = g_object_ref (file); + + log_setup_load (log, callback, user_data); +} + +const char * +logview_log_get_display_name (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return log->priv->display_name; +} + +time_t +logview_log_get_timestamp (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return log->priv->file_time; +} + +goffset +logview_log_get_file_size (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return log->priv->file_size; +} + +guint +logview_log_get_cached_lines_number (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return log->priv->lines_no; +} + +const char ** +logview_log_get_cached_lines (LogviewLog *log) +{ + const char ** lines = NULL; + + g_assert (LOGVIEW_IS_LOG (log)); + + if (log->priv->lines) { + lines = (const char **) log->priv->lines->pdata; + } + + return lines; +} + +GSList * +logview_log_get_days_for_cached_lines (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return log->priv->days; +} + +gboolean +logview_log_has_new_lines (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return log->priv->has_new_lines; +} + +char * +logview_log_get_uri (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return g_file_get_uri (log->priv->file); +} + +GFile * +logview_log_get_gfile (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return g_object_ref (log->priv->file); +} + +gboolean +logview_log_get_has_days (LogviewLog *log) +{ + g_assert (LOGVIEW_IS_LOG (log)); + + return log->priv->has_days; +} + diff --git a/logview/logview-log.h b/logview/logview-log.h new file mode 100644 index 00000000..6e69ad84 --- /dev/null +++ b/logview/logview-log.h @@ -0,0 +1,109 @@ +/* logview-log.h - object representation of a logfile + * + * Copyright (C) 1998 Cesar Miquel + * Copyright (C) 2008 Cosimo Cecchi + * + * 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., 551 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + */ + +/* logview-log.h */ + +#ifndef __LOGVIEW_LOG_H__ +#define __LOGVIEW_LOG_H__ + +#include +#include + +G_BEGIN_DECLS + +#define LOGVIEW_TYPE_LOG logview_log_get_type() +#define LOGVIEW_LOG(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_LOG, LogviewLog)) +#define LOGVIEW_LOG_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_LOG, LogviewLogClass)) +#define LOGVIEW_IS_LOG(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_LOG)) +#define LOGVIEW_IS_LOG_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_LOG)) +#define LOGVIEW_LOG_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_LOG, LogviewLogClass)) + +typedef struct _LogviewLog LogviewLog; +typedef struct _LogviewLogClass LogviewLogClass; +typedef struct _LogviewLogPrivate LogviewLogPrivate; + +/* callback signatures for async I/O operations */ + +typedef void (* LogviewCreateCallback) (LogviewLog *log, + GError *error, + gpointer user_data); +typedef void (* LogviewNewLinesCallback) (LogviewLog *log, + const char **lines, + GSList *new_days, + GError *error, + gpointer user_data); + +#define LOGVIEW_ERROR_QUARK g_quark_from_static_string ("logview-error") + +typedef enum { + LOGVIEW_ERROR_FAILED, + LOGVIEW_ERROR_PERMISSION_DENIED, + LOGVIEW_ERROR_ZLIB, + LOGVIEW_ERROR_NOT_SUPPORTED, + LOGVIEW_ERROR_NOT_A_LOG +} LogviewErrorEnum; + +struct _LogviewLog { + GObject parent; + LogviewLogPrivate *priv; +}; + +struct _LogviewLogClass { + GObjectClass parent_class; + + /* signals */ + void (* log_changed) (LogviewLog *log); +}; + +GType logview_log_get_type (void); + +/* public methods */ + +/* these two do I/O, so they are wrapped async */ +void logview_log_create (const char *filename, + LogviewCreateCallback callback, + gpointer user_data); +void logview_log_create_from_gfile (GFile *file, + LogviewCreateCallback callback, + gpointer user_data); +void logview_log_read_new_lines (LogviewLog *log, + LogviewNewLinesCallback callback, + gpointer user_data); + +const char * logview_log_get_display_name (LogviewLog *log); +time_t logview_log_get_timestamp (LogviewLog *log); +goffset logview_log_get_file_size (LogviewLog *log); +const char ** logview_log_get_cached_lines (LogviewLog *log); +guint logview_log_get_cached_lines_number (LogviewLog *log); +GSList * logview_log_get_days_for_cached_lines (LogviewLog *log); +gboolean logview_log_has_new_lines (LogviewLog *log); +char * logview_log_get_uri (LogviewLog *log); +GFile * logview_log_get_gfile (LogviewLog *log); +gboolean logview_log_get_has_days (LogviewLog *log); + +G_END_DECLS + +#endif /* __LOGVIEW_LOG_H__ */ diff --git a/logview/logview-loglist.c b/logview/logview-loglist.c new file mode 100644 index 00000000..5f879027 --- /dev/null +++ b/logview/logview-loglist.c @@ -0,0 +1,493 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-loglist.c - displays a list of the opened logs + * + * Copyright (C) 2005 Vincent Noel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include + +#include "logview-manager.h" +#include "logview-log.h" +#include "logview-utils.h" + +#include "logview-loglist.h" + +struct _LogviewLoglistPrivate { + GtkTreeStore *model; + LogviewManager *manager; + GtkTreePath *selection; + gboolean has_day_selection; +}; + +G_DEFINE_TYPE (LogviewLoglist, logview_loglist, GTK_TYPE_TREE_VIEW); + +#define GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_LOGLIST, LogviewLoglistPrivate)) + +enum { + LOG_OBJECT = 0, + LOG_NAME, + LOG_WEIGHT, + LOG_WEIGHT_SET, + LOG_DAY +}; + +enum { + DAY_SELECTED, + DAY_CLEARED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +static void +save_day_selection (LogviewLoglist *loglist, GtkTreeIter *iter) +{ + if (loglist->priv->selection) { + gtk_tree_path_free (loglist->priv->selection); + } + + loglist->priv->selection = gtk_tree_model_get_path + (GTK_TREE_MODEL (loglist->priv->model), iter); +} + +static void +update_days_and_lines_for_log (LogviewLoglist *loglist, + GtkTreeIter *log, GSList *days) +{ + gboolean res; + GtkTreeIter iter, dummy; + GSList *l; + int i; + char date[200]; + Day *day; + + /* if we have some days, we can't remove all the items immediately, otherwise, + * if the row is expanded, it will be collapsed because there are no items, + * so we create a dummy entry, remove all the others and then remove the + * dummy one. + */ + res = gtk_tree_model_iter_children (GTK_TREE_MODEL (loglist->priv->model), + &iter, log); + if (res) { + gtk_tree_store_insert_before (loglist->priv->model, &dummy, log, &iter); + gtk_tree_store_set (loglist->priv->model, &dummy, + LOG_NAME, "", -1); + do { + gtk_tree_store_remove (loglist->priv->model, &iter); + } while (gtk_tree_store_iter_is_valid (loglist->priv->model, &iter)); + } + + for (i = 1, l = days; l; l = l->next) { + /* now insert all the days */ + day = l->data; + + g_date_strftime (date, 200, "%A, %e %b", day->date); + + gtk_tree_store_insert (GTK_TREE_STORE (loglist->priv->model), + &iter, log, i); + gtk_tree_store_set (GTK_TREE_STORE (loglist->priv->model), + &iter, LOG_NAME, date, LOG_DAY, day, -1); + i++; + } + + if (res) { + gtk_tree_store_remove (loglist->priv->model, &dummy); + } +} + +static GtkTreeIter * +logview_loglist_find_log (LogviewLoglist *list, LogviewLog *log) +{ + GtkTreeIter iter; + GtkTreeModel *model; + GtkTreeIter *retval = NULL; + LogviewLog *current; + + model = GTK_TREE_MODEL (list->priv->model); + + if (!gtk_tree_model_get_iter_first (model, &iter)) { + return NULL; + } + + do { + gtk_tree_model_get (model, &iter, LOG_OBJECT, ¤t, -1); + if (current == log) { + retval = gtk_tree_iter_copy (&iter); + } + g_object_unref (current); + } while (gtk_tree_model_iter_next (model, &iter) != FALSE && retval == NULL); + + return retval; +} + +static void +log_changed_cb (LogviewLog *log, + gpointer user_data) +{ + LogviewLoglist *list = user_data; + LogviewLog *active; + GtkTreeIter *iter; + + active = logview_manager_get_active_log (list->priv->manager); + + if (log == active) { + g_object_unref (active); + return; + } + + iter = logview_loglist_find_log (list, log); + + if (!iter) { + return; + } + + /* make the log bold in the list */ + gtk_tree_store_set (list->priv->model, iter, + LOG_WEIGHT, PANGO_WEIGHT_BOLD, + LOG_WEIGHT_SET, TRUE, -1); + + gtk_tree_iter_free (iter); +} + + +static void +tree_selection_changed_cb (GtkTreeSelection *selection, + gpointer user_data) +{ + LogviewLoglist *list = user_data; + GtkTreeModel *model; + GtkTreeIter iter, parent; + LogviewLog *log; + gboolean is_bold, is_active; + Day *day; + + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { + return; + } + + gtk_tree_model_get (model, &iter, LOG_OBJECT, &log, + LOG_WEIGHT_SET, &is_bold, + LOG_DAY, &day, -1); + if (log) { + is_active = logview_manager_log_is_active (list->priv->manager, log); + + if (is_active && list->priv->has_day_selection) { + list->priv->has_day_selection = FALSE; + g_signal_emit (list, signals[DAY_CLEARED], 0, NULL); + } else if (!is_active) { + logview_manager_set_active_log (list->priv->manager, log); + } + } else if (day) { + list->priv->has_day_selection = TRUE; + gtk_tree_model_iter_parent (model, &parent, &iter); + gtk_tree_model_get (model, &parent, LOG_OBJECT, &log, -1); + + if (!logview_manager_log_is_active (list->priv->manager, log)) { + save_day_selection (list, &iter); + logview_manager_set_active_log (list->priv->manager, log); + } else { + g_signal_emit (list, signals[DAY_SELECTED], 0, day, NULL); + } + } + + if (is_bold) { + gtk_tree_store_set (GTK_TREE_STORE (model), &iter, + LOG_WEIGHT_SET, FALSE, -1); + } + + if (log) { + g_object_unref (log); + } +} + +static void +manager_active_changed_cb (LogviewManager *manager, + LogviewLog *log, + LogviewLog *old_log, + gpointer user_data) +{ + LogviewLoglist *list = user_data; + GtkTreeIter * iter, sel_iter; + GtkTreeSelection * selection; + + if (list->priv->selection && + gtk_tree_model_get_iter (GTK_TREE_MODEL (list->priv->model), + &sel_iter, list->priv->selection)) + { + Day *day; + + iter = gtk_tree_iter_copy (&sel_iter); + + gtk_tree_model_get (GTK_TREE_MODEL (list->priv->model), iter, + LOG_DAY, &day, -1); + + if (day) { + g_signal_emit (list, signals[DAY_SELECTED], 0, day, NULL); + } + + gtk_tree_path_free (list->priv->selection); + list->priv->selection = NULL; + } else { + iter = logview_loglist_find_log (list, log); + } + + if (!iter) { + return; + } + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list)); + g_signal_handlers_block_by_func (selection, tree_selection_changed_cb, list); + + gtk_tree_selection_select_iter (selection, iter); + + g_signal_handlers_unblock_by_func (selection, tree_selection_changed_cb, list); + gtk_tree_iter_free (iter); +} + +static void +manager_log_closed_cb (LogviewManager *manager, + LogviewLog *log, + gpointer user_data) +{ + LogviewLoglist *list = user_data; + GtkTreeIter *iter; + gboolean res; + + iter = logview_loglist_find_log (list, log); + + if (!iter) { + return; + } + + g_signal_handlers_disconnect_by_func (log, log_changed_cb, list); + + res = gtk_tree_store_remove (list->priv->model, iter); + if (res) { + GtkTreeSelection *selection; + + /* iter now points to the next valid row */ + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list)); + gtk_tree_selection_select_iter (selection, iter); + } else { + /* FIXME: what shall we do here? */ + } + + gtk_tree_iter_free (iter); +} + +static void +manager_log_added_cb (LogviewManager *manager, + LogviewLog *log, + gpointer user_data) +{ + LogviewLoglist *list = user_data; + GtkTreeIter iter, child; + + gtk_tree_store_append (list->priv->model, &iter, NULL); + gtk_tree_store_set (list->priv->model, &iter, + LOG_OBJECT, g_object_ref (log), + LOG_NAME, logview_log_get_display_name (log), -1); + if (logview_log_get_has_days (log)) { + gtk_tree_store_insert (list->priv->model, + &child, &iter, 0); + gtk_tree_store_set (list->priv->model, &child, + LOG_NAME, _("Loading..."), -1); + } + + g_signal_connect (log, "log-changed", + G_CALLBACK (log_changed_cb), list); +} + +static void +row_expanded_cb (GtkTreeView *view, + GtkTreeIter *iter, + GtkTreePath *path, + gpointer user_data) +{ + LogviewLoglist *list = user_data; + LogviewLog *log; + + gtk_tree_model_get (GTK_TREE_MODEL (list->priv->model), iter, + LOG_OBJECT, &log, -1); + if (!logview_manager_log_is_active (list->priv->manager, log)) { + logview_manager_set_active_log (list->priv->manager, log); + } + + g_object_unref (log); +} + +static int +loglist_sort_func (GtkTreeModel *model, + GtkTreeIter *a, + GtkTreeIter *b, + gpointer user_data) +{ + char *name_a, *name_b; + Day *day_a, *day_b; + int retval = 0; + + switch (gtk_tree_store_iter_depth (GTK_TREE_STORE (model), a)) { + case 0: + gtk_tree_model_get (model, a, LOG_NAME, &name_a, -1); + gtk_tree_model_get (model, b, LOG_NAME, &name_b, -1); + retval = g_strcmp0 (name_a, name_b); + g_free (name_a); + g_free (name_b); + + break; + case 1: + gtk_tree_model_get (model, a, LOG_DAY, &day_a, -1); + gtk_tree_model_get (model, b, LOG_DAY, &day_b, -1); + if (day_a && day_b) { + retval = days_compare (day_a, day_b); + } else { + retval = 0; + } + + break; + default: + g_assert_not_reached (); + + break; + } + + return retval; +} + +static void +do_finalize (GObject *obj) +{ + LogviewLoglist *list = LOGVIEW_LOGLIST (obj); + + g_object_unref (list->priv->model); + list->priv->model = NULL; + + if (list->priv->selection) { + gtk_tree_path_free (list->priv->selection); + list->priv->selection = NULL; + } + + G_OBJECT_CLASS (logview_loglist_parent_class)->finalize (obj); +} + +static void +logview_loglist_init (LogviewLoglist *list) +{ + GtkTreeStore *model; + GtkTreeViewColumn *column; + GtkTreeSelection *selection; + GtkCellRenderer *cell; + + list->priv = GET_PRIVATE (list); + list->priv->has_day_selection = FALSE; + list->priv->selection = NULL; + + model = gtk_tree_store_new (5, LOGVIEW_TYPE_LOG, G_TYPE_STRING, G_TYPE_INT, + G_TYPE_BOOLEAN, G_TYPE_POINTER); + gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (model)); + list->priv->model = model; + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list), FALSE); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list)); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); + g_signal_connect (selection, "changed", + G_CALLBACK (tree_selection_changed_cb), list); + + cell = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new (); + gtk_tree_view_column_pack_start (column, cell, TRUE); + gtk_tree_view_column_set_attributes (column, cell, + "text", LOG_NAME, + "weight-set", LOG_WEIGHT_SET, + "weight", LOG_WEIGHT, + NULL); + + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list->priv->model), LOG_NAME, GTK_SORT_ASCENDING); + gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (list->priv->model), + LOG_NAME, + (GtkTreeIterCompareFunc) loglist_sort_func, + list, NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (list), column); + gtk_tree_view_set_search_column (GTK_TREE_VIEW (list), -1); + + list->priv->manager = logview_manager_get (); + + g_signal_connect (list->priv->manager, "log-added", + G_CALLBACK (manager_log_added_cb), list); + g_signal_connect (list->priv->manager, "log-closed", + G_CALLBACK (manager_log_closed_cb), list); + g_signal_connect_after (list->priv->manager, "active-changed", + G_CALLBACK (manager_active_changed_cb), list); + g_signal_connect (list, "row-expanded", + G_CALLBACK (row_expanded_cb), list); +} + +static void +logview_loglist_class_init (LogviewLoglistClass *klass) +{ + GObjectClass *oclass = G_OBJECT_CLASS (klass); + oclass->finalize = do_finalize; + + signals[DAY_SELECTED] = g_signal_new ("day-selected", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewLoglistClass, day_selected), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, + G_TYPE_POINTER); + + signals[DAY_CLEARED] = g_signal_new ("day-cleared", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewLoglistClass, day_cleared), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + g_type_class_add_private (klass, sizeof (LogviewLoglistPrivate)); +} + +/* public methods */ + +GtkWidget * +logview_loglist_new (void) +{ + GtkWidget *widget; + widget = g_object_new (LOGVIEW_TYPE_LOGLIST, NULL); + return widget; +} + +void +logview_loglist_update_lines (LogviewLoglist *loglist, LogviewLog *log) +{ + GSList *days; + GtkTreeIter *parent; + + g_assert (LOGVIEW_IS_LOGLIST (loglist)); + g_assert (LOGVIEW_IS_LOG (log)); + + days = logview_log_get_days_for_cached_lines (log); + parent = logview_loglist_find_log (loglist, log); + update_days_and_lines_for_log (loglist, parent, days); + + gtk_tree_iter_free (parent); +} + diff --git a/logview/logview-loglist.h b/logview/logview-loglist.h new file mode 100644 index 00000000..9b7d50c0 --- /dev/null +++ b/logview/logview-loglist.h @@ -0,0 +1,68 @@ +/* logview-loglist.h - displays a list of the opened logs + * + * Copyright (C) 2005 Vincent Noel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __LOGVIEW_LOGLIST_H__ +#define __LOGVIEW_LOGLIST_H__ + +#define LOGVIEW_TYPE_LOGLIST logview_loglist_get_type() +#define LOGVIEW_LOGLIST(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_LOGLIST, LogviewLoglist)) +#define LOGVIEW_LOGLIST_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_LOGLIST, LogviewLogListClass)) +#define LOGVIEW_IS_LOGLIST(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_LOGLIST)) +#define LOGVIEW_IS_LOGLIST_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_LOGLIST)) +#define LOGVIEW_LOGLIST_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_LOGLIST, LogviewLoglistClass)) + +#include +#include + +#include "logview-log.h" +#include "logview-utils.h" + +typedef struct _LogviewLoglist LogviewLoglist; +typedef struct _LogviewLoglistClass LogviewLoglistClass; +typedef struct _LogviewLoglistPrivate LogviewLoglistPrivate; + +struct _LogviewLoglist { + GtkTreeView parent_instance; + LogviewLoglistPrivate *priv; +}; + +struct _LogviewLoglistClass { + GtkTreeViewClass parent_class; + + void (* day_selected) (LogviewLoglist *loglist, + Day *day); + void (* day_cleared) (LogviewLoglist *loglist); +}; + +GType logview_loglist_get_type (void); + +/* public methods */ +GtkWidget * logview_loglist_new (void); +void logview_loglist_update_lines (LogviewLoglist *loglist, + LogviewLog *log); +GDate * logview_loglist_get_date_selection (LogviewLoglist *loglist); +void logview_loglist_clear_date (LogviewLoglist *loglist); + +#endif /* __LOGVIEW_LOGLIST_H__ */ diff --git a/logview/logview-main.c b/logview/logview-main.c new file mode 100644 index 00000000..819bed8c --- /dev/null +++ b/logview/logview-main.c @@ -0,0 +1,122 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-main.c - logview main + * + * Copyright (C) 2005 Vincent Noel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include "config.h" + +#include + +#include +#include + +#include + +#include "logview-app.h" + +/* log files specified on the command line */ +static char **log_files = NULL; + +static void +app_quit_cb (LogviewApp *app, + gpointer user_data) +{ + gtk_main_quit (); +} + +static void +logview_show_version_and_quit (void) +{ + g_print ("%s - Version %s\n" + "Copyright (C) 2004-2008 Vincent Noel, Cosimo Cecchi and others.\n", + g_get_application_name (), + VERSION); + + exit (0); +} + +static GOptionContext * +create_option_context (void) +{ + GOptionContext *context; + + const GOptionEntry entries[] = { + { "version", 'V', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, + logview_show_version_and_quit, N_("Show the application's version"), NULL }, + { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &log_files, + NULL, N_("[LOGFILE...]") }, + { NULL }, + }; + + context = g_option_context_new (_(" - Browse and monitor logs")); + g_option_context_set_translation_domain (context, GETTEXT_PACKAGE); + g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE); + g_option_context_set_ignore_unknown_options (context, TRUE); + g_option_context_add_group (context, gtk_get_option_group (TRUE)); + + return context; +} + +int +main (int argc, char *argv[]) +{ + GError *error = NULL; + GOptionContext *context; + LogviewApp *app; + + bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + + g_thread_init (NULL); + + context = create_option_context (); + + g_option_context_parse (context, &argc, &argv, &error); + + if (error) { + g_critical ("Unable to parse arguments: %s", error->message); + g_error_free (error); + g_option_context_free (context); + + exit (1); + } + + g_option_context_free (context); + g_set_application_name (_("Log Viewer")); + + app = logview_app_get (); + + if (!app) { + g_critical ("Unable to create the user interface."); + + exit (1); + } else { + g_signal_connect (app, "app-quit", + G_CALLBACK (app_quit_cb), NULL); + } + + logview_app_initialize (app, log_files); + + gtk_main (); + + g_object_unref (app); + + return EXIT_SUCCESS; +} diff --git a/logview/logview-manager.c b/logview/logview-manager.c new file mode 100644 index 00000000..c9f460e7 --- /dev/null +++ b/logview/logview-manager.c @@ -0,0 +1,413 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-manager.c - manager for the opened log objects + * + * Copyright (C) 2008 Cosimo Cecchi + * + * 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., 551 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + */ + +/* logview-manager.c */ + +#include "logview-manager.h" + +#include + +#include "logview-prefs.h" +#include "logview-marshal.h" +#include "logview-app.h" + +enum { + LOG_ADDED, + LOG_CLOSED, + ACTIVE_CHANGED, + LAST_SIGNAL +}; + +typedef struct { + LogviewManager *manager; + gboolean set_active; + gboolean is_multiple; + GFile *file; +} CreateCBData; + +typedef struct { + int total; + int current; + GPtrArray *errors; +} MultipleCreation; + +struct _LogviewManagerPrivate { + GHashTable *logs; + LogviewLog *active_log; +}; + +static LogviewManager *singleton = NULL; +static MultipleCreation *op = NULL; +static guint signals[LAST_SIGNAL] = { 0 }; + +G_DEFINE_TYPE (LogviewManager, logview_manager, G_TYPE_OBJECT); + +#define GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_MANAGER, LogviewManagerPrivate)) + +static void +logview_manager_finalize (GObject *object) +{ + LogviewManager *manager; + + manager = LOGVIEW_MANAGER (object); + + if (manager->priv->active_log) { + g_object_unref (manager->priv->active_log); + } + + g_hash_table_destroy (manager->priv->logs); + + G_OBJECT_CLASS (logview_manager_parent_class)->finalize (object); +} + +static void +logview_manager_class_init (LogviewManagerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = logview_manager_finalize; + + signals[LOG_ADDED] = g_signal_new ("log-added", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewManagerClass, log_added), + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, 1, + LOGVIEW_TYPE_LOG); + + signals[LOG_CLOSED] = g_signal_new ("log-closed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewManagerClass, log_closed), + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, 1, + LOGVIEW_TYPE_LOG); + + signals[ACTIVE_CHANGED] = g_signal_new ("active-changed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewManagerClass, active_changed), + NULL, NULL, + logview_marshal_VOID__OBJECT_OBJECT, + G_TYPE_NONE, 2, + LOGVIEW_TYPE_LOG, + LOGVIEW_TYPE_LOG); + + g_type_class_add_private (klass, sizeof (LogviewManagerPrivate)); +} + +static void +logview_manager_init (LogviewManager *self) +{ + LogviewManagerPrivate *priv = self->priv = GET_PRIVATE (self); + + priv->active_log = NULL; + priv->logs = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_free, (GDestroyNotify) g_object_unref); +} + +static MultipleCreation * +multiple_creation_op_new (int total) +{ + MultipleCreation *retval; + + retval = g_slice_new0 (MultipleCreation); + retval->total = total; + retval->current = 0; + retval->errors = g_ptr_array_new (); + + return retval; +} + +static void +multiple_creation_op_free (MultipleCreation *mc) +{ + g_ptr_array_foreach (mc->errors, (GFunc) g_strfreev, NULL); + g_ptr_array_free (mc->errors, TRUE); + + g_slice_free (MultipleCreation, mc); +} + +static void +create_log_cb (LogviewLog *log, + GError *error, + gpointer user_data) +{ + CreateCBData *data = user_data; + + if (log) { + char *log_uri; + LogviewPrefs *prefs; + GFile *file; + + log_uri = logview_log_get_uri (log); + + /* creation went well, store the log and notify */ + g_hash_table_insert (data->manager->priv->logs, + log_uri, log); + + prefs = logview_prefs_get (); + file = logview_log_get_gfile (log); + logview_prefs_store_log (prefs, file); + + g_object_unref (file); + + g_signal_emit (data->manager, signals[LOG_ADDED], 0, log, NULL); + + if (data->set_active) { + logview_manager_set_active_log (data->manager, log); + } + } else { + char *path; + + /* notify the error */ + path = g_file_get_path (data->file); + + if (!data->is_multiple) { + logview_app_add_error (logview_app_get (), + path, error->message); + } else { + char **error_arr = g_new0 (char *, 3); + + error_arr[0] = g_strdup (path); + error_arr[1] = g_strdup (error->message); + error_arr[2] = NULL; + + g_ptr_array_add (op->errors, error_arr); + } + + g_free (path); + } + + if (data->is_multiple) { + op->current++; + + if (op->total == op->current) { + logview_app_add_errors (logview_app_get (), op->errors); + multiple_creation_op_free (op); + op = NULL; + } + } + + g_object_unref (data->file); + g_slice_free (CreateCBData, data); +} + +static void +add_log_from_gfile_internal (LogviewManager *manager, + GFile *file, + gboolean set_active, + gboolean is_multiple) +{ + char *file_uri; + LogviewLog *log; + CreateCBData *data; + + file_uri = g_file_get_uri (file); + + if (set_active == FALSE) { + /* if it's the first log being added, set it as active anyway */ + set_active = (manager->priv->logs == NULL); + } + + if ((log = g_hash_table_lookup (manager->priv->logs, file_uri)) != NULL) { + /* log already exists, don't load it */ + if (set_active) { + logview_manager_set_active_log (manager, log); + } + } else { + data = g_slice_new0 (CreateCBData); + data->manager = manager; + data->set_active = set_active; + data->is_multiple = is_multiple; + data->file = g_object_ref (file); + + logview_log_create_from_gfile (file, create_log_cb, data); + } + + g_free (file_uri); +} + +static void +logview_manager_add_log_from_name (LogviewManager *manager, + const char *filename, gboolean set_active, + gboolean is_multiple) +{ + GFile *file; + + file = g_file_new_for_path (filename); + + add_log_from_gfile_internal (manager, file, set_active, is_multiple); + + g_object_unref (file); +} + +/* public methods */ + +LogviewManager* +logview_manager_get (void) +{ + if (!singleton) { + singleton = g_object_new (LOGVIEW_TYPE_MANAGER, NULL); + } + + return singleton; +} + +void +logview_manager_set_active_log (LogviewManager *manager, + LogviewLog *log) +{ + LogviewLog *old_log = NULL; + + g_assert (LOGVIEW_IS_MANAGER (manager)); + + if (manager->priv->active_log) { + old_log = manager->priv->active_log; + } + + manager->priv->active_log = g_object_ref (log); + + g_signal_emit (manager, signals[ACTIVE_CHANGED], 0, log, old_log, NULL); + + if (old_log) { + g_object_unref (old_log); + } +} + +LogviewLog * +logview_manager_get_active_log (LogviewManager *manager) +{ + g_assert (LOGVIEW_IS_MANAGER (manager)); + + return (manager->priv->active_log != NULL) ? + g_object_ref (manager->priv->active_log) : + NULL; +} + +void +logview_manager_add_log_from_gfile (LogviewManager *manager, + GFile *file, + gboolean set_active) +{ + g_assert (LOGVIEW_IS_MANAGER (manager)); + + add_log_from_gfile_internal (manager, file, set_active, FALSE); +} + +void +logview_manager_add_logs_from_name_list (LogviewManager *manager, + GSList *names, + const char *active) +{ + GSList *l; + + g_assert (LOGVIEW_IS_MANAGER (manager)); + g_assert (op == NULL); + + op = multiple_creation_op_new (g_slist_length (names)); + + for (l = names; l; l = l->next) { + logview_manager_add_log_from_name (manager, l->data, + (g_ascii_strcasecmp (active, l->data) == 0), + TRUE); + } +} + +void +logview_manager_add_logs_from_names (LogviewManager *manager, + char ** names) +{ + int i; + + g_assert (LOGVIEW_IS_MANAGER (manager)); + g_assert (op == NULL); + + op = multiple_creation_op_new (G_N_ELEMENTS (names)); + + for (i = 0; names[i]; i++) { + logview_manager_add_log_from_name (manager, names[i], FALSE, TRUE); + } +} + +int +logview_manager_get_log_count (LogviewManager *manager) +{ + g_assert (LOGVIEW_IS_MANAGER (manager)); + + return g_hash_table_size (manager->priv->logs); +} + +LogviewLog * +logview_manager_get_if_loaded (LogviewManager *manager, char *uri) +{ + LogviewLog *log; + + g_assert (LOGVIEW_IS_MANAGER (manager)); + + log = g_hash_table_lookup (manager->priv->logs, uri); + + if (log != NULL) { + return g_object_ref (log); + } + + return NULL; +} + +void +logview_manager_close_active_log (LogviewManager *manager) +{ + LogviewLog *active_log; + char *log_uri; + GFile *file; + + g_assert (LOGVIEW_IS_MANAGER (manager)); + + active_log = manager->priv->active_log; + log_uri = logview_log_get_uri (active_log); + file = logview_log_get_gfile (active_log); + + g_signal_emit (manager, signals[LOG_CLOSED], 0, active_log, NULL); + + logview_prefs_remove_stored_log (logview_prefs_get (), file); + + g_object_unref (file); + + /* we own two refs to the active log; one is inside the hash table */ + g_object_unref (active_log); + g_hash_table_remove (manager->priv->logs, log_uri); + + g_free (log_uri); + + /* someone else will take care of setting the next active log to us */ +} + +gboolean +logview_manager_log_is_active (LogviewManager *manager, + LogviewLog *log) +{ + g_assert (LOGVIEW_IS_MANAGER (manager)); + + return (manager->priv->active_log == log); +} diff --git a/logview/logview-manager.h b/logview/logview-manager.h new file mode 100644 index 00000000..9a5fe630 --- /dev/null +++ b/logview/logview-manager.h @@ -0,0 +1,89 @@ +/* logview-manager.h - manager for the opened log objects + * + * Copyright (C) 2008 Cosimo Cecchi + * + * 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., 551 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + */ + +/* logview-manager.h */ + +#ifndef __LOGVIEW_MANAGER_H__ +#define __LOGVIEW_MANAGER_H__ + +#include + +#include "logview-log.h" + +G_BEGIN_DECLS + +#define LOGVIEW_TYPE_MANAGER logview_manager_get_type() +#define LOGVIEW_MANAGER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_MANAGER, LogviewManager)) +#define LOGVIEW_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_MANAGER, LogviewManagerClass)) +#define LOGVIEW_IS_MANAGER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_MANAGER)) +#define LOGVIEW_IS_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_MANAGER)) +#define LOGVIEW_MANAGER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_MANAGER, LogviewManagerClass)) + +typedef struct _LogviewManager LogviewManager; +typedef struct _LogviewManagerClass LogviewManagerClass; +typedef struct _LogviewManagerPrivate LogviewManagerPrivate; + +struct _LogviewManager { + GObject parent; + LogviewManagerPrivate *priv; +}; + +struct _LogviewManagerClass { + GObjectClass parent_class; + + void (* log_added) (LogviewManager *manager, + LogviewLog *log); + void (* log_closed) (LogviewManager *manager, + LogviewLog *log); + void (* active_changed) (LogviewManager *manager, + LogviewLog *log, + LogviewLog *old_log); +}; + +GType logview_manager_get_type (void); + +/* public methods */ +LogviewManager* logview_manager_get (void); +void logview_manager_add_logs_from_name_list (LogviewManager *manager, + GSList *names, + const char *active); +void logview_manager_add_log_from_gfile (LogviewManager *manager, + GFile *file, + gboolean set_active); +void logview_manager_add_logs_from_names (LogviewManager *manager, + char ** names); +void logview_manager_set_active_log (LogviewManager *manager, + LogviewLog *log); +LogviewLog * logview_manager_get_active_log (LogviewManager *manager); +int logview_manager_get_log_count (LogviewManager *manager); +LogviewLog * logview_manager_get_if_loaded (LogviewManager *manager, + char *filename); +gboolean logview_manager_log_is_active (LogviewManager *manager, + LogviewLog *log); +void logview_manager_close_active_log (LogviewManager *manager); + +G_END_DECLS + +#endif /* __LOGVIEW_MANAGER_H__ */ diff --git a/logview/logview-marshal.list b/logview/logview-marshal.list new file mode 100644 index 00000000..38076d6c --- /dev/null +++ b/logview/logview-marshal.list @@ -0,0 +1 @@ +VOID:OBJECT,OBJECT diff --git a/logview/logview-prefs.c b/logview/logview-prefs.c new file mode 100644 index 00000000..2ce0aa81 --- /dev/null +++ b/logview/logview-prefs.c @@ -0,0 +1,630 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-prefs.c - logview user preferences handling + * + * Copyright (C) 1998 Cesar Miquel + * Copyright (C) 2004 Vincent Noel + * Copyright (C) 2006 Emmanuele Bassi + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include + +#include "logview-prefs.h" + +#define LOGVIEW_DEFAULT_HEIGHT 400 +#define LOGVIEW_DEFAULT_WIDTH 600 + +/* logview settings */ +#define MATECONF_DIR "/apps/mate-system-log" +#define MATECONF_WIDTH_KEY MATECONF_DIR "/width" +#define MATECONF_HEIGHT_KEY MATECONF_DIR "/height" +#define MATECONF_LOGFILE MATECONF_DIR "/logfile" +#define MATECONF_LOGFILES MATECONF_DIR "/logfiles" +#define MATECONF_FONTSIZE_KEY MATECONF_DIR "/fontsize" +#define MATECONF_FILTERS MATECONF_DIR "/filters" + +/* desktop-wide settings */ +#define MATECONF_MONOSPACE_FONT_NAME "/desktop/mate/interface/monospace_font_name" +#define MATECONF_MENUS_HAVE_TEAROFF "/desktop/mate/interface/menus_have_tearoff" + +static LogviewPrefs *singleton = NULL; + +enum { + SYSTEM_FONT_CHANGED, + HAVE_TEAROFF_CHANGED, + LAST_SIGNAL +}; + +enum { + FILTER_NAME, + FILTER_INVISIBLE, + FILTER_FOREGROUND, + FILTER_BACKGROUND, + FILTER_REGEX, + MAX_TOKENS +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +#define GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_PREFS, LogviewPrefsPrivate)) + +struct _LogviewPrefsPrivate { + MateConfClient *client; + + guint size_store_timeout; + + GHashTable *filters; +}; + +typedef struct { + int width; + int height; +} WindowSize; + +G_DEFINE_TYPE (LogviewPrefs, logview_prefs, G_TYPE_OBJECT); + +static void +do_finalize (GObject *obj) +{ + LogviewPrefs *prefs = LOGVIEW_PREFS (obj); + + g_hash_table_destroy (prefs->priv->filters); + + g_object_unref (prefs->priv->client); + + G_OBJECT_CLASS (logview_prefs_parent_class)->finalize (obj); +} + +static void +logview_prefs_class_init (LogviewPrefsClass *klass) +{ + GObjectClass *oclass = G_OBJECT_CLASS (klass); + + oclass->finalize = do_finalize; + + signals[SYSTEM_FONT_CHANGED] = g_signal_new ("system-font-changed", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewPrefsClass, system_font_changed), + NULL, NULL, + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, + G_TYPE_STRING); + signals[HAVE_TEAROFF_CHANGED] = g_signal_new ("have-tearoff-changed", + G_OBJECT_CLASS_TYPE (oclass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (LogviewPrefsClass, have_tearoff_changed), + NULL, NULL, + g_cclosure_marshal_VOID__BOOLEAN, + G_TYPE_NONE, 1, + G_TYPE_BOOLEAN); + + g_type_class_add_private (klass, sizeof (LogviewPrefsPrivate)); +} + +static void +have_tearoff_changed_cb (MateConfClient *client, + guint id, + MateConfEntry *entry, + gpointer data) +{ + LogviewPrefs *prefs = data; + + if (entry->value && (entry->value->type == MATECONF_VALUE_BOOL)) { + gboolean add_tearoffs; + + add_tearoffs = mateconf_value_get_bool (entry->value); + g_signal_emit (prefs, signals[HAVE_TEAROFF_CHANGED], 0, add_tearoffs, NULL); + } +} + +static void +monospace_font_changed_cb (MateConfClient *client, + guint id, + MateConfEntry *entry, + gpointer data) +{ + LogviewPrefs *prefs = data; + + if (entry->value && (entry->value->type == MATECONF_VALUE_STRING)) { + const gchar *monospace_font_name; + + monospace_font_name = mateconf_value_get_string (entry->value); + g_signal_emit (prefs, signals[SYSTEM_FONT_CHANGED], 0, monospace_font_name, NULL); + } +} + +static gboolean +size_store_timeout_cb (gpointer data) +{ + WindowSize *size = data; + LogviewPrefs *prefs = logview_prefs_get (); + + if (size->width > 0 && size->height > 0) { + if (mateconf_client_key_is_writable (prefs->priv->client, MATECONF_WIDTH_KEY, NULL)) + mateconf_client_set_int (prefs->priv->client, + MATECONF_WIDTH_KEY, + size->width, + NULL); + + if (mateconf_client_key_is_writable (prefs->priv->client, MATECONF_HEIGHT_KEY, NULL)) + mateconf_client_set_int (prefs->priv->client, + MATECONF_HEIGHT_KEY, + size->height, + NULL); + } + + /* reset the source id */ + prefs->priv->size_store_timeout = 0; + + g_free (size); + + return FALSE; +} + +#define DELIMITER ":" + +static void +load_filters (LogviewPrefs *prefs) +{ + GSList *node; + GSList *filters; + gchar **tokens; + LogviewFilter *filter; + GtkTextTag *tag; + GdkColor color; + + filters = mateconf_client_get_list (prefs->priv->client, + MATECONF_FILTERS, + MATECONF_VALUE_STRING, + NULL); + + prefs->priv->filters = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_free, + (GDestroyNotify) g_object_unref); + + for (node = filters; node != NULL; node = g_slist_next (node)) { + tokens = g_strsplit (node->data, DELIMITER, MAX_TOKENS); + filter = logview_filter_new (tokens[FILTER_NAME], tokens[FILTER_REGEX]); + tag = gtk_text_tag_new (tokens[FILTER_NAME]); + + g_object_set (tag, "invisible", + g_str_equal (tokens[FILTER_INVISIBLE], "1"), NULL); + + if (strlen (tokens[FILTER_FOREGROUND])) { + gdk_color_parse (tokens[FILTER_FOREGROUND], &color); + g_object_set (tag, "foreground-gdk", &color, + "foreground-set", TRUE, NULL); + } + + if (strlen (tokens[FILTER_BACKGROUND])) { + gdk_color_parse (tokens[FILTER_BACKGROUND], &color); + g_object_set (tag, "paragraph-background-gdk", &color, + "paragraph-background-set", TRUE, NULL); + } + + g_object_set (filter, "texttag", tag, NULL); + g_hash_table_insert (prefs->priv->filters, + g_strdup(tokens[FILTER_NAME]), + filter); + + g_object_ref (filter); + g_object_unref (tag); + g_strfreev (tokens); + } + + g_slist_foreach (filters, (GFunc) g_free, NULL); + g_slist_free (filters); +} + +static void +save_filter_foreach_func (gpointer key, gpointer value, gpointer user_data) +{ + GSList **filters; + const gchar *name; + LogviewFilter *filter; + GdkColor *foreground; + gboolean foreground_set; + GdkColor *background; + gboolean background_set; + gchar *regex, *color; + gboolean invisible; + GtkTextTag *tag; + GString *prefs_string; + + filters = user_data; + filter = LOGVIEW_FILTER (value); + name = key; + color = NULL; + + prefs_string = g_string_new (name); + g_string_append (prefs_string, DELIMITER); + + g_object_get (filter, + "regex", ®ex, + "texttag", &tag, + NULL); + g_object_get (tag, + "foreground-gdk", &foreground, + "paragraph-background-gdk", &background, + "foreground-set", &foreground_set, + "paragraph-background-set", &background_set, + "invisible", &invisible, NULL); + + if (invisible) { + g_string_append (prefs_string, "1" DELIMITER); + } else { + g_string_append (prefs_string, "0" DELIMITER); + } + + if (foreground_set) { + color = gdk_color_to_string (foreground); + g_string_append (prefs_string, color); + g_free (color); + } + + if (foreground) { + gdk_color_free (foreground); + } + + g_string_append (prefs_string, DELIMITER); + + if (background_set) { + color = gdk_color_to_string (background); + g_string_append (prefs_string, color); + g_free (color); + } + + if (background) { + gdk_color_free (background); + } + + g_string_append (prefs_string, DELIMITER); + g_string_append (prefs_string, regex); + + g_free (regex); + g_object_unref (tag); + + *filters = g_slist_prepend (*filters, g_string_free (prefs_string, FALSE)); +} + +static void +save_filters (LogviewPrefs *prefs) +{ + GSList *filters; + + filters = NULL; + + g_hash_table_foreach (prefs->priv->filters, + save_filter_foreach_func, + &filters); + mateconf_client_set_list (prefs->priv->client, + MATECONF_FILTERS, + MATECONF_VALUE_STRING, + filters, NULL); + + g_slist_foreach (filters, (GFunc) g_free, NULL); + g_slist_free (filters); +} + +static void +get_filters_foreach (gpointer key, gpointer value, gpointer user_data) +{ + GList **list; + list = user_data; + *list = g_list_append (*list, value); +} + +static void +logview_prefs_init (LogviewPrefs *self) +{ + LogviewPrefsPrivate *priv; + + priv = self->priv = GET_PRIVATE (self); + + priv->client = mateconf_client_get_default (); + priv->size_store_timeout = 0; + + mateconf_client_notify_add (priv->client, + MATECONF_MONOSPACE_FONT_NAME, + (MateConfClientNotifyFunc) monospace_font_changed_cb, + self, NULL, NULL); + mateconf_client_notify_add (priv->client, + MATECONF_MENUS_HAVE_TEAROFF, + (MateConfClientNotifyFunc) have_tearoff_changed_cb, + self, NULL, NULL); + + load_filters (self); +} + +/* public methods */ + +LogviewPrefs * +logview_prefs_get () +{ + if (!singleton) + singleton = g_object_new (LOGVIEW_TYPE_PREFS, NULL); + + return singleton; +} + +void +logview_prefs_store_window_size (LogviewPrefs *prefs, + int width, int height) +{ + /* we want to be smart here: since we will get a lot of configure events + * while resizing, we schedule the real MateConf storage in a timeout. + */ + WindowSize *size; + + g_assert (LOGVIEW_IS_PREFS (prefs)); + + size = g_new0 (WindowSize, 1); + size->width = width; + size->height = height; + + if (prefs->priv->size_store_timeout != 0) { + /* reschedule the timeout */ + g_source_remove (prefs->priv->size_store_timeout); + prefs->priv->size_store_timeout = 0; + } + + prefs->priv->size_store_timeout = g_timeout_add (200, + size_store_timeout_cb, + size); +} + +void +logview_prefs_get_stored_window_size (LogviewPrefs *prefs, + int *width, int *height) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + + *width = mateconf_client_get_int (prefs->priv->client, + MATECONF_WIDTH_KEY, + NULL); + + *height = mateconf_client_get_int (prefs->priv->client, + MATECONF_HEIGHT_KEY, + NULL); + + if ((*width == 0) ^ (*height == 0)) { + /* if one of the two failed, return default for both */ + *width = LOGVIEW_DEFAULT_WIDTH; + *height = LOGVIEW_DEFAULT_HEIGHT; + } +} + +char * +logview_prefs_get_monospace_font_name (LogviewPrefs *prefs) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + + return (mateconf_client_get_string (prefs->priv->client, MATECONF_MONOSPACE_FONT_NAME, NULL)); +} + +gboolean +logview_prefs_get_have_tearoff (LogviewPrefs *prefs) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + + return (mateconf_client_get_bool (prefs->priv->client, MATECONF_MENUS_HAVE_TEAROFF, NULL)); +} + +/* the elements should be freed with g_free () */ + +GSList * +logview_prefs_get_stored_logfiles (LogviewPrefs *prefs) +{ + GSList *retval; + + g_assert (LOGVIEW_IS_PREFS (prefs)); + + retval = mateconf_client_get_list (prefs->priv->client, + MATECONF_LOGFILES, + MATECONF_VALUE_STRING, + NULL); + return retval; +} + +void +logview_prefs_store_log (LogviewPrefs *prefs, GFile *file) +{ + GSList *stored_logs, *l; + GFile *stored; + gboolean found = FALSE; + + g_assert (LOGVIEW_IS_PREFS (prefs)); + g_assert (G_IS_FILE (file)); + + stored_logs = logview_prefs_get_stored_logfiles (prefs); + + for (l = stored_logs; l; l = l->next) { + stored = g_file_parse_name (l->data); + if (g_file_equal (file, stored)) { + found = TRUE; + } + + g_object_unref (stored); + + if (found) { + break; + } + } + + if (!found) { + stored_logs = g_slist_prepend (stored_logs, g_file_get_parse_name (file)); + mateconf_client_set_list (prefs->priv->client, + MATECONF_LOGFILES, + MATECONF_VALUE_STRING, + stored_logs, + NULL); + } + + /* the string list is copied */ + g_slist_foreach (stored_logs, (GFunc) g_free, NULL); + g_slist_free (stored_logs); +} + +void +logview_prefs_remove_stored_log (LogviewPrefs *prefs, GFile *target) +{ + GSList *stored_logs, *l, *removed = NULL; + GFile *stored; + + g_assert (LOGVIEW_IS_PREFS (prefs)); + g_assert (G_IS_FILE (target)); + + stored_logs = logview_prefs_get_stored_logfiles (prefs); + + for (l = stored_logs; l; l = l->next) { + stored = g_file_parse_name (l->data); + if (g_file_equal (stored, target)) { + removed = l; + stored_logs = g_slist_remove_link (stored_logs, l); + } + + g_object_unref (stored); + + if (removed) { + break; + } + } + + if (removed) { + mateconf_client_set_list (prefs->priv->client, + MATECONF_LOGFILES, + MATECONF_VALUE_STRING, + stored_logs, + NULL); + } + + /* the string list is copied */ + g_slist_foreach (stored_logs, (GFunc) g_free, NULL); + g_slist_free (stored_logs); + + if (removed) { + g_free (removed->data); + g_slist_free (removed); + } +} + +void +logview_prefs_store_fontsize (LogviewPrefs *prefs, int fontsize) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + g_assert (fontsize > 0); + + if (mateconf_client_key_is_writable (prefs->priv->client, MATECONF_FONTSIZE_KEY, NULL)) { + mateconf_client_set_int (prefs->priv->client, + MATECONF_FONTSIZE_KEY, + fontsize, NULL); + } +} + +int +logview_prefs_get_stored_fontsize (LogviewPrefs *prefs) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + + return mateconf_client_get_int (prefs->priv->client, MATECONF_FONTSIZE_KEY, NULL); +} + +void +logview_prefs_store_active_logfile (LogviewPrefs *prefs, + const char *filename) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + + if (mateconf_client_key_is_writable (prefs->priv->client, MATECONF_LOGFILE, NULL)) { + mateconf_client_set_string (prefs->priv->client, + MATECONF_LOGFILE, + filename, + NULL); + } +} + +char * +logview_prefs_get_active_logfile (LogviewPrefs *prefs) +{ + char *filename; + + g_assert (LOGVIEW_IS_PREFS (prefs)); + + filename = mateconf_client_get_string (prefs->priv->client, MATECONF_LOGFILE, NULL); + + return filename; +} + +GList * +logview_prefs_get_filters (LogviewPrefs *prefs) +{ + GList *filters = NULL; + + g_assert (LOGVIEW_IS_PREFS (prefs)); + + g_hash_table_foreach (prefs->priv->filters, + get_filters_foreach, + &filters); + + return filters; +} + +void +logview_prefs_remove_filter (LogviewPrefs *prefs, + const gchar *name) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + + g_hash_table_remove (prefs->priv->filters, + name); + + save_filters (prefs); +} + +void +logview_prefs_add_filter (LogviewPrefs *prefs, + LogviewFilter *filter) +{ + gchar* name; + + g_assert (LOGVIEW_IS_PREFS (prefs)); + g_assert (LOGVIEW_IS_FILTER (filter)); + + g_object_get (filter, "name", &name, NULL); + g_hash_table_insert (prefs->priv->filters, name, g_object_ref (filter)); + + save_filters (prefs); +} + +LogviewFilter * +logview_prefs_get_filter (LogviewPrefs *prefs, + const gchar *name) +{ + g_assert (LOGVIEW_IS_PREFS (prefs)); + + return g_hash_table_lookup (prefs->priv->filters, name); +} + diff --git a/logview/logview-prefs.h b/logview/logview-prefs.h new file mode 100644 index 00000000..2d2e9e27 --- /dev/null +++ b/logview/logview-prefs.h @@ -0,0 +1,89 @@ +/* logview-prefs.h - logview user preferences handling + * + * Copyright (C) 2004 Vincent Noel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __LOGVIEW_PREFS_H__ +#define __LOGVIEW_PREFS_H__ + +#include "logview-filter.h" + +#define LOGVIEW_TYPE_PREFS logview_prefs_get_type() +#define LOGVIEW_PREFS(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_PREFS, LogviewPrefs)) +#define LOGVIEW_PREFS_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_PREFS, LogviewPrefsClass)) +#define LOGVIEW_IS_PREFS(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_PREFS)) +#define LOGVIEW_IS_PREFS_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_PREFS)) +#define LOGVIEW_PREFS_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_PREFS, LogviewPrefsClass)) + +typedef struct _LogviewPrefs LogviewPrefs; +typedef struct _LogviewPrefsClass LogviewPrefsClass; +typedef struct _LogviewPrefsPrivate LogviewPrefsPrivate; + +struct _LogviewPrefs { + GObject parent; + LogviewPrefsPrivate *priv; +}; + +struct _LogviewPrefsClass { + GObjectClass parent_class; + + /* signals */ + void (* system_font_changed) (LogviewPrefs *prefs, + const char *font_name); + void (* have_tearoff_changed) (LogviewPrefs *prefs, + gboolean have_tearoff); + void (* filters_changed) (LogviewPrefs *prefs); +}; + +GType logview_prefs_get_type (void); + +/* public methods */ + +LogviewPrefs * logview_prefs_get (void); +void logview_prefs_store_window_size (LogviewPrefs *prefs, + int width, int height); +void logview_prefs_get_stored_window_size (LogviewPrefs *prefs, + int *width, int *height); +char * logview_prefs_get_monospace_font_name (LogviewPrefs *prefs); +gboolean logview_prefs_get_have_tearoff (LogviewPrefs *prefs); +void logview_prefs_store_log (LogviewPrefs *prefs, + GFile *file); +void logview_prefs_remove_stored_log (LogviewPrefs *prefs, + GFile *target); +GSList * logview_prefs_get_stored_logfiles (LogviewPrefs *prefs); +void logview_prefs_store_fontsize (LogviewPrefs *prefs, + int fontsize); +int logview_prefs_get_stored_fontsize (LogviewPrefs *prefs); +void logview_prefs_store_active_logfile (LogviewPrefs *prefs, + const char *filename); +char * logview_prefs_get_active_logfile (LogviewPrefs *prefs); + +GList * logview_prefs_get_filters (LogviewPrefs *prefs); +void logview_prefs_remove_filter (LogviewPrefs *prefs, + const gchar* name); +void logview_prefs_add_filter (LogviewPrefs *prefs, + LogviewFilter *filter); +LogviewFilter * logview_prefs_get_filter (LogviewPrefs *prefs, + const gchar *name); + +#endif /* __LOG_PREFS_H__ */ diff --git a/logview/logview-utils.c b/logview/logview-utils.c new file mode 100644 index 00000000..cd43f075 --- /dev/null +++ b/logview/logview-utils.c @@ -0,0 +1,277 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-utils.c - misc logview utilities + * + * Copyright (C) 1998 Cesar Miquel + * Copyright (C) 2008 Cosimo Cecchi + * + * 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., 551 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + */ + +#define _XOPEN_SOURCE +#include +#include +#include +#include + +#include + +#include "logview-utils.h" + +void +logview_utils_day_free (Day *day) +{ + if (!day) { + return; + } + + g_date_free (day->date); + g_slice_free (Day, day); +} + +Day * +logview_utils_day_copy (Day *day) +{ + Day *retval; + + retval = g_slice_new0 (Day); + retval->date = g_date_new_julian (g_date_get_julian (day->date)); + retval->first_line = day->first_line; + retval->last_line = day->last_line; + retval->timestamp_len = day->timestamp_len; + + return retval; +} + +GSList * +logview_utils_day_list_copy (GSList *days) +{ + GSList *l, *retval = NULL; + + for (l = days; l; l = l->next) { + retval = g_slist_prepend (retval, logview_utils_day_copy (l->data)); + } + + return g_slist_reverse (retval); +} + +gint +days_compare (gconstpointer a, gconstpointer b) +{ + const Day *day1 = a, *day2 = b; + + return g_date_compare (day1->date, day2->date); +} + +static GDate * +string_get_date (const char *line, char **time_string, int *timestamp_len) +{ + GDate *date = NULL; + struct tm tp; + char *cp = NULL, *timestamp = NULL; + + /* it's safe to assume that if strptime returns NULL, it's + * because of an error (format unmatched). being a log file, it's very + * unlikely that there aren't any more characters after the date. + */ + + if (line == NULL || line[0] == '\0') { + return NULL; + } + + /* this parses the "MonthName DayNo" format */ + cp = strptime (line, "%b %d", &tp); + if (cp) { + goto out; + } + + /* this parses the YYYY-MM-DD format */ + cp = strptime (line, "%F", &tp); + if (cp) { + goto out; + } + +out: + if (cp) { + /* the year doesn't matter to us now */ + date = g_date_new_dmy (tp.tm_mday, tp.tm_mon + 1, 1); + *time_string = g_strndup (line, cp - line); + + timestamp = strptime (cp, "%X", &tp); + if (timestamp) { + *timestamp_len = timestamp - line; + } + } + + return date; +} + +/** + * log_read_dates: + * + * @buffer_lines: an array of text lines. + * @current: the mtime of the file being parsed. + * + * Reads all the dates inside the text buffer. + * All dates are given with respect to the 1/1/1970 + * and are then corrected to the correct year once we + * reach the end. + * + * Returns: a #GSList of #Day structures. + */ + +GSList * +log_read_dates (const char **buffer_lines, time_t current) +{ + int current_year, offsetyear, i, n, rangemin, rangemax, timestamp_len = 0; + GSList *days = NULL; + GDate *date, *newdate; + struct tm *tmptm; + char *date_string; + Day *day; + gboolean done = FALSE; + + g_return_val_if_fail (buffer_lines != NULL, NULL); + + n = g_strv_length ((char **) buffer_lines); + + tmptm = localtime (¤t); + current_year = tmptm->tm_year + 1900; + offsetyear = 0; + + /* find the first line with a date we're able to parse */ + for (i = 0; buffer_lines[i]; i++) { + if ((date = string_get_date (buffer_lines[i], &date_string, ×tamp_len)) != NULL) + break; + } + + if (!date) { + /* no valid dates in the array, return NULL */ + return NULL; + } + + if (!g_date_valid (date)) { + g_date_free (date); + g_free (date_string); + return NULL; + } + + g_date_set_year (date, current_year); + + day = g_slice_new0 (Day); + days = g_slist_append (days, day); + + /* $i now contains the line number for the first good date */ + day->date = date; + day->first_line = i; + day->last_line = -1; + day->timestamp_len = timestamp_len; + + /* now scan the logfile to get the last line of the day */ + rangemin = i; + rangemax = n - 1; + + while (!done) { + /* find out the last line of the day we're currently building */ + + i = n - 1; + + while (day->last_line < 0) { + if (strstr (buffer_lines[i], date_string)) { + /* if we find the same string on the last line of the log, we're done */ + if (i == n - 1) { + done = TRUE; + day->last_line = i; + break; + } + + /* we're still in a section of lines with the same date; + * - if the next one changes, then we're on the last. + * - else we keep searching in the following. + */ + + if (!strstr (buffer_lines[i + 1], date_string)) { + day->last_line = i; + break; + } else { + rangemin = i; + i = floor (((float) i + (float) rangemax) / 2.); + } + } else { + /* we can't find the same date here; go back to a safer range. */ + rangemax = i; + i = floor (((float) rangemin + (float) i) / 2.); + } + } + + g_free (date_string); + date_string = NULL; + + if (!done) { + /* this means we finished the current day but we're not at the end + * of the buffer: reset the parameters for the next day. + */ + newdate = NULL; + + for (i = day->last_line + 1; buffer_lines[i]; i++) { + if ((newdate = string_get_date (buffer_lines[i], &date_string, ×tamp_len)) != NULL) + break; + } + + if (date_string == NULL && i == n - 1) { + done = TRUE; + } + + /* this will set the last line of the "old" log to either: + * - "n - 1" if we can't find another date + * - the line before the new date else. + */ + day->last_line = i - 1; + + if (newdate) { + /* append a new day to the list */ + + g_date_set_year (newdate, current_year + offsetyear); + + if (g_date_compare (newdate, date) < 1) { + /* this isn't possible, as we're reading the log forward. + * so it means that newdate is the next year. + */ + g_date_add_years (newdate, 1); + offsetyear++; + } + + date = newdate; + day = g_slice_new0 (Day); + days = g_slist_prepend (days, day); + + day->date = date; + day->first_line = i; + day->last_line = -1; + day->timestamp_len = timestamp_len; + rangemin = i; + rangemax = n - 1; + } + } + } + + if (date_string) { + g_free (date_string); + } + + /* sort the days in chronological order */ + days = g_slist_sort (days, days_compare); + + return days; +} \ No newline at end of file diff --git a/logview/logview-utils.h b/logview/logview-utils.h new file mode 100644 index 00000000..27242917 --- /dev/null +++ b/logview/logview-utils.h @@ -0,0 +1,40 @@ +/* logview-utils.h - misc logview utilities + * + * Copyright (C) 1998 Cesar Miquel + * Copyright (C) 2008 Cosimo Cecchi + * + * 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., 551 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + */ + +#ifndef __LOGVIEW_UTILS_H__ +#define __LOGVIEW_UTILS_H__ + +#include + +typedef struct { + GDate *date; + int first_line; + int last_line; + int timestamp_len; +} Day; + +GSList * log_read_dates (const char **buffer_lines, time_t current); +gint days_compare (gconstpointer a, gconstpointer b); +void logview_utils_day_free (Day *day); +Day * logview_utils_day_copy (Day *day); +GSList * logview_utils_day_list_copy (GSList *days); + + +#endif /* __LOGVIEW_UTILS_H__ */ \ No newline at end of file diff --git a/logview/logview-window.c b/logview/logview-window.c new file mode 100644 index 00000000..11bb4fbe --- /dev/null +++ b/logview/logview-window.c @@ -0,0 +1,1512 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ +/* logview-window.c - main window of logview + * + * Copyright (C) 1998 Cesar Miquel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include +#include + +#include "logview-window.h" + +#include "logview-loglist.h" +#include "logview-findbar.h" +#include "logview-about.h" +#include "logview-prefs.h" +#include "logview-manager.h" +#include "logview-filter-manager.h" + +#define APP_NAME _("System Log Viewer") +#define SEARCH_START_MARK "lw-search-start-mark" +#define SEARCH_END_MARK "lw-search-end-mark" + +struct _LogviewWindowPrivate { + GtkUIManager *ui_manager; + GtkActionGroup *action_group; + GtkActionGroup *filter_action_group; + + GtkWidget *find_bar; + GtkWidget *loglist; + GtkWidget *sidebar; + GtkWidget *version_bar; + GtkWidget *version_selector; + GtkWidget *hpaned; + GtkWidget *text_view; + GtkWidget *statusbar; + + GtkWidget *message_area; + GtkWidget *message_primary; + GtkWidget *message_secondary; + + GtkTextTagTable *tag_table; + + int original_fontsize, fontsize; + + LogviewPrefs *prefs; + LogviewManager *manager; + + gulong monitor_id; + guint search_timeout_id; + + guint filter_merge_id; + GList *active_filters; + gboolean matches_only; +}; + +#define GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), LOGVIEW_TYPE_WINDOW, LogviewWindowPrivate)) + +G_DEFINE_TYPE (LogviewWindow, logview_window, GTK_TYPE_WINDOW); + +static void findbar_close_cb (LogviewFindbar *findbar, + gpointer user_data); +static void read_new_lines_cb (LogviewLog *log, + const char **lines, + GSList *new_days, + GError *error, + gpointer user_data); + +/* private functions */ + +static void +logview_version_selector_changed (GtkComboBox *version_selector, gpointer user_data) +{ + +} +#if 0 + LogviewWindow *logview = user_data; + Log *log = logview->curlog; + int selected; + + g_assert (LOGVIEW_IS_WINDOW (logview)); + + selected = gtk_combo_box_get_active (version_selector); + + if (selected == log->current_version) + return; + + /* select a new version */ + if (selected == 0) { + logview_select_log (logview, log->parent_log); + } else { + Log *new; + if (log->parent_log) { + new = log->parent_log->older_logs[selected]; + } else { + new = log->older_logs[selected]; + } + + logview_select_log (logview, new); + } +} + +#endif + +/* private helpers */ + +static void +populate_tag_table (GtkTextTagTable *tag_table) +{ + GtkTextTag *tag; + + tag = gtk_text_tag_new ("bold"); + g_object_set (tag, "weight", PANGO_WEIGHT_BOLD, + "weight-set", TRUE, NULL); + + gtk_text_tag_table_add (tag_table, tag); + + tag = gtk_text_tag_new ("invisible"); + g_object_set (tag, "invisible", TRUE, "invisible-set", TRUE, NULL); + gtk_text_tag_table_add (tag_table, tag); + + tag = gtk_text_tag_new ("invisible-filter"); + g_object_set (tag, "invisible", TRUE, "invisible-set", TRUE, NULL); + gtk_text_tag_table_add (tag_table, tag); +} + + +static void +populate_style_tag_table (GtkStyle *style, + GtkTextTagTable *tag_table) +{ + GtkTextTag *tag; + GdkColor color; + + tag = gtk_text_tag_table_lookup (tag_table, "gray"); + + if (tag) { + /* FIXME: do we need a way to update the buffer/view? */ + gtk_text_tag_table_remove (tag_table, tag); + } + + tag = gtk_text_tag_new ("gray"); + color = style->text[GTK_STATE_INSENSITIVE]; + g_object_set (tag, "foreground-gdk", &color, "foreground-set", TRUE, NULL); + + gtk_text_tag_table_add (tag_table, tag); +} + +static void +_gtk_text_buffer_apply_tag_to_rectangle (GtkTextBuffer *buffer, int line_start, int line_end, + int offset_start, int offset_end, char *tag_name) +{ + GtkTextIter start, end; + int line_cur; + + gtk_text_buffer_get_iter_at_line (buffer, &start, line_start); + gtk_text_buffer_get_iter_at_line (buffer, &end, line_start); + + for (line_cur = line_start; line_cur < line_end + 1; line_cur++) { + + if (offset_start > 0) { + gtk_text_iter_forward_chars (&start, offset_start); + } + + gtk_text_iter_forward_chars (&end, offset_end); + + gtk_text_buffer_apply_tag_by_name (buffer, tag_name, &start, &end); + + gtk_text_iter_forward_line (&start); + gtk_text_iter_forward_line (&end); + } +} + +static void +logview_update_statusbar (LogviewWindow *logview, LogviewLog *active) +{ + char *statusbar_text; + char *size, *modified, *timestring_utf8; + time_t timestamp; + char timestring[255]; + + if (active == NULL) { + gtk_statusbar_pop (GTK_STATUSBAR (logview->priv->statusbar), 0); + return; + } + + timestamp = logview_log_get_timestamp (active); + strftime (timestring, sizeof (timestring), "%a %b %e %T %Y", localtime (×tamp)); + timestring_utf8 = g_locale_to_utf8 (timestring, -1, NULL, NULL, NULL); + + modified = g_strdup_printf (_("last update: %s"), timestring_utf8); + + size = g_format_size_for_display (logview_log_get_file_size (active)); + statusbar_text = g_strdup_printf (_("%d lines (%s) - %s"), + logview_log_get_cached_lines_number (active), + size, modified); + + gtk_statusbar_pop (GTK_STATUSBAR (logview->priv->statusbar), 0); + gtk_statusbar_push (GTK_STATUSBAR (logview->priv->statusbar), 0, statusbar_text); + + g_free (size); + g_free (timestring_utf8); + g_free (modified); + g_free (statusbar_text); +} + +#define DEFAULT_LOGVIEW_FONT "Monospace 10" + +static void +logview_set_font (LogviewWindow *logview, + const char *fontname) +{ + PangoFontDescription *font_desc; + + if (fontname == NULL) + fontname = DEFAULT_LOGVIEW_FONT; + + font_desc = pango_font_description_from_string (fontname); + if (font_desc) { + gtk_widget_modify_font (logview->priv->text_view, font_desc); + pango_font_description_free (font_desc); + } +} + +static void +logview_set_fontsize (LogviewWindow *logview, gboolean store) +{ + PangoFontDescription *fontdesc; + PangoContext *context; + LogviewWindowPrivate *priv = logview->priv; + + context = gtk_widget_get_pango_context (priv->text_view); + fontdesc = pango_context_get_font_description (context); + pango_font_description_set_size (fontdesc, (priv->fontsize) * PANGO_SCALE); + gtk_widget_modify_font (priv->text_view, fontdesc); + + if (store) { + logview_prefs_store_fontsize (logview->priv->prefs, priv->fontsize); + } +} + +static void +logview_set_window_title (LogviewWindow *logview, const char * log_name) +{ + char *window_title; + + if (log_name) { + window_title = g_strdup_printf ("%s - %s", log_name, APP_NAME); + } else { + window_title = g_strdup_printf (APP_NAME); + } + + gtk_window_set_title (GTK_WINDOW (logview), window_title); + + g_free (window_title); +} + +/* actions callbacks */ + +static void +open_file_selected_cb (GtkWidget *chooser, gint response, LogviewWindow *logview) +{ + GFile *f; + char *file_uri; + LogviewLog *log; + + gtk_widget_hide (GTK_WIDGET (chooser)); + if (response != GTK_RESPONSE_OK) { + return; + } + + f = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (chooser)); + file_uri = g_file_get_uri (f); + + log = logview_manager_get_if_loaded (logview->priv->manager, file_uri); + + g_free (file_uri); + + if (log) { + logview_manager_set_active_log (logview->priv->manager, log); + g_object_unref (log); + goto out; + } + + logview_manager_add_log_from_gfile (logview->priv->manager, f, TRUE); + +out: + g_object_unref (f); +} + +static void +logview_open_log (GtkAction *action, LogviewWindow *logview) +{ + static GtkWidget *chooser = NULL; + char *active; + + if (chooser == NULL) { + chooser = gtk_file_chooser_dialog_new (_("Open Log"), + GTK_WINDOW (logview), + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, GTK_RESPONSE_OK, + NULL); + gtk_dialog_set_default_response (GTK_DIALOG (chooser), GTK_RESPONSE_OK); + gtk_window_set_modal (GTK_WINDOW (chooser), TRUE); + g_signal_connect (chooser, "response", + G_CALLBACK (open_file_selected_cb), logview); + g_signal_connect (chooser, "destroy", + G_CALLBACK (gtk_widget_destroyed), &chooser); + active = logview_prefs_get_active_logfile (logview->priv->prefs); + if (active != NULL) { + gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (chooser), active); + g_free (active); + } + } + + gtk_window_present (GTK_WINDOW (chooser)); +} + +static void +logview_close_log (GtkAction *action, LogviewWindow *logview) +{ + findbar_close_cb (LOGVIEW_FINDBAR (logview->priv->find_bar), logview); + logview_manager_close_active_log (logview->priv->manager); +} + +static void +logview_help (GtkAction *action, GtkWidget *parent_window) +{ + GError *error = NULL; + + gtk_show_uri (gtk_widget_get_screen (parent_window), + "ghelp:mate-system-log", gtk_get_current_event_time (), + &error); + + if (error) { + g_warning (_("There was an error displaying help: %s"), error->message); + g_error_free (error); + } +} + +static void +logview_bigger_text (GtkAction *action, LogviewWindow *logview) +{ + logview->priv->fontsize = MIN (logview->priv->fontsize + 1, 24); + logview_set_fontsize (logview, TRUE); +} + +static void +logview_smaller_text (GtkAction *action, LogviewWindow *logview) +{ + logview->priv->fontsize = MAX (logview->priv->fontsize-1, 6); + logview_set_fontsize (logview, TRUE); +} + +static void +logview_normal_text (GtkAction *action, LogviewWindow *logview) +{ + logview->priv->fontsize = logview->priv->original_fontsize; + logview_set_fontsize (logview, TRUE); +} + +static void +logview_select_all (GtkAction *action, LogviewWindow *logview) +{ + GtkTextIter start, end; + GtkTextBuffer *buffer; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + + gtk_text_buffer_get_bounds (buffer, &start, &end); + gtk_text_buffer_select_range (buffer, &start, &end); + + gtk_widget_grab_focus (GTK_WIDGET (logview->priv->text_view)); +} + +static void +logview_copy (GtkAction *action, LogviewWindow *logview) +{ + GtkTextBuffer *buffer; + GtkClipboard *clipboard; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); + + gtk_text_buffer_copy_clipboard (buffer, clipboard); + + gtk_widget_grab_focus (GTK_WIDGET (logview->priv->text_view)); +} + +static void +findbar_close_cb (LogviewFindbar *findbar, + gpointer user_data) +{ + gtk_widget_hide (GTK_WIDGET (findbar)); + logview_findbar_set_message (findbar, NULL); +} + +static void +logview_search_text (LogviewWindow *logview, gboolean forward) +{ + GtkTextBuffer *buffer; + GtkTextMark *search_start, *search_end; + GtkTextIter search, start_m, end_m; + const char *text; + gboolean res, wrapped; + + wrapped = FALSE; + + text = logview_findbar_get_text (LOGVIEW_FINDBAR (logview->priv->find_bar)); + + if (!text || g_strcmp0 (text, "") == 0) { + return; + } + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + search_start = gtk_text_buffer_get_mark (buffer, SEARCH_START_MARK); + search_end = gtk_text_buffer_get_mark (buffer, SEARCH_END_MARK); + + if (!search_start) { + /* this is our first search on the buffer, create a new search mark */ + gtk_text_buffer_get_start_iter (buffer, &search); + search_start = gtk_text_buffer_create_mark (buffer, SEARCH_START_MARK, + &search, TRUE); + search_end = gtk_text_buffer_create_mark (buffer, SEARCH_END_MARK, + &search, TRUE); + } else { + if (forward) { + gtk_text_buffer_get_iter_at_mark (buffer, &search, search_end); + } else { + gtk_text_buffer_get_iter_at_mark (buffer, &search, search_start); + } + } + +wrap: + + if (forward) { + res = gtk_text_iter_forward_search (&search, text, GTK_TEXT_SEARCH_VISIBLE_ONLY, &start_m, &end_m, NULL); + } else { + res = gtk_text_iter_backward_search (&search, text, GTK_TEXT_SEARCH_VISIBLE_ONLY, &start_m, &end_m, NULL); + } + + if (res) { + gtk_text_buffer_select_range (buffer, &start_m, &end_m); + gtk_text_buffer_move_mark (buffer, search_start, &start_m); + gtk_text_buffer_move_mark (buffer, search_end, &end_m); + + gtk_text_view_scroll_mark_onscreen (GTK_TEXT_VIEW (logview->priv->text_view), search_end); + + if (wrapped) { + logview_findbar_set_message (LOGVIEW_FINDBAR (logview->priv->find_bar), _("Wrapped")); + } + } else { + if (wrapped) { + + GtkTextMark *mark; + GtkTextIter iter; + + if (gtk_text_buffer_get_has_selection (buffer)) { + /* unselect */ + mark = gtk_text_buffer_get_mark (buffer, "insert"); + gtk_text_buffer_get_iter_at_mark (buffer, &iter, mark); + gtk_text_buffer_move_mark_by_name (buffer, "selection_bound", &iter); + } + + logview_findbar_set_message (LOGVIEW_FINDBAR (logview->priv->find_bar), _("Not found")); + } else { + if (forward) { + gtk_text_buffer_get_start_iter (buffer, &search); + } else { + gtk_text_buffer_get_end_iter (buffer, &search); + } + + wrapped = TRUE; + goto wrap; + } + } +} + +static void +findbar_previous_cb (LogviewFindbar *findbar, + gpointer user_data) +{ + LogviewWindow *logview = user_data; + + logview_search_text (logview, FALSE); +} + +static void +findbar_next_cb (LogviewFindbar *findbar, + gpointer user_data) +{ + LogviewWindow *logview = user_data; + + logview_search_text (logview, TRUE); +} + +static gboolean +text_changed_timeout_cb (gpointer user_data) +{ + LogviewWindow *logview = user_data; + GtkTextMark *search_start, *search_end; + GtkTextIter start; + GtkTextBuffer *buffer; + + logview->priv->search_timeout_id = 0; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + search_start = gtk_text_buffer_get_mark (buffer, SEARCH_START_MARK); + search_end = gtk_text_buffer_get_mark (buffer, SEARCH_END_MARK); + + if (search_start) { + /* reset the search mark to the start */ + gtk_text_buffer_get_start_iter (buffer, &start); + gtk_text_buffer_move_mark (buffer, search_start, &start); + gtk_text_buffer_move_mark (buffer, search_end, &start); + } + + logview_findbar_set_message (LOGVIEW_FINDBAR (logview->priv->find_bar), NULL); + + logview_search_text (logview, TRUE); + + return FALSE; +} + +static void +findbar_text_changed_cb (LogviewFindbar *findbar, + gpointer user_data) +{ + LogviewWindow *logview = user_data; + + if (logview->priv->search_timeout_id != 0) { + g_source_remove (logview->priv->search_timeout_id); + } + + logview->priv->search_timeout_id = g_timeout_add (300, text_changed_timeout_cb, logview); +} + +static void +logview_search (GtkAction *action, LogviewWindow *logview) +{ + logview_findbar_open (LOGVIEW_FINDBAR (logview->priv->find_bar)); +} + +static void +filter_buffer (LogviewWindow *logview, gint start_line) +{ + GtkTextBuffer *buffer; + GtkTextIter start, *end; + gchar* text; + GList* cur_filter; + gboolean matched; + int lines, i; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + lines = gtk_text_buffer_get_line_count (buffer); + + for (i = start_line; i < lines; i++) { + matched = FALSE; + + gtk_text_buffer_get_iter_at_line (buffer, &start, i); + end = gtk_text_iter_copy (&start); + gtk_text_iter_forward_line (end); + + text = gtk_text_buffer_get_text (buffer, &start, end, TRUE); + + for (cur_filter = logview->priv->active_filters; cur_filter != NULL; + cur_filter = g_list_next (cur_filter)) + { + if (logview_filter_filter (LOGVIEW_FILTER (cur_filter->data), text)) { + gtk_text_buffer_apply_tag (buffer, + logview_filter_get_tag (LOGVIEW_FILTER (cur_filter->data)), + &start, end); + matched = TRUE; + } + } + + g_free (text); + + if (!matched && logview->priv->matches_only) { + gtk_text_buffer_apply_tag_by_name (buffer, + "invisible-filter", + &start, end); + } else { + gtk_text_buffer_remove_tag_by_name (buffer, + "invisible-filter", + &start, end); + } + + gtk_text_iter_free (end); + } +} + +static void +filter_remove (LogviewWindow *logview, LogviewFilter *filter) +{ + GtkTextIter start, end; + GtkTextBuffer *buffer; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + gtk_text_buffer_get_bounds (buffer, &start, &end); + + gtk_text_buffer_remove_tag (buffer, logview_filter_get_tag (filter), + &start, &end); +} + +static void +on_filter_toggled (GtkToggleAction *action, LogviewWindow *logview) +{ + LogviewWindowPrivate *priv = GET_PRIVATE (logview); + const gchar* name; + LogviewFilter *filter; + + name = gtk_action_get_name (GTK_ACTION (action)); + + if (gtk_toggle_action_get_active (action)) { + priv->active_filters = g_list_append (priv->active_filters, + logview_prefs_get_filter (priv->prefs, + name)); + filter_buffer(logview, 0); + } else { + filter = logview_prefs_get_filter (priv->prefs, name); + priv->active_filters = g_list_remove (priv->active_filters, + filter); + + filter_remove (logview, filter); + } +} + +#define FILTER_PLACEHOLDER "/LogviewMenu/FilterMenu/PlaceholderFilters" +static void +update_filter_menu (LogviewWindow *window) +{ + LogviewWindowPrivate *priv; + GtkUIManager* ui; + GList *actions, *l; + guint id; + GList *filters; + GtkTextBuffer *buffer; + GtkTextTagTable *table; + GtkTextTag *tag; + GtkToggleAction *action; + gchar* name; + + priv = GET_PRIVATE (window); + ui = priv->ui_manager; + + g_return_if_fail (priv->filter_action_group != NULL); + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->text_view)); + table = priv->tag_table; + + if (priv->filter_merge_id != 0) { + gtk_ui_manager_remove_ui (ui, + priv->filter_merge_id); + } + + actions = gtk_action_group_list_actions (priv->filter_action_group); + + for (l = actions; l != NULL; l = g_list_next (l)) { + tag = gtk_text_tag_table_lookup (table, gtk_action_get_name (GTK_ACTION (l->data))); + gtk_text_tag_table_remove (table, tag); + + g_signal_handlers_disconnect_by_func (GTK_ACTION (l->data), + G_CALLBACK (on_filter_toggled), + window); + gtk_action_group_remove_action (priv->filter_action_group, + GTK_ACTION (l->data)); + } + + g_list_free (actions); + + filters = logview_prefs_get_filters (logview_prefs_get ()); + + id = (g_list_length (filters) > 0) ? gtk_ui_manager_new_merge_id (ui) : 0; + + for (l = filters; l != NULL; l = g_list_next (l)) { + g_object_get (l->data, "name", &name, NULL); + + action = gtk_toggle_action_new (name, name, NULL, NULL); + gtk_action_group_add_action (priv->filter_action_group, + GTK_ACTION (action)); + + g_signal_connect (action, + "toggled", + G_CALLBACK (on_filter_toggled), + window); + + gtk_ui_manager_add_ui (ui, id, FILTER_PLACEHOLDER, + name, name, GTK_UI_MANAGER_MENUITEM, FALSE); + gtk_text_tag_table_add (table, + logview_filter_get_tag (LOGVIEW_FILTER (l->data))); + + g_object_unref (action); + g_free(name); + } + + g_list_free (filters); + + priv->filter_merge_id = id; +} + +static void +on_logview_filter_manager_response (GtkDialog *dialog, + gint response, + LogviewWindow *logview) +{ + update_filter_menu (logview); + + g_list_free (logview->priv->active_filters); + logview->priv->active_filters = NULL; +} + +static void +logview_manage_filters (GtkAction *action, LogviewWindow *logview) +{ + GtkWidget *manager; + + manager = logview_filter_manager_new (); + + g_signal_connect (manager, "response", + G_CALLBACK (on_logview_filter_manager_response), + logview); + + gtk_window_set_transient_for (GTK_WINDOW (manager), + GTK_WINDOW (logview)); + gtk_widget_show (GTK_WIDGET (manager)); +} + +static void +logview_about (GtkWidget *widget, GtkWidget *window) +{ + g_return_if_fail (GTK_IS_WINDOW (window)); + + char *license_trans = g_strjoin ("\n\n", _(logview_about_license[0]), + _(logview_about_license[1]), + _(logview_about_license[2]), NULL); + + gtk_show_about_dialog (GTK_WINDOW (window), + "name", _("System Log Viewer"), + "version", VERSION, + "copyright", "Copyright \xc2\xa9 1998-2008 Free Software Foundation, Inc.", + "license", license_trans, + "wrap-license", TRUE, + "comments", _("A system log viewer for MATE."), + "authors", logview_about_authors, + "documenters", logview_about_documenters, + "translator_credits", strcmp (logview_about_translator_credits, + "translator-credits") != 0 ? + logview_about_translator_credits : NULL, + "logo_icon_name", "logviewer", + NULL); + g_free (license_trans); + + return; +} + +static void +logview_toggle_statusbar (GtkAction *action, LogviewWindow *logview) +{ + if (gtk_widget_get_visible (logview->priv->statusbar)) + gtk_widget_hide (logview->priv->statusbar); + else + gtk_widget_show (logview->priv->statusbar); +} + +static void +logview_toggle_sidebar (GtkAction *action, LogviewWindow *logview) +{ + if (gtk_widget_get_visible (logview->priv->sidebar)) + gtk_widget_hide (logview->priv->sidebar); + else + gtk_widget_show (logview->priv->sidebar); +} + +static void +logview_toggle_match_filters (GtkToggleAction *action, LogviewWindow *logview) +{ + logview->priv->matches_only = gtk_toggle_action_get_active (action); + filter_buffer (logview, 0); +} + +/* GObject functions */ + +/* Menus */ + +static GtkActionEntry entries[] = { + { "FileMenu", NULL, N_("_File"), NULL, NULL, NULL }, + { "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL }, + { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL }, + { "FilterMenu", NULL, N_("_Filters"), NULL, NULL, NULL }, + { "HelpMenu", NULL, N_("_Help"), NULL, NULL, NULL }, + + { "OpenLog", GTK_STOCK_OPEN, N_("_Open..."), "O", N_("Open a log from file"), + G_CALLBACK (logview_open_log) }, + { "CloseLog", GTK_STOCK_CLOSE, N_("_Close"), "W", N_("Close this log"), + G_CALLBACK (logview_close_log) }, + { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "Q", N_("Quit the log viewer"), + G_CALLBACK (gtk_main_quit) }, + + { "Copy", GTK_STOCK_COPY, N_("_Copy"), "C", N_("Copy the selection"), + G_CALLBACK (logview_copy) }, + { "SelectAll", NULL, N_("Select _All"), "A", N_("Select the entire log"), + G_CALLBACK (logview_select_all) }, + { "Search", GTK_STOCK_FIND, N_("_Find..."), "F", N_("Find a word or phrase in the log"), + G_CALLBACK (logview_search) }, + + { "ViewZoomIn", GTK_STOCK_ZOOM_IN, NULL, "plus", N_("Bigger text size"), + G_CALLBACK (logview_bigger_text)}, + { "ViewZoomOut", GTK_STOCK_ZOOM_OUT, NULL, "minus", N_("Smaller text size"), + G_CALLBACK (logview_smaller_text)}, + { "ViewZoom100", GTK_STOCK_ZOOM_100, NULL, "0", N_("Normal text size"), + G_CALLBACK (logview_normal_text)}, + + { "FilterManage", NULL, N_("Manage Filters"), NULL, N_("Manage filters"), + G_CALLBACK (logview_manage_filters)}, + + { "HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1", N_("Open the help contents for the log viewer"), + G_CALLBACK (logview_help) }, + { "AboutAction", GTK_STOCK_ABOUT, N_("_About"), NULL, N_("Show the about dialog for the log viewer"), + G_CALLBACK (logview_about) }, +}; + +static GtkToggleActionEntry toggle_entries[] = { + { "ShowStatusBar", NULL, N_("_Statusbar"), NULL, N_("Show Status Bar"), + G_CALLBACK (logview_toggle_statusbar), TRUE }, + { "ShowSidebar", NULL, N_("Side _Pane"), "F9", N_("Show Side Pane"), + G_CALLBACK (logview_toggle_sidebar), TRUE }, + { "FilterMatchOnly", NULL, N_("Show matches only"), NULL, N_("Only show lines that match one of the given filters"), + G_CALLBACK (logview_toggle_match_filters), FALSE} +}; + +static gboolean +window_size_changed_cb (GtkWidget *widget, GdkEventConfigure *event, + gpointer data) +{ + LogviewWindow *window = data; + + logview_prefs_store_window_size (window->priv->prefs, + event->width, event->height); + + return FALSE; +} + +static void +real_select_day (LogviewWindow *logview, + GDate *date, int first_line, int last_line) +{ + GtkTextBuffer *buffer; + GtkTextIter start_iter, end_iter, start_vis, end_vis; + GdkRectangle visible_rect; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + + gtk_text_buffer_get_bounds (buffer, &start_iter, &end_iter); + gtk_text_buffer_get_iter_at_line (buffer, &start_vis, first_line); + gtk_text_buffer_get_iter_at_line (buffer, &end_vis, last_line + 1); + + /* clear all previous invisible tags */ + gtk_text_buffer_remove_tag_by_name (buffer, "invisible", + &start_iter, &end_iter); + + gtk_text_buffer_apply_tag_by_name (buffer, "invisible", + &start_iter, &start_vis); + gtk_text_buffer_apply_tag_by_name (buffer, "invisible", + &end_vis, &end_iter); + + /* FIXME: why is this needed to update the view when selecting a day back? */ + gtk_text_view_get_visible_rect (GTK_TEXT_VIEW (logview->priv->text_view), + &visible_rect); + gdk_window_invalidate_rect (gtk_widget_get_window (logview->priv->text_view), + &visible_rect, TRUE); +} + +static void +loglist_day_selected_cb (LogviewLoglist *loglist, + Day *day, + gpointer user_data) +{ + LogviewWindow *logview = user_data; + + real_select_day (logview, day->date, day->first_line, day->last_line); +} + +static void +loglist_day_cleared_cb (LogviewLoglist *loglist, + gpointer user_data) +{ + LogviewWindow *logview = user_data; + GtkTextBuffer *buffer; + GtkTextIter start, end; + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (logview->priv->text_view)); + gtk_text_buffer_get_bounds (buffer, &start, &end); + + /* clear all previous invisible tags */ + gtk_text_buffer_remove_tag_by_name (buffer, "invisible", + &start, &end); +} + +static void +log_monitor_changed_cb (LogviewLog *log, + gpointer user_data) +{ + /* reschedule a read */ + logview_log_read_new_lines (log, (LogviewNewLinesCallback) read_new_lines_cb, + user_data); +} + +static void +paint_timestamps (GtkTextBuffer *buffer, int old_line_count, + GSList *days) +{ + GSList *l; + + for (l = days; l; l = l->next) { + Day *day = l->data; + + _gtk_text_buffer_apply_tag_to_rectangle (buffer, + old_line_count + day->first_line - 1, + old_line_count + day->last_line, + 0, day->timestamp_len, "gray"); + } +} + +static void +read_new_lines_cb (LogviewLog *log, + const char **lines, + GSList *new_days, + GError *error, + gpointer user_data) +{ + LogviewWindow *window = user_data; + GtkTextBuffer *buffer; + gboolean boldify = FALSE; + int i, old_line_count, filter_start_line; + GtkTextIter iter, start; + GtkTextMark *mark; + char *converted, *primary; + gsize len; + + if (error != NULL) { + primary = g_strdup_printf (_("Can't read from \"%s\""), + logview_log_get_display_name (log)); + logview_window_add_error (window, primary, error->message); + g_free (primary); + + return; + } + + if (lines == NULL) { + /* there's no error, but no lines have been read */ + return; + } + + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (window->priv->text_view)); + old_line_count = gtk_text_buffer_get_line_count (buffer); + filter_start_line = old_line_count > 0 ? (old_line_count - 1) : 0; + + if (gtk_text_buffer_get_char_count (buffer) != 0) { + boldify = TRUE; + } + + gtk_text_buffer_get_end_iter (buffer, &iter); + + if (boldify) { + mark = gtk_text_buffer_create_mark (buffer, NULL, &iter, TRUE); + } + + for (i = 0; lines[i]; i++) { + len = strlen (lines[i]); + + if (!g_utf8_validate (lines[i], len, NULL)) { + converted = g_locale_to_utf8 (lines[i], (gssize) len, NULL, &len, NULL); + gtk_text_buffer_insert (buffer, &iter, lines[i], len); + } else { + gtk_text_buffer_insert (buffer, &iter, lines[i], strlen (lines[i])); + } + + gtk_text_iter_forward_to_end (&iter); + gtk_text_buffer_insert (buffer, &iter, "\n", 1); + gtk_text_iter_forward_char (&iter); + } + + if (boldify) { + gtk_text_buffer_get_iter_at_mark (buffer, &start, mark); + gtk_text_buffer_apply_tag_by_name (buffer, "bold", &start, &iter); + gtk_text_buffer_delete_mark (buffer, mark); + } + filter_buffer (window, filter_start_line); + + gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW (window->priv->text_view), + &iter, 0.0, FALSE, 0.0, 0.0); + + paint_timestamps (buffer, old_line_count, new_days); + + if (window->priv->monitor_id == 0) { + window->priv->monitor_id = g_signal_connect (log, "log-changed", + G_CALLBACK (log_monitor_changed_cb), window); + } + + logview_update_statusbar (window, log); + logview_loglist_update_lines (LOGVIEW_LOGLIST (window->priv->loglist), log); +} + +static void +active_log_changed_cb (LogviewManager *manager, + LogviewLog *log, + LogviewLog *old_log, + gpointer data) +{ + LogviewWindow *window = data; + const char **lines; + GtkTextBuffer *buffer; + + findbar_close_cb (LOGVIEW_FINDBAR (window->priv->find_bar), + window); + + logview_set_window_title (window, logview_log_get_display_name (log)); + + if (window->priv->monitor_id) { + g_signal_handler_disconnect (old_log, window->priv->monitor_id); + window->priv->monitor_id = 0; + } + + lines = logview_log_get_cached_lines (log); + buffer = gtk_text_buffer_new (window->priv->tag_table); + + if (lines != NULL) { + int i; + GtkTextIter iter; + + /* update the text view to show the current lines */ + gtk_text_buffer_get_end_iter (buffer, &iter); + + for (i = 0; lines[i]; i++) { + gtk_text_buffer_insert (buffer, &iter, lines[i], strlen (lines[i])); + gtk_text_iter_forward_to_end (&iter); + gtk_text_buffer_insert (buffer, &iter, "\n", 1); + gtk_text_iter_forward_char (&iter); + } + + paint_timestamps (buffer, 1, logview_log_get_days_for_cached_lines (log)); + } + + if (lines == NULL || logview_log_has_new_lines (log)) { + /* read the new lines */ + logview_log_read_new_lines (log, (LogviewNewLinesCallback) read_new_lines_cb, window); + } else { + /* start now monitoring the log for changes */ + window->priv->monitor_id = g_signal_connect (log, "log-changed", + G_CALLBACK (log_monitor_changed_cb), window); + } + + /* we set the buffer to the view anyway; + * if there are no lines it will be empty for the duration of the thread + * and will help us to distinguish the two cases of the following if + * cause in the callback. + */ + gtk_text_view_set_buffer (GTK_TEXT_VIEW (window->priv->text_view), buffer); + g_object_unref (buffer); +} + +static void +font_changed_cb (LogviewPrefs *prefs, + const char *font_name, + gpointer user_data) +{ + LogviewWindow *window = user_data; + + logview_set_font (window, font_name); +} + +static void +tearoff_changed_cb (LogviewPrefs *prefs, + gboolean have_tearoffs, + gpointer user_data) +{ + LogviewWindow *window = user_data; + + gtk_ui_manager_set_add_tearoffs (window->priv->ui_manager, have_tearoffs); +} + +static void +style_set_cb (GtkWidget *widget, + GtkStyle *prev, + gpointer user_data) +{ + LogviewWindow *logview = user_data; + GtkStyle *style = gtk_widget_get_style (widget); + + populate_style_tag_table (style, logview->priv->tag_table); +} + +static const struct { + guint keyval; + GdkModifierType modifier; + const gchar *action; +} extra_keybindings [] = { + { GDK_KP_Add, GDK_CONTROL_MASK, "ViewZoomIn" }, + { GDK_KP_Subtract, GDK_CONTROL_MASK, "ViewZoomOut" }, + { GDK_KP_0, GDK_CONTROL_MASK, "ViewZoom100" } +}; + +static gboolean +key_press_event_cb (GtkWidget *widget, + GdkEventKey *event, + gpointer user_data) +{ + LogviewWindow *window = user_data; + guint modifier = event->state & gtk_accelerator_get_default_mod_mask (); + GtkAction *action; + int i; + + /* handle accelerators that we want bound, but aren't associated with + * an action */ + for (i = 0; i < G_N_ELEMENTS (extra_keybindings); i++) { + if (event->keyval == extra_keybindings[i].keyval && + modifier == extra_keybindings[i].modifier) { + + action = gtk_action_group_get_action (window->priv->action_group, + extra_keybindings[i].action); + gtk_action_activate (action); + return TRUE; + } + } + + return FALSE; +} + +/* adapted from GEdit */ + +static void +message_area_create_error_box (LogviewWindow *window, + GtkWidget *message_area) +{ + GtkWidget *hbox_content; + GtkWidget *image; + GtkWidget *vbox; + GtkWidget *primary_label; + GtkWidget *secondary_label; + + hbox_content = gtk_hbox_new (FALSE, 8); + gtk_widget_show (hbox_content); + + image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_ERROR, + GTK_ICON_SIZE_DIALOG); + gtk_widget_show (image); + gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0); + + vbox = gtk_vbox_new (FALSE, 6); + gtk_widget_show (vbox); + gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0); + + primary_label = gtk_label_new (NULL); + gtk_widget_show (primary_label); + gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0); + gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); + gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (primary_label), 0, 0.5); + gtk_widget_set_can_focus (primary_label, TRUE); + gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); + + window->priv->message_primary = primary_label; + + secondary_label = gtk_label_new (NULL); + gtk_widget_show (secondary_label); + gtk_box_pack_start (GTK_BOX (vbox), secondary_label, TRUE, TRUE, 0); + gtk_widget_set_can_focus (secondary_label, TRUE); + gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE); + gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); + gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); + + window->priv->message_secondary = secondary_label; + + gtk_container_add + (GTK_CONTAINER (gtk_info_bar_get_content_area + (GTK_INFO_BAR (message_area))), + hbox_content); +} + +static void +message_area_set_labels (LogviewWindow *window, + const char *primary, + const char *secondary) +{ + char *primary_markup, *secondary_markup; + + primary_markup = g_markup_printf_escaped ("%s", primary); + secondary_markup = g_markup_printf_escaped ("%s", + secondary); + + gtk_label_set_markup (GTK_LABEL (window->priv->message_primary), + primary_markup); + gtk_label_set_markup (GTK_LABEL (window->priv->message_secondary), + secondary_markup); + + g_free (primary_markup); + g_free (secondary_markup); +} + +static void +message_area_response_cb (GtkInfoBar *message_area, + int response_id, gpointer user_data) +{ + gtk_widget_hide (GTK_WIDGET (message_area)); + + g_signal_handlers_disconnect_by_func (message_area, + message_area_response_cb, + user_data); +} + +static void +logview_window_finalize (GObject *object) +{ + LogviewWindow *logview = LOGVIEW_WINDOW (object); + + g_object_unref (logview->priv->ui_manager); + G_OBJECT_CLASS (logview_window_parent_class)->finalize (object); +} + +static void +logview_window_init (LogviewWindow *logview) +{ + GtkActionGroup *action_group; + GtkAccelGroup *accel_group; + GError *error = NULL; + GtkWidget *hpaned, *main_view, *vbox, *w; + PangoContext *context; + PangoFontDescription *fontdesc; + gchar *monospace_font_name; + LogviewWindowPrivate *priv; + int width, height; + gboolean res; + + priv = logview->priv = GET_PRIVATE (logview); + priv->prefs = logview_prefs_get (); + priv->manager = logview_manager_get (); + priv->monitor_id = 0; + + logview_prefs_get_stored_window_size (priv->prefs, &width, &height); + gtk_window_set_default_size (GTK_WINDOW (logview), width, height); + + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (logview), vbox); + + /* create menus */ + action_group = gtk_action_group_new ("LogviewMenuActions"); + gtk_action_group_set_translation_domain (action_group, NULL); + gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), logview); + gtk_action_group_add_toggle_actions (action_group, toggle_entries, G_N_ELEMENTS (toggle_entries), logview); + priv->action_group = action_group; + + priv->ui_manager = gtk_ui_manager_new (); + + gtk_ui_manager_insert_action_group (priv->ui_manager, action_group, 0); + accel_group = gtk_ui_manager_get_accel_group (priv->ui_manager); + gtk_window_add_accel_group (GTK_WINDOW (logview), accel_group); + + res = gtk_ui_manager_add_ui_from_file (priv->ui_manager, + LOGVIEW_DATADIR "/logview-toolbar.xml", + &error); + + if (res == FALSE) { + priv->ui_manager = NULL; + g_critical ("Can't load the UI description: %s", error->message); + g_error_free (error); + return; + } + + gtk_ui_manager_set_add_tearoffs (priv->ui_manager, + logview_prefs_get_have_tearoff (priv->prefs)); + + w = gtk_ui_manager_get_widget (priv->ui_manager, "/LogviewMenu"); + gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0); + gtk_widget_show (w); + + /* panes */ + hpaned = gtk_hpaned_new (); + gtk_box_pack_start (GTK_BOX (vbox), hpaned, TRUE, TRUE, 0); + priv->hpaned = hpaned; + gtk_widget_show (hpaned); + + /* first pane : sidebar (list of logs) */ + priv->sidebar = gtk_vbox_new (FALSE, 0); + gtk_widget_show (priv->sidebar); + + /* first pane: log list */ + w = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (w), + GTK_SHADOW_ETCHED_IN); + + priv->loglist = logview_loglist_new (); + gtk_container_add (GTK_CONTAINER (w), priv->loglist); + gtk_box_pack_start (GTK_BOX (priv->sidebar), w, TRUE, TRUE, 0); + gtk_paned_pack1 (GTK_PANED (hpaned), priv->sidebar, FALSE, FALSE); + gtk_widget_show (w); + gtk_widget_show (priv->loglist); + + g_signal_connect (priv->loglist, "day_selected", + G_CALLBACK (loglist_day_selected_cb), logview); + g_signal_connect (priv->loglist, "day_cleared", + G_CALLBACK (loglist_day_cleared_cb), logview); + + /* second pane: log */ + main_view = gtk_vbox_new (FALSE, 0); + gtk_paned_pack2 (GTK_PANED (hpaned), main_view, TRUE, TRUE); + + /* second pane: error message area */ + priv->message_area = gtk_info_bar_new (); + message_area_create_error_box (logview, priv->message_area); + gtk_info_bar_add_button (GTK_INFO_BAR (priv->message_area), + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); + gtk_box_pack_start (GTK_BOX (main_view), priv->message_area, FALSE, FALSE, 0); + + /* second pane: text view */ + w = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (w), GTK_SHADOW_IN); + gtk_box_pack_start (GTK_BOX (main_view), w, TRUE, TRUE, 0); + gtk_widget_show (w); + + priv->tag_table = gtk_text_tag_table_new (); + populate_tag_table (priv->tag_table); + priv->text_view = gtk_text_view_new (); + g_object_set (priv->text_view, "editable", FALSE, NULL); + + gtk_container_add (GTK_CONTAINER (w), priv->text_view); + gtk_widget_show (priv->text_view); + + /* use the desktop monospace font */ + monospace_font_name = logview_prefs_get_monospace_font_name (priv->prefs); + logview_set_font (logview, monospace_font_name); + g_free (monospace_font_name); + + /* remember the original font size */ + context = gtk_widget_get_pango_context (priv->text_view); + fontdesc = pango_context_get_font_description (context); + priv->original_fontsize = pango_font_description_get_size (fontdesc) / PANGO_SCALE; + + /* restore saved zoom */ + priv->fontsize = logview_prefs_get_stored_fontsize (priv->prefs); + + if (priv->fontsize <= 0) { + /* restore the default */ + logview_normal_text (NULL, logview); + } else { + logview_set_fontsize (logview, FALSE); + } + + /* version selector */ + priv->version_bar = gtk_hbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (priv->version_bar), 3); + priv->version_selector = gtk_combo_box_new_text (); + g_signal_connect (priv->version_selector, "changed", + G_CALLBACK (logview_version_selector_changed), logview); + w = gtk_label_new (_("Version: ")); + + gtk_box_pack_end (GTK_BOX (priv->version_bar), priv->version_selector, FALSE, FALSE, 0); + gtk_box_pack_end (GTK_BOX (priv->version_bar), w, FALSE, FALSE, 0); + gtk_box_pack_end (GTK_BOX (main_view), priv->version_bar, FALSE, FALSE, 0); + + priv->find_bar = logview_findbar_new (); + gtk_box_pack_end (GTK_BOX (main_view), priv->find_bar, FALSE, FALSE, 0); + + g_signal_connect (priv->find_bar, "previous", + G_CALLBACK (findbar_previous_cb), logview); + g_signal_connect (priv->find_bar, "next", + G_CALLBACK (findbar_next_cb), logview); + g_signal_connect (priv->find_bar, "text_changed", + G_CALLBACK (findbar_text_changed_cb), logview); + g_signal_connect (priv->find_bar, "close", + G_CALLBACK (findbar_close_cb), logview); + + /* signal handlers + * - first is used to remember/restore the window size on quit. + */ + g_signal_connect (logview, "configure_event", + G_CALLBACK (window_size_changed_cb), logview); + g_signal_connect (priv->prefs, "system-font-changed", + G_CALLBACK (font_changed_cb), logview); + g_signal_connect (priv->prefs, "have-tearoff-changed", + G_CALLBACK (tearoff_changed_cb), logview); + g_signal_connect (priv->manager, "active-changed", + G_CALLBACK (active_log_changed_cb), logview); + g_signal_connect (logview, "style-set", + G_CALLBACK (style_set_cb), logview); + g_signal_connect (logview, "key-press-event", + G_CALLBACK (key_press_event_cb), logview); + + /* status area at bottom */ + priv->statusbar = gtk_statusbar_new (); + gtk_box_pack_start (GTK_BOX (vbox), priv->statusbar, FALSE, FALSE, 0); + gtk_widget_show (priv->statusbar); + + /* Filter menu */ + priv->filter_action_group = gtk_action_group_new ("ActionGroupFilter"); + gtk_ui_manager_insert_action_group (priv->ui_manager, priv->filter_action_group, + 1); + priv->active_filters = NULL; + update_filter_menu (logview); + + gtk_widget_show (vbox); + gtk_widget_show (main_view); +} + +static void +logview_window_class_init (LogviewWindowClass *klass) +{ + GObjectClass *object_class = (GObjectClass *) klass; + + object_class->finalize = logview_window_finalize; + + g_type_class_add_private (klass, sizeof (LogviewWindowPrivate)); +} + +/* public methods */ + +GtkWidget * +logview_window_new () +{ + LogviewWindow *logview; + + logview = g_object_new (LOGVIEW_TYPE_WINDOW, NULL); + + if (logview->priv->ui_manager == NULL) { + return NULL; + } + + return GTK_WIDGET (logview); +} + +void +logview_window_add_error (LogviewWindow *window, + const char *primary, + const char *secondary) +{ + LogviewWindowPrivate *priv; + + g_assert (LOGVIEW_IS_WINDOW (window)); + priv = window->priv; + + message_area_set_labels (window, + primary, secondary); + + gtk_widget_show (priv->message_area); + + g_signal_connect (priv->message_area, "response", + G_CALLBACK (message_area_response_cb), window); +} + +void +logview_window_add_errors (LogviewWindow *window, + GPtrArray *errors) +{ + char *primary, *secondary; + GString *str; + char **err; + int i; + + g_assert (LOGVIEW_IS_WINDOW (window)); + g_assert (errors->len > 1); + + primary = g_strdup (_("Could not open the following files:")); + str = g_string_new (NULL); + + for (i = 0; i < errors->len; i++) { + err = (char **) g_ptr_array_index (errors, i); + g_string_append (str, err[0]); + g_string_append (str, ": "); + g_string_append (str, err[1]); + g_string_append (str, "\n"); + } + + secondary = g_string_free (str, FALSE); + + message_area_set_labels (window, primary, secondary); + + gtk_widget_show (window->priv->message_area); + + g_signal_connect (window->priv->message_area, "response", + G_CALLBACK (message_area_response_cb), window); + + g_free (primary); + g_free (secondary); +} + + diff --git a/logview/logview-window.h b/logview/logview-window.h new file mode 100644 index 00000000..f47088bd --- /dev/null +++ b/logview/logview-window.h @@ -0,0 +1,56 @@ +/* logview-window.h - main window of logview + * + * Copyright (C) 1998 Cesar Miquel + * Copyright (C) 2008 Cosimo Cecchi + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __LOGVIEW_WINDOW_H__ +#define __LOGVIEW_WINDOW_H__ + +#include + +#define LOGVIEW_TYPE_WINDOW (logview_window_get_type ()) +#define LOGVIEW_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_WINDOW, LogviewWindow)) +#define LOGVIEW_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_WINDOW, LogviewWindowClass)) +#define LOGVIEW_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_WINDOW)) +#define LOGVIEW_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), LOGVIEW_TYPE_WINDOW)) +#define LOGVIEW_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_WINDOW, LogviewWindowClass)) + +typedef struct _LogviewWindow LogviewWindow; +typedef struct _LogviewWindowClass LogviewWindowClass; +typedef struct _LogviewWindowPrivate LogviewWindowPrivate; + +struct _LogviewWindow { + GtkWindow parent_instance; + LogviewWindowPrivate *priv; +}; + +struct _LogviewWindowClass { + GtkWindowClass parent_class; +}; + +GType logview_window_get_type (void); + +/* public methods */ +GtkWidget * logview_window_new (void); +void logview_window_add_error (LogviewWindow *window, + const char *primary, + const char *secondary); +void logview_window_add_errors (LogviewWindow *window, + GPtrArray *errors); + +#endif /* __LOGVIEW_WINDOW_H__ */ diff --git a/logview/tests/Makefile.am b/logview/tests/Makefile.am new file mode 100644 index 00000000..b12398a2 --- /dev/null +++ b/logview/tests/Makefile.am @@ -0,0 +1,8 @@ +INCLUDES = \ + $(MATE_UTILS_CFLAGS) \ + -I../ + +noinst_PROGRAMS = test-reader + +test_reader_SOURCES = test-reader.c ../logview-log.c ../logview-utils.c +test_reader_LDADD = $(MATE_UTILS_LIBS) $(Z_LIBS) -lm diff --git a/logview/tests/test-reader.c b/logview/tests/test-reader.c new file mode 100644 index 00000000..a04d6835 --- /dev/null +++ b/logview/tests/test-reader.c @@ -0,0 +1,58 @@ +#include "../logview-log.h" +#include "../logview-utils.h" + +#include +#include + +static GMainLoop *loop; + +static void +new_lines_cb (LogviewLog *log, + const char **lines, + GSList *new_days, + GError *error, + gpointer user_data) +{ + int i; + guint8 day; + Day *day_s; + GSList *days, *l; + + for (i = 0; lines[i]; i++) { + g_print ("line %d: %s\n", i, lines[i]); + } + g_print ("outside read, lines no %u\n", logview_log_get_cached_lines_number (log)); + + days = log_read_dates (lines, logview_log_get_timestamp (log)); + g_print ("\ndays %p\n", days); + + for (l = days; l; l = l->next) { + day_s = l->data; + g_print ("\nday %u month %u\n", g_date_get_day (day_s->date), g_date_get_month (day_s->date)); + } + + g_object_unref (log); + + g_main_loop_quit (loop); +} + +static void +callback (LogviewLog *log, + GError *error, + gpointer user_data) +{ + g_print ("callback! err %p, log %p\n", error, log); + + logview_log_read_new_lines (log, new_lines_cb, NULL); +} + +int main (int argc, char **argv) +{ + g_type_init (); + + loop = g_main_loop_new (NULL, FALSE); + logview_log_create ("/var/log/dpkg.log.2.gz", callback, NULL); + g_main_loop_run (loop); + + return 0; +} -- cgit v1.2.1