summaryrefslogtreecommitdiff
path: root/logview
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2011-12-14 10:13:54 +0100
committerStefano Karapetsas <[email protected]>2011-12-14 10:13:54 +0100
commitef0467789bfc8406b57ba553e4d59f4d6c3f9be8 (patch)
tree09d541636a16cb38448fe6183289ebdc3080c1bf /logview
downloadmate-utils-ef0467789bfc8406b57ba553e4d59f4d6c3f9be8.tar.bz2
mate-utils-ef0467789bfc8406b57ba553e4d59f4d6c3f9be8.tar.xz
Moved from Mate-Extra repository
Diffstat (limited to 'logview')
-rw-r--r--logview/ChangeLog134
-rw-r--r--logview/Makefile.am65
-rw-r--r--logview/TODO4
-rw-r--r--logview/data/Makefile.am36
-rw-r--r--logview/data/logview-filter.ui257
-rw-r--r--logview/data/logview-toolbar.xml33
-rw-r--r--logview/data/mate-system-log.137
-rw-r--r--logview/data/mate-system-log.desktop.in.in15
-rw-r--r--logview/data/mate-system-log.schemas.in80
-rw-r--r--logview/help/C/figures/syslog_window.pngbin0 -> 198891 bytes
-rw-r--r--logview/help/C/legal.xml76
-rw-r--r--logview/help/C/mate-system-log.xml365
-rw-r--r--logview/help/ChangeLog187
-rw-r--r--logview/help/Makefile.am10
-rw-r--r--logview/help/ca/ca.po616
-rw-r--r--logview/help/cs/cs.po590
-rw-r--r--logview/help/cs/figures/syslog_window.pngbin0 -> 163709 bytes
-rw-r--r--logview/help/de/de.po642
-rw-r--r--logview/help/de/figures/syslog_window.pngbin0 -> 172271 bytes
-rw-r--r--logview/help/el/el.po422
-rw-r--r--logview/help/en_GB/en_GB.po592
-rw-r--r--logview/help/es/es.po622
-rw-r--r--logview/help/es/figures/syslog_window.pngbin0 -> 77181 bytes
-rw-r--r--logview/help/eu/eu.po347
-rw-r--r--logview/help/eu/figures/syslog_window.pngbin0 -> 71264 bytes
-rw-r--r--logview/help/fi/fi.po590
-rw-r--r--logview/help/fi/figures/syslog_window.pngbin0 -> 117443 bytes
-rw-r--r--logview/help/fr/figures/syslog_window.pngbin0 -> 121126 bytes
-rw-r--r--logview/help/fr/fr.po637
-rw-r--r--logview/help/it/figures/syslog_window.pngbin0 -> 61927 bytes
-rw-r--r--logview/help/it/it.po612
-rw-r--r--logview/help/ko/figures/syslog_window.pngbin0 -> 74232 bytes
-rw-r--r--logview/help/ko/ko.po388
-rw-r--r--logview/help/mate-system-log.omf.in9
-rw-r--r--logview/help/oc/oc.po478
-rw-r--r--logview/help/ru/ru.po345
-rw-r--r--logview/help/sv/figures/syslog_window.pngbin0 -> 59929 bytes
-rw-r--r--logview/help/sv/sv.po356
-rw-r--r--logview/help/uk/figures/syslog_window.pngbin0 -> 69987 bytes
-rw-r--r--logview/help/uk/uk.po359
-rw-r--r--logview/help/zh_CN/zh_CN.po575
-rw-r--r--logview/logview-about.h67
-rw-r--r--logview/logview-app.c401
-rw-r--r--logview/logview-app.h73
-rw-r--r--logview/logview-filter-manager.c569
-rw-r--r--logview/logview-filter-manager.h54
-rw-r--r--logview/logview-filter.c196
-rw-r--r--logview/logview-filter.h59
-rw-r--r--logview/logview-findbar.c348
-rw-r--r--logview/logview-findbar.h72
-rw-r--r--logview/logview-log.c930
-rw-r--r--logview/logview-log.h109
-rw-r--r--logview/logview-loglist.c493
-rw-r--r--logview/logview-loglist.h68
-rw-r--r--logview/logview-main.c122
-rw-r--r--logview/logview-manager.c413
-rw-r--r--logview/logview-manager.h89
-rw-r--r--logview/logview-marshal.list1
-rw-r--r--logview/logview-prefs.c630
-rw-r--r--logview/logview-prefs.h89
-rw-r--r--logview/logview-utils.c277
-rw-r--r--logview/logview-utils.h40
-rw-r--r--logview/logview-window.c1512
-rw-r--r--logview/logview-window.h56
-rw-r--r--logview/tests/Makefile.am8
-rw-r--r--logview/tests/test-reader.c58
66 files changed, 16213 insertions, 0 deletions
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 <[email protected]>
+
+ * 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 <[email protected]>
+
+ * 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 <[email protected]>
+
+ * logview-main.c (create_option_context): translate the short
+ description message.
+ Patch by Gabor Kelemen (#577718).
+
+2009-03-22 Cosimo Cecchi <[email protected]>
+
+ * data/logview-filter.ui: add missing file (#576222).
+
+2009-03-19 Cosimo Cecchi <[email protected]>
+
+ * tests/Makefile.am: build with "-Wl,--as-needed" (#575965).
+
+2009-03-18 Cosimo Cecchi <[email protected]>
+
+ * logview-prefs.c: (save_filter_foreach_func):
+ * logview-window.c: fix some leaks.
+
+2009-03-18 Cosimo Cecchi <[email protected]>
+
+ * 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 <[email protected]>
+
+ * 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 <[email protected]>
+
+ * Makefile.am: add gthread CFLAGS and LIBS (#572985).
+
+2009-02-04 Vincent Untz <[email protected]>
+
+ * 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 <[email protected]>
+
+ * 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 <[email protected]>
+
+ * 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 <[email protected]>
+
+ * tests/Makefile.am: don't install the test reader program.
+
+2009-01-26 Cosimo Cecchi <[email protected]>
+
+ * logview-main.c:
+ (main): call g_thread_init () before any other GLib function.
+
+2009-01-09 Cosimo Cecchi <[email protected]>
+
+ * data/Makefile.am: Correctly install mateconf schemas.
+
+2009-01-08 Cosimo Cecchi <[email protected]>
+
+ * Makefile.am:
+ * data/Makefile.am:
+ * tests/test-reader.c:
+ Fix make distcheck.
+
+2008-12-28 Cosimo Cecchi <[email protected]>
+
+ * 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 <[email protected]>
+
+ * 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 <[email protected]>
+
+ * logview-window.c: handle keypad shortcuts (#441564).
+
+2008-12-23 Cosimo Cecchi <[email protected]>
+
+ * 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 <[email protected]>
+
+ * 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 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkDialog" id="dialog_filter">
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="type_hint">normal</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox2">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkTable" id="table1">
+ <property name="visible">True</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Name:</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Regular Expression:</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry_name">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry_regex">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table2">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="radio_color">
+ <property name="label" translatable="yes">Highlight</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="radio_visible">
+ <property name="label" translatable="yes">Hide</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox_color">
+ <property name="visible">True</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkCheckButton" id="check_foreground">
+ <property name="label" translatable="yes">Foreground:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkColorButton" id="color_foreground">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkCheckButton" id="check_background">
+ <property name="label" translatable="yes">Background:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkColorButton" id="color_background">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Effect:</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_padding">6</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area2">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="label">gtk-apply</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">button1</action-widget>
+ <action-widget response="-10">button2</action-widget>
+ </action-widgets>
+ </object>
+</interface>
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 @@
+<ui>
+ <menubar name="LogviewMenu">
+ <menu action="FileMenu">
+ <menuitem action="OpenLog"/>
+ <menuitem action="CloseLog"/>
+ <menuitem action="Quit"/>
+ </menu>
+ <menu action="EditMenu">
+ <menuitem action="Copy"/>
+ <menuitem action="SelectAll"/>
+ </menu>
+ <menu action="ViewMenu">
+ <menuitem action="ShowStatusBar"/>
+ <menuitem action="ShowSidebar"/>
+ <separator/>
+ <menuitem action="Search"/>
+ <separator/>
+ <menuitem action="ViewZoomIn"/>
+ <menuitem action="ViewZoomOut"/>
+ <menuitem action="ViewZoom100"/>
+ </menu>
+ <menu action="FilterMenu">
+ <placeholder name="PlaceholderFilters"/>
+ <separator />
+ <menuitem action="FilterMatchOnly" />
+ <menuitem action="FilterManage" />
+ </menu>
+ <menu action="HelpMenu">
+ <menuitem action="HelpContents"/>
+ <menuitem action="AboutAction"/>
+ </menu>
+ </menubar>
+</ui>
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 <[email protected]>.
+.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 @@
+<mateconfschemafile>
+
+ <schemalist>
+ <schema>
+ <key>/schemas/apps/mate-system-log/logfile</key>
+ <applyto>/apps/mate-system-log/logfile</applyto>
+ <owner>logview</owner>
+ <type>string</type>
+ <default>/var/log/messages</default>
+ <locale name="C">
+ <short>Log file to open up on startup</short>
+ <long>Specifies the log file displayed at startup.
+ The default is either /var/adm/messages or
+ /var/log/messages, depending on your
+ operating system.
+ </long>
+ </locale>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/mate-system-log/fontsize</key>
+ <applyto>/apps/mate-system-log/fontsize</applyto>
+ <owner>logview</owner>
+ <type>int</type>
+ <default>10</default>
+ <locale name="C">
+ <short>Size of the font used to display the log</short>
+ <long>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.
+ </long>
+ </locale>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/mate-system-log/height</key>
+ <applyto>/apps/mate-system-log/height</applyto>
+ <owner>logview</owner>
+ <type>int</type>
+ <default>400</default>
+ <locale name="C">
+ <short>Height of the main window in pixels</short>
+ <long>Specifies the height of the log viewer main window
+ in pixels.
+ </long>
+ </locale>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/mate-system-log/width</key>
+ <applyto>/apps/mate-system-log/width</applyto>
+ <owner>logview</owner>
+ <type>int</type>
+ <default>600</default>
+ <locale name="C">
+ <short>Width of the main window in pixels</short>
+ <long>Specifies the width of the log viewer main window
+ in pixels.
+ </long>
+ </locale>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/mate-system-log/logfiles</key>
+ <applyto>/apps/mate-system-log/logfiles</applyto>
+ <owner>logview</owner>
+ <type>list</type>
+ <list_type>string</list_type>
+ <locale name="C">
+ <short>Log files to open up on startup</short>
+ <long>Specifies a list of log files to open up at startup.
+ A default list is created by reading /etc/syslog.conf.
+ </long>
+ </locale>
+ </schema>
+
+ </schemalist>
+
+</mateconfschemafile>
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
--- /dev/null
+++ b/logview/help/C/figures/syslog_window.png
Binary files 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 @@
+ <legalnotice id="legalnotice">
+ <para>
+ 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 <ulink type="help"
+ url="ghelp:fdl">link</ulink> or in the file COPYING-DOCS
+ distributed with this manual.
+ </para>
+ <para> 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.
+ </para>
+
+ <para>
+ 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.
+ </para>
+
+ <para>
+ DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED
+ UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE
+ WITH THE FURTHER UNDERSTANDING THAT:
+
+ <orderedlist>
+ <listitem>
+ <para>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
+ </para>
+ </listitem>
+ <listitem>
+ <para>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.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ </legalnotice>
+
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 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY legal SYSTEM "legal.xml">
+ <!ENTITY appversion "2.12">
+ <!ENTITY manrevision "2.4">
+ <!ENTITY date "October 2005">
+ <!ENTITY app "System Log Viewer">
+]>
+<!--
+ (Do not remove this comment block.)
+ Maintained by the MATE Documentation Project
+ http://developer.mate.org/projects/gdp
+ Template version: 2.0 beta
+ Template last modified Apr 11, 2002
+
+-->
+<!-- =============Document Header ============================= -->
+<article id="index" lang="en">
+<!-- please do not change the id; for translations, change lang to -->
+<!-- appropriate code -->
+ <articleinfo>
+ <title>&app; Manual</title>
+
+ <abstract role="description">
+ <para>System Log Viewer is a graphical user interface to view and monitor
+ system log files.</para>
+ </abstract>
+
+ <copyright>
+ <year>2003</year>
+ <holder>Sun Microsystems</holder>
+ </copyright>
+ <copyright>
+ <year>2000</year>
+ <holder>Judith Samson</holder>
+ </copyright>
+<!-- translators: uncomment this:
+
+ <copyright>
+ <year>2002</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+
+ -->
+ <publisher>
+ <publishername> MATE Documentation Project </publishername>
+ </publisher>
+
+ &legal;
+
+ <authorgroup>
+ <author>
+ <firstname>Sun</firstname>
+ <surname>MATE Documentation Team</surname>
+ <affiliation>
+ <orgname>Sun Microsystems</orgname>
+ <address> <email>[email protected]</email> </address>
+ </affiliation>
+ </author>
+
+ <author>
+ <firstname>Judith</firstname>
+ <surname>Samson</surname>
+ <affiliation>
+ <orgname>MATE Documentation Project</orgname>
+ <address> <email>[email protected]</email> </address>
+ </affiliation>
+ </author>
+
+ <author>
+ <firstname>Paul</firstname>
+ <surname>Cutler</surname>
+ <affiliation>
+ <orgname>MATE Documentation Team</orgname>
+ <address> <email>[email protected]</email> </address>
+ </affiliation>
+ </author>
+
+ <author role="maintainer">
+ <firstname>Vincent</firstname>
+ <surname>Noel</surname>
+ <affiliation>
+ <address><email>[email protected]</email></address>
+ </affiliation>
+ </author>
+
+<!-- This is appropriate place for other contributors: translators,
+ maintainers, etc. Commented out by default.
+ <othercredit role="translator">
+ <firstname>Latin</firstname>
+ <surname>Translator 1</surname>
+ <affiliation>
+ <orgname>Latin Translation Team</orgname>
+ <address> <email>[email protected]</email> </address>
+ </affiliation>
+ <contrib>Latin translation</contrib>
+ </othercredit>
+-->
+ </authorgroup>
+
+ <revhistory>
+ <revision>
+ <revnumber>&app; Manual V2.5</revnumber>
+ <date>October 2009</date>
+ <revdescription>
+ <para role="author">Paul Cutler
+ <email>[email protected]</email>
+ </para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>&app; Manual V2.4</revnumber>
+ <date>October 2005</date>
+ <revdescription>
+ <para role="author">Vincent Noel
+ <email>[email protected]</email>
+ </para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>System Log Viewer Manual V2.3</revnumber>
+ <date>October 2002</date>
+ <revdescription>
+ <para role="author">Sun MATE Documentation Team
+ <email>[email protected]</email>
+ </para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>System Log Viewer Manual V2.2</revnumber>
+ <date>August 2002</date>
+ <revdescription>
+ <para role="author">Sun MATE Documentation Team
+ <email>[email protected]</email>
+ </para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>System Log Viewer Manual V2.1</revnumber>
+ <date>July 2002</date>
+ <revdescription>
+ <para role="author">Sun MATE Documentation Team
+ <email>[email protected]</email>
+ </para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>System Log Viewer Manual V2.0</revnumber>
+ <date>May 2002</date>
+ <revdescription>
+ <para role="author">Sun MATE Documentation Team
+ <email>[email protected]</email>
+ </para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>Logview Manual</revnumber>
+ <date>2000</date>
+ <revdescription>
+ <para role="author">Judith Samson
+ <email>[email protected]</email>
+ </para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ </revhistory>
+
+ <releaseinfo>This manual describes version &appversion; of &app;.
+ </releaseinfo>
+ <legalnotice>
+ <title>Feedback</title>
+ <para>To report a bug or make a suggestion regarding the &app; application or
+ this manual, follow the directions in the
+ <ulink url="ghelp:mate-feedback"
+ type="help">MATE Feedback Page</ulink>.
+ </para>
+<!-- Translators may also add here feedback address for translations -->
+ </legalnotice>
+ </articleinfo>
+
+ <indexterm>
+ <primary>System Log Viewer</primary>
+ </indexterm>
+
+<!-- ============= Document Body ============================= -->
+<!-- ============= Introduction ============================== -->
+
+ <sect1 id="syslog-introduction">
+ <title>Introduction</title>
+
+ <para>
+ <application>&app;</application> is a graphical, menu-driven
+ viewer that you can use to view and monitor your system
+ logs. <application>&app;</application> comes with a few functions that
+ can help you manage your logs, including a log monitor and log statistics
+ display.
+ </para>
+
+ <para>
+ <application>&app;</application> 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.
+ </para>
+
+ <warning><para><application>&app;</application> is useful only to those
+ who have access to the system log files, which generally requires root
+ access.</para></warning>
+
+ </sect1>
+
+ <sect1 id="syslog-getting-started">
+ <title>Getting Started</title>
+
+ <para>You can start <application>&app;</application> in the following ways:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><guimenu>Applications</guimenu> menu</term>
+ <listitem>
+ <para>Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log File Viewer</guimenuitem></menuchoice>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Command line</term>
+ <listitem>
+ <para>Type <command>mate-system-log</command>, then press <keycap>Return</keycap>.</para>
+ <para>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>When you start <application>&app;</application>, the following window is displayed.</para>
+
+ <!-- ==== Figure ==== -->
+ <figure id="syslog-fig">
+ <title>&app; Window</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/syslog_window.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>Shows &app; main window. Contains menubar, display area, scrollbars, and statusbar. </phrase>
+ </textobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+ <!-- ==== End of Figure ==== -->
+ <para>The first time you start <application>&app;</application>, the application
+ displays several log files by default (such as
+ <filename>/var/log/messages</filename>).
+ 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.
+ </para>
+
+ <para>By default, <application>&app;</application>
+ monitors every opened log, and any change appears automatically in the
+ main window. See <xref linkend="syslog-monitor"/> for more information.</para>
+
+ </sect1>
+
+<!-- ================ Usage ================================ -->
+
+ <sect1 id="syslog-usage">
+ <title>Usage</title>
+
+ <sect2 id="syslog-open">
+ <title>To View a Log</title>
+ <para>To view a log, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>.
+ In the <guilabel>Open Log</guilabel> dialog, select the
+ log that you want to open, then click
+ <guibutton>Open</guibutton>. Use the scrollbars to scroll through the
+ log.</para>
+
+ <para>You can open as many logs as you
+ want. <application>&app;</application> displays one log at a time in
+ the <guilabel>System Log Viewer</guilabel> 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 <application>&app;</application>, select it in the
+ log list.</para>
+
+ <para>Note that <application>&app;</application> also lets you open
+ zipped logs (whole filenames end in ".gz").</para>
+ </sect2>
+
+ <sect2 id="syslog-selection">
+ <title>To Copy Log Lines to the Clipboard</title>
+ <para>To copy one or more log lines to the clipboard, just select the lines in
+ the main area and choose the
+ <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>
+ menu option.
+ If you want to copy the entire log to the clipboard, select it entirely
+ using the <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select
+ All</guimenuitem></menuchoice> menu option, then choose
+ <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>.
+ </para>
+ </sect2>
+
+ <sect2 id="syslog-hide-sidebar">
+ <title>To Hide the Sidebar</title>
+ <para>To hide the left sidebar, which contains the log list and calendar,
+ just select the
+ <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</guimenuitem></menuchoice>
+ menu option.</para>
+ </sect2>
+
+ <sect2 id="syslog-monitor">
+ <title>To Monitor Logs</title>
+ <para>You can use <application>&app;</application> to monitor
+ logs. By default, all logs opened in <application>&app;</application>
+ are monitored for changes. If new lines are added to a log monitored
+ by <application>&app;</application>, 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.</para>
+
+ </sect2>
+
+ <sect2 id="syslog-stats">
+ <title>To View Log Information</title>
+ <para>Log information are generally displayed in the status bar,
+ including :</para>
+ <itemizedlist>
+ <listitem><para>Number of lines in the log.</para>
+ </listitem>
+ <listitem><para>Size of the log in bytes.</para>
+ </listitem>
+ <listitem><para>Date the log was last modified.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The status bar can be displayed or hidden using the
+ <menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></menuchoice>
+ option.</para>
+ </sect2>
+
+ <sect2 id="syslog-close">
+ <title>To Close a Log</title>
+ <para>To close a log, choose
+ <menuchoice><guimenu>File</guimenu><guimenuitem>Close</guimenuitem></menuchoice>.
+ </para>
+ </sect2>
+
+ <sect2 id="syslog-exit">
+ <title>To Exit &app;</title>
+ <para>To exit <application>&app;</application>, choose
+ <menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>.
+ </para>
+ </sect2>
+
+ </sect1>
+
+</article>
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 <[email protected]>
+
+ * it/it.po: Updated Italian translation by Andrea Zagli.
+
+2009-03-02 Philip Withnall <[email protected]>
+
+ * en_GB/en_GB.po: Updated British English translation.
+
+2009-02-24 Gil Forcada <[email protected]>
+
+ * ca.po: Updated Catalan translation by Joan Duran.
+
+2009-02-17 Inaki Larranaga Murgoitio <[email protected]>
+
+ * eu/figures/: Added image in Basque language. Images are:
+ syslog_window.png
+2009-02-16 Inaki Larranaga Murgoitio <[email protected]>
+
+ * eu/eu.po: Added Basque translation.
+ * Makefile.am: Added 'eu' to DOC_LINGUAS.
+
+2009-02-10 Daniel Nylander <[email protected]>
+
+ * sv/sv.po: Updated Swedish translation.
+
+2009-02-06 Ilkka Tuohela <[email protected]>
+
+ * fi.po: Updated Finnish translation by Jukka Heikkilä.
+
+2009-01-24 Mario Blättermann <[email protected]>
+
+ * de/de.po: Updated German translation
+
+2008-12-26 Jorge Gonzalez <[email protected]>
+
+ * es.po: Updated Spanish translation.
+
+2008-12-23 Cosimo Cecchi <[email protected]>
+
+ * C/mate-system-log.xml: add a more meaningful description.
+
+2008-12-23 Cosimo Cecchi <[email protected]>
+
+ * C/mate-system-log.xml: update to the new Desktop file wording.
+
+2008-11-25 Gil Forcada <[email protected]>
+
+ * ca/ca.po: Updated Catalan translation.
+
+2008-10-22 Cosimo Cecchi <[email protected]>
+
+ * Makefile.am:
+ Include the screenshot. Patch by Bob Mauchin (#500333).
+
+2008-10-18 Mario Blättermann <[email protected]>
+
+ * de/de.po: Added German translation
+ * Makefile.am: Added de to DOC_LINGUAS
+
+2008-09-30 Simos Xenitellis <[email protected]>
+
+ * el/el.po: Updated Greek translation by Antonis Antonoulas.
+
+2008-09-29 Simos Xenitellis <[email protected]>
+
+ * el/el.po: Added Greek translation by Rizitis.
+ * Makefile.am: Added el to DOC_LINGUAS
+
+2008-09-22 Timo Jyrinki <[email protected]>
+
+ * fi/fi.po: Updated Finnish translation (bug #553050)
+
+2008-06-25 Ilkka Tuohela <<[email protected]>>
+
+ * fi/fi.po: Added Finnish documentation by Jukka Heikkilä.
+ * fi/figures/*.png:
+ * Makefile.am: Added fi to DOC_LINGUAS
+
+2008-03-09 Jorge Gonzalez <[email protected]>
+
+ * es/es.po: Updated Spanish translation
+ * es/figures/*.png: Updated screenshot
+
+2008-03-08 Daniel Nylander <[email protected]>
+
+ * sv/sv.po: Updated Swedish translation.
+
+2008-03-03 Luca Ferretti <[email protected]>
+
+ * it/it.po: Updated Italian translation by Andrea Zagli.
+
+2008-01-11 Claude Paroz <[email protected]>
+
+ * fr/fr.po: Updated French translation.
+
+2008-01-11 Jorge Gonzalez <[email protected]>
+
+ * es/es.po: Updated Spanish translation
+
+2008-01-09 Kjartan Maraas <[email protected]>
+
+ * C/mate-system-log.xml: Fix some menu paths.
+ Patch from Bob Mauchin. Closes bug #500334.
+
+2007-06-02 Jordi Mas <[email protected]>
+
+ * ca/ca.po: Catalan translation by Gil Forcada
+ * Makefile.am: Added ca to DOC_LINGUAS.
+
+2007-04-14 Changwoo Ryu <[email protected]>
+
+ * 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 <[email protected]>
+
+ * en_GB/en_GB.po: Added (British) English translation.
+ * Makefile.am: Added en_GB to DOC_LINGUAS
+
+2007-03-10 Nickolay V. Shmyrev <[email protected]>
+
+ * Makefile.am: Added ru to DOC_LINGUAS
+ * ru/ru.po: Added Russian translation by
+ Sergey V. Mironov <[email protected]>
+
+2007-03-03 Luca Ferretti <[email protected]>
+
+ * if/figures/syslog_window.png:
+ Updated to match current appearance and settings.
+
+2007-03-03 Luca Ferretti <[email protected]>
+
+ * 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 <[email protected]>
+
+ * sv/figures/syslog_window.png: Updated screenshot.
+
+2006-11-09 Daniel Nylander <[email protected]>
+
+ * sv/sv.po: Updated Swedish translation.
+
+2006-08-17 Christophe Bliard <[email protected]>
+
+ * 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 <[email protected]>
+
+ * sv/sv.po: Updated Swedish translation.
+ * sv/*.xml: Removed obsolete files.
+
+2006-06-28 Daniel Nylander <[email protected]>
+
+ * sv/sv.po: Added Swedish translation.
+
+2006-06-17 Francisco Javier F. Serrador <[email protected]>
+
+ * es/es.po: Updated Spanish translation.
+
+2006-03-29 German Poo-Caaman~o <[email protected]>
+
+ * es/es.po: Fixed build error by translation with extra '\n' at
+ the end of msgtr.
+
+2006-03-17 Maxim Dziumanenko <[email protected]>
+
+ * 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 <[email protected]>
+
+ * *: 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 <[email protected]>\n"
+"Language-Team: catalan <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help"
+"\" url=\"ghelp:fdl\">enllaç</ulink> 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: "
+"<placeholder-1/>"
+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: "
+"<placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Equip de Sun de documentació del MATE <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+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 <ulink "
+"url=\"ghelp:mate-feedback\" type=\"help\">Pàgina de suggeriments del MATE</"
+"ulink>."
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a calendar, log monitor and log "
+"statistics display."
+msgstr ""
+"El <application>Visualitzador de registres del sistema</application> és una "
+"aplicació gràfica de visualització que podeu fer servir per visualitzar i "
+"monitoritzar els vostres registres del sistema. El "
+"<application>Visualitzador de registres del sistema</application> 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 ""
+"<application>System Log Viewer</application> 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 <application>Visualitzador de registres del sistema</application> é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 ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"El <application>Visualitzador de registres del sistema</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"Podeu iniciar el <application>Visualitzador de registres del sistema</"
+"application> de les maneres següents:"
+
+#: C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "En el menú <guimenu>Aplicacions</guimenu>"
+
+#: C/mate-system-log.xml:212(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Escolliu <menuchoice><guisubmenu>Eines del sistema</"
+"guisubmenu><guimenuitem>Visualitzador de registres</guimenuitem></"
+"menuchoice>."
+
+#: C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Línia d'ordres"
+
+#: C/mate-system-log.xml:218(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Teclegeu <command>mate-system-log</command> i després premeu "
+"<keycap>Retorn</keycap>."
+
+#: C/mate-system-log.xml:225(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"Quan inicieu el <application>Visualitzador de registres del sistema</"
+"application>, 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 <application>Visualitzador de registres del "
+"sistema</application>, es mostren diversos fitxers de registre per defecte "
+"(com el <filename>/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"Per defecte, el <application>Visualitzador de registres del sistema</"
+"application> monitoritza cada registre obert, i qualsevol canvi apareix "
+"automàticament en la finestra principal. Per a més informació vegeu <xref "
+"linkend=\"syslog-monitor\"/>."
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"Per visualitzar un registre, escolliu <menuchoice><guimenu>Fitxer</"
+"guimenu><guimenuitem>Obre</guimenuitem></menuchoice>. En el diàleg de "
+"<guilabel>Obre un registre</guilabel>, seleccioneu el registre que voleu "
+"obrir i després feu clic a <guibutton>D'acord</guibutton>. 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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"Podeu obrir tants registres com vulgueu. El <application>Visualitzador de "
+"registres del sistema</application> mostra un sol registre alhora en la "
+"finestra del <guilabel>Visualitzador de registres del sistema</guilabel>. "
+"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 <guilabel>Visualitzador de registres del sistema</"
+"guilabel>, seleccioneu-lo de la llista de registres."
+
+#: C/mate-system-log.xml:277(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"A més a més el <guilabel>Visualitzador de registres del sistema</guilabel> "
+"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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+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ú "
+"<menuchoice><guimenu>Edita</guimenu><guimenuitem>Copia</guimenuitem></"
+"menuchoice>. Si voleu copiar tot el registre sencer al porta-retalls, "
+"seleccioneu-lo tot amb l'opció de menú <menuchoice><guimenu>Edita</"
+"guimenu><guimenuitem>Selecciona-ho tot</guimenuitem></menuchoice>, després "
+"escolliu <menuchoice><guimenu>Edita</guimenu><guimenuitem>Copia</"
+"guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> 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ú "
+"<menuchoice><guimenu>Visualitza</guimenu><guimenuitem>Subfinestra lateral</"
+"guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <application>Visualitzador de registres del sistema</"
+"application> per monitoritzar els registres. Per defecte, es monitoritzen "
+"tots els canvis de tots els registres oberts amb el "
+"<application>Visualitzador de registres del sistema</application>. Si "
+"s'afegeix una línia nova a un registre monitoritzat pel "
+"<application>Visualitzador de registres del sistema</application>, "
+"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 <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> 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ó <menuchoice><guimenu>Visualitza</guimenu><guimenuitem>Fes un "
+"seguiment</guimenuitem></menuchoice>. 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 "
+"<application>System Log Viewer</application> 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 <application>Visualitzador de registres del sistema</"
+"application> 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 <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+msgstr ""
+"Per amagar el calendari, desactiveu l'opció del menú "
+"<menuchoice><guimenu>Visualitza</guimenu><guimenuitem>Calendari</"
+"guimenuitem></menuchoice>."
+
+#: 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"La barra d'estat es pot mostrar o amagar amb l'opció "
+"<menuchoice><guimenu>Visualitza</guimenu><guimenuitem>Barra d'estat</"
+"guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"Per a tancar un registre, escolliu <menuchoice><guimenu>Fitxer</"
+"guimenu><guimenuitem>Tanca</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"Per sortir del <application>Visualitzador de registres del sistema</"
+"application>, escolliu <menuchoice><guimenu>Fitxer</"
+"guimenu><guimenuitem>Surt</guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Gil Forcada <[email protected]> 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š <[email protected]>, 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š <[email protected]>\n"
+"Language-Team: Czech <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help\" url=\"ghelp:fdl\">odkazem</ulink> 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: "
+"<placeholder-1/>"
+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: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Paul Cutler <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Dokumentační tým MATE společnosti Sun <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+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 <ulink "
+"url=\"ghelp:mate-feedback\" type=\"help\">Stránce s ohlasy na MATE</ulink>."
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a log monitor and log statistics "
+"display."
+msgstr ""
+"<application>Prohlížeč systémových protokolů</application> 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ů. <application>Prohlížeč systémových "
+"protokolů</application> 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 ""
+"<application>System Log Viewer</application> 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 ""
+"<application>Prohlížeč systémových protokolů</application> 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 ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"<application>Prohlížeč systémových protokolů</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"<application>Prohlížeč systémových protokolů</application> můžete spustit "
+"následujícími způsoby:"
+
+#: C/mate-system-log.xml:228(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Nabídka <guimenu>Aplikace</guimenu>"
+
+#: C/mate-system-log.xml:230(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Zvolte <menuchoice><guisubmenu>Systémové nástroje</"
+"guisubmenu><guimenuitem>Prohlížeč souborů protokolů</guimenuitem></"
+"menuchoice>."
+
+#: C/mate-system-log.xml:234(term)
+msgid "Command line"
+msgstr "Příkazový řádek"
+
+#: C/mate-system-log.xml:236(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Napište <command>mate-system-log</command> a pak stiskněte <keycap>Enter</"
+"keycap>."
+
+#: C/mate-system-log.xml:243(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"Když spustíte <application>Prohlížeč systémových protokolů</application>, "
+"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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 <application>Prohlížeč systémových protokolů</application> "
+"poprvé, aplikace standardně zobrazí několik souborů protokolů (jako např. "
+"<filename>/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"Standardně sleduje <application>Prohlížeč systémových protokolů</"
+"application> 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 <xref "
+"linkend=\"syslog-monitor\"/>."
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"Pro shlédnutí protokolu zvolte <menuchoice><guimenu>Soubor</"
+"guimenu><guimenuitem>Otevřít</guimenuitem></menuchoice>. V okně "
+"<guilabel>Otevřít protokol</guilabel> vyberte protokol, který chcete otevřít "
+"a klikněte na <guibutton>Otevřít</guibutton>. 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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"Můžete otevřít tolik protokolů, kolik chcete. <application>Prohlížeč "
+"systémových protokolů</application> 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 <application>Prohlížeči systémových "
+"protokolů</application> je nutné jeho zvolení v seznamu protokolů."
+
+#: C/mate-system-log.xml:295(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"Všimněte si, že <application>Prohlížeč systémových protokolů</application> "
+"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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+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 <menuchoice><guimenu>Upravit</"
+"guimenu><guimenuitem>Kopírovat</guimenuitem></menuchoice>. Pokud chcete "
+"kopírovat do schránky celý protokol, učiníte tak pomocí volby nabídky "
+"<menuchoice><guimenu>Upravit</guimenu><guimenuitem>Vybrat vše</guimenuitem></"
+"menuchoice> a pak zvolíte <menuchoice><guimenu>Upravit</"
+"guimenu><guimenuitem>Kopírovat</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> menu option."
+msgstr ""
+"Pro skrytí levého postranního panelu, který obsahuje seznam protokolů a "
+"kalendář, stačí zvolit volbu nabídky <menuchoice><guimenu>Zobrazit</"
+"guimenu><guimenuitem>Postranní panel</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 ""
+"<application>Prohlížeč systémových protokolů</application> můžete použít ke "
+"sledování protokolů. Standardně jsou sledovány změny u všech protokolů "
+"otevřených v <application>Prohlížeči systémových protokolů</application>. "
+"Pokud jsou do protokolu sledovaného <application>Prohlížečem systémových "
+"protokolů</application> 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"Stavový řádek lze zobrazit nebo skrýt pomocí volby "
+"<menuchoice><guimenu>Zobrazit</guimenu><guimenuitem>Stavový řádek</"
+"guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"Pro zavření protokolu zvolte <menuchoice><guimenu>Soubor</"
+"guimenu><guimenuitem>Zavřít</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"<application>Prohlížeč systémových protokolů</application> ukončíte zvolením "
+"položky <menuchoice><guimenu>Soubor</guimenu><guimenuitem>Ukončit</"
+"guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Adrian Guniš <[email protected]>, 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
--- /dev/null
+++ b/logview/help/cs/figures/syslog_window.png
Binary files 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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: German <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 "
+"<ulink type=\"help\" url=\"ghelp:fdl\">Link</ulink> 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: "
+"<placeholder-1/>"
+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: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Paul Cutler <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Sun MATE-Dokumentationsteam <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Um Fehler zu melden oder einen Vorschlag zur Anwendung "
+"<application>Systemprotokollbetrachter</application> oder zu diesem Handbuch "
+"zu machen, folgen Sie den Anweisungen auf der <ulink url=\"ghelp:mate-"
+"feedback\" type=\"help\">MATE-Seite für Rückmeldungen</ulink>."
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a log monitor and log statistics "
+"display."
+msgstr ""
+"Der <application>Systemprotokollbetrachter</application> ist ein grafischer, "
+"menügesteuerter Betrachter, den Sie zum Betrachten und Überwachen Ihrer "
+"Systemprotokolldateien benutzen können. Der "
+"<application>Systemprotokollbetrachter</application> 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 ""
+"<application>System Log Viewer</application> 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 "
+"<application>Systemprotokollbetrachter</application> eine einfachere und "
+"benutzerfreundlichere Anzeige Ihrer Systemprotokolle zur Verfügung, im "
+"Gegensatz zur reinen Textansicht einer Protokolldatei. Auch für "
+"fortgeschrittenere Systemverwalter ist der "
+"<application>Systemprotokollbetrachter</application> nützlich, da über eine "
+"Möglichkeit der permanenten Überwachung wichtiger Protokolle verfügt."
+
+#: C/mate-system-log.xml:215(para)
+msgid ""
+"<application>System Log Viewer</application> is useful only to those who have "
+"access to the system log files, which generally requires root access."
+msgstr ""
+"Der <application>Systemprotokollbetrachter</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"Sie können den <application>Systemprotokollbetrachter</application> auf die "
+"folgenden Arten starten:"
+
+#: C/mate-system-log.xml:228(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Menü <guimenu>Anwendungen</guimenu>"
+
+#: C/mate-system-log.xml:230(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log File "
+"Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Wählen Sie <menuchoice><guisubmenu>Systemwerkzeuge</"
+"guisubmenu><guimenuitem>Systemprotokoll</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:234(term)
+msgid "Command line"
+msgstr "Befehlszeile"
+
+#: C/mate-system-log.xml:236(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Geben Sie <command>mate-system-log</command> ein, und drücken Sie dann die "
+"<keycap>Eingabetaste</keycap>."
+
+#: C/mate-system-log.xml:243(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"Wenn Sie den <application>Systemprotokollbetrachter</application> 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/log/"
+"messages</filename>). 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 <application>Systemprotokollbetrachter</application> zum ersten "
+"Mal starten, zeigt die Anwendung standardmäßig verschiedene Protokolldateien "
+"an (z.B. <filename>/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"Standardmäßig überwacht der <application>Systemprotokollbetrachter</"
+"application> jedes der geöffneten Protokolle auf Änderungen. Jede Änderung "
+"erscheint automatisch im Hauptfenster. Weitere Informationen hierzu finden "
+"Sie in <xref linkend=\"syslog-monitor\"/>."
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</guibutton>. "
+"Use the scrollbars to scroll through the log."
+msgstr ""
+"Um ein Protokoll zu betrachten, wählen Sie <menuchoice><guimenu>Datei</"
+"guimenu><guimenuitem>Öffnen</guimenuitem></menuchoice>. Im Dialog "
+"<guilabel>Protokoll öffnen</guilabel> wählen Sie das zu öffnende Protokoll "
+"aus und klicken dann auf <guibutton>Öffnen</guibutton>. 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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"Sie können so viele Protokolle öffnen, wie Sie wollen. Der "
+"<application>Systemprotokollbetrachter</application> zeigt eines der "
+"Protokolle im <guilabel>Systemprotokollbetrachter</guilabel>-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 "
+"<application>Systemprotokollbetrachter</application> geöffnetes Protokoll "
+"anzuzeigen, wählen Sie es in der Protokollliste aus."
+
+#: C/mate-system-log.xml:295(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"Beachten Sie, dass es Ihnen der <application>Systemprotokollbetrachter</"
+"application> 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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you want "
+"to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+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 <menuchoice><guimenu>Bearbeiten</guimenu><guimenuitem>Kopieren</"
+"guimenuitem></menuchoice> im Menü. Falls Sie das gesamte Protokoll in die "
+"Zwischenablage kopieren wollen, wählen Sie es im Menü mit "
+"<menuchoice><guimenu>Bearbeiten</guimenu><guimenuitem>Alles auswählen</"
+"guimenuitem></menuchoice> aus. Wählen Sie anschließend "
+"<menuchoice><guimenu>Bearbeiten</guimenu><guimenuitem>Kopieren</guimenuitem></"
+"menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> menu option."
+msgstr ""
+"Um die Seitenleiste anzuzeigen oder zu verbergen, welche die Protokollliste "
+"und den Kalender enthält, wählen Sie die Menüoption "
+"<menuchoice><guimenu>Ansicht</guimenu><guimenuitem>Seitenleiste</"
+"guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <application>Systemprotokollbetrachter</application> zur "
+"Überwachung von Protokollen verwenden. Standardmäßig überwacht der "
+"<application>Systemprotokollbetrachter</application> jedes der geöffneten "
+"Protokolle auf Änderungen. Wenn neue Zeilen zu einem vom "
+"<application>Systemprotokollbetrachter</application> ü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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"Die Statusleiste kann mit der Menüoption <menuchoice><guimenu>Ansicht</"
+"guimenu><guimenuitem>Statusleiste</guimenuitem></menuchoice> 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Close</"
+"guimenuitem></menuchoice>."
+msgstr ""
+"Um ein Protokoll zu schließen, wählen Sie <menuchoice><guimenu>Datei</"
+"guimenu><guimenuitem>Schließen</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"Um den <application>Systemprotokollbetrachter</application> zu schließen, "
+"wählen Sie <menuchoice><guimenu>Datei</guimenu><guimenuitem>Beenden</"
+"guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Mario Blättermann <[email protected]>, 2008, 2009, 2010"
+
+#~ msgid ""
+#~ "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check this "
+#~ "option again to turn monitoring back on."
+#~ msgstr ""
+#~ "Um die Überwachung eines bestimmten Protokolls zu stoppen, deaktivieren "
+#~ "Sie die Option <menuchoice><guimenu>Ansicht</"
+#~ "guimenu><guimenuitem>Überwachen</guimenuitem></menuchoice>. 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 "
+#~ "<application>System Log Viewer</application> 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 "
+#~ "<application>Systemprotokollbetrachter</application>-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 <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+#~ msgstr ""
+#~ "Um den Kalender zu verbergen, deaktivieren Sie die Menüoption "
+#~ "<menuchoice><guimenu>Ansicht</guimenu><guimenuitem>Kalender</guimenuitem></"
+#~ "menuchoice>"
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
--- /dev/null
+++ b/logview/help/de/figures/syslog_window.png
Binary files 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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: Greek <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), Έκδοση 1.1 ή μεταγενέστερη εκδιδόμενη από το Ίδρυμα Ελεύθερου Λογισμικού χωρίς Σταθερά Εδάφια, χωρίς Εξώφυλλα Κειμένου, και χωρίς Οπισθόφυλλα Κειμένου. Μπορείτε να βρείτε ένα αντίγραφο της GFDL σε αυτόν τον <ulink type=\"help\" url=\"ghelp:fdl\">σύνδεσμο</ulink> ή στο αρχείο 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: <placeholder-1/>"
+msgstr "ΤΟ ΈΓΓΡΑΦΟ ΚΑΙ ΟΙ ΤΡΟΠΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΑΥΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΑΔΕΙΑΣ GNU FREE DOCUMENTATION ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΔΙΕΥΚΡΙΝΙΣΗ ΟΤΙ: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Paul Cutler <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Sun MATE Documentation Team <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Για να αναφέρετε ένα bug ή για να κάνετε μια πρόταση υπόδειξη σχετικά με την εφαρμογή Παρακολούθησης καταγραφών συστήματος ή αυτόν τον οδηγό, ακολουθήστε την κατεύθυνση <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+
+#: 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 ""
+#| "<application>System Log Viewer</application> is a graphical, menu-driven "
+#| "viewer that you can use to view and monitor your system logs. "
+#| "<application>System Log Viewer</application> comes with a few functions "
+#| "that can help you manage your logs, including a calendar, log monitor and "
+#| "log statistics display."
+msgid "<application>System Log Viewer</application> is a graphical, menu-driven viewer that you can use to view and monitor your system logs. <application>System Log Viewer</application> comes with a few functions that can help you manage your logs, including a log monitor and log statistics display."
+msgstr "Η <application>Παρακολούθηση καταγραφών συστήματος</application> είναι μια εφαρμογή σε γραφικό περιβάλλον, όπου με χρήση μενού μπορείτε δείτε και να ελέγξετε τις καταγραφές του συστήματος σας. Η <application>Παρακολούθηση καταγραφών συστήματος</application> εμπεριέχει λειτουργίες που θα σας βοηθήσουν να διαχειριστείτε τις καταγραφές σας, συμπεριλαμβάνοντας έναν διαχειριστή καταγραφών και εμφάνιση στατιστικών για τις καταγραφές σας."
+
+#: C/mate-system-log.xml:206(para)
+#| msgid ""
+#| "<application>System Log Viewer</application> 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 "<application>System Log Viewer</application> 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 "Η <application>Παρακολούθηση καταγραφών συστήματος</application> είναι χρήσιμη εάν είστε νέοι στη διαχείριση συστημάτων επειδή παρέχει μια ευκολότερη, φιλικότερη προς το χρήστη εμφάνιση των καταγραφών σας από ότι η απλή προβολή κειμένου του αρχείου του ημερολογίου. Είναι επίσης χρήσιμο για τους πιο πεπειραμένους διαχειριστές, καθώς περιέχει και εργαλείο διαχείρισης για να ελέγχεται συνεχώς τις κρίσιμες καταγραφές."
+
+#: C/mate-system-log.xml:215(para)
+msgid "<application>System Log Viewer</application> is useful only to those who have access to the system log files, which generally requires root access."
+msgstr "Η <application> Παρακολούθηση καταγραφών συστήματος </application> είναι χρήσιμη μόνο στους χρήστες που έχουν δικαιώματα root στα αρχεία καταγραφής συστήματος."
+
+#: C/mate-system-log.xml:222(title)
+msgid "Getting Started"
+msgstr "Ξεκινώντας"
+
+#: C/mate-system-log.xml:224(para)
+msgid "You can start <application>System Log Viewer</application> in the following ways:"
+msgstr "Μπορείτε να εκκινήσετε την <application> Παρακολούθηση καταγραφών συστήματος</application> με τους ακόλουθους τρόπους:"
+
+#: C/mate-system-log.xml:228(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Μενού <guimenu>Εφαρμογές</guimenu>"
+
+#: C/mate-system-log.xml:230(para)
+msgid "Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log File Viewer</guimenuitem></menuchoice>."
+msgstr "Επιλέξτε <menuchoice><guisubmenu>Εργαλεία συστήματος</guisubmenu><guimenuitem>Παρακολούθηση αρχείων καταγραφών</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:234(term)
+msgid "Command line"
+msgstr "Γραμμή εντολών"
+
+#: C/mate-system-log.xml:236(para)
+msgid "Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr "Πληκτρολογήστε <command>mate-system-log</command> και έπειτα πιέστε<keycap>Return</keycap>."
+
+#: C/mate-system-log.xml:243(para)
+msgid "When you start <application>System Log Viewer</application>, the following window is displayed."
+msgstr "Όταν ξεκινήσει η <application>παρακολούθηση καταγραφών συστήματος</application> τα ακόλουθα παράθυρα εμφανίζονται."
+
+#: 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 <application>System Log Viewer</application>, the application displays several log files by default (such as <filename>/var/log/messages</filename>). 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 "Την πρώτη φορά ξεκινάτε την <application> Παρακολούθηση καταγραφών συστήματος</application>, η εφαρμογή εμφανίζει διάφορα αρχεία καταγραφής από προεπιλογή (όπως <filename>/var/log/messages</filename>). Οι καταγραφές βρίσκονται στο αριστερά μέρος στο παράθυρο της εφαρμογής. όποια επιλέξετε θα εμφανιστεί κέντρο του παράθυρου της εφαρμογής."
+
+#: C/mate-system-log.xml:268(para)
+msgid "By default, <application>System Log Viewer</application> monitors every opened log, and any change appears automatically in the main window. See <xref linkend=\"syslog-monitor\"/> for more information."
+msgstr "Από προεπιλογή ο, <application>Οδηγός καταγραφής συστήματος</application> επιτηρεί κάθε καταγραφή όταν αυτή ανοίγει, και κάθε αλλαγή εμφανίζεται αυτόματα στο κεντρικό παράθυρο. Κοιτάξτε <xref linkend=\"syslog-monitor\"/> για περισσότερες πληροφορίες. "
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, select the log that you want to open, then click <guibutton>Open</guibutton>. Use the scrollbars to scroll through the log."
+msgstr "Για να προβάλετε μια καταγραφή, επιλέξετε το παράθυρο διαλόγου <menuchoice><guimenu>Αρχείο</guimenu> <guimenuitem>Άνοιγμα </guimenuitem></menuchoice>Μέσα<guilabel>Άνοιγμα</guilabel> ,επιλέξτε την καταγραφή που θέλετε να ανοίξετε , και έπειτα κάντε κλικ στο <guibutton> Άνοιγμα</guibutton>. Χρησιμοποιήστε το ρολάρισμα για να περιηγηθείτε στην καταγραφή."
+
+#: C/mate-system-log.xml:287(para)
+msgid "You can open as many logs as you want. <application>System Log Viewer</application> displays one log at a time in the <guilabel>System Log Viewer</guilabel> 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 <application>System Log Viewer</application>, select it in the log list."
+msgstr "Μπορείτε να ανοίξετε όσες καταγραφές θέλετε. Η <application> Παρακολούθηση καταγραφών συστήματος </application> εμφανίζει μία καταγραφή την κάθε φορά στο παράθυρο <guilabel> Παρακολούθησης καταγραφών συστήματος</guilabel> Οι ανοιχτές καταγραφές βρίσκονται στα αριστερά στο παράθυρο της εφαρμογής. Η επιλεγμένη καταγραφή από αυτές εμφανίζετε στο κέντρο του παράθυρου της εφαρμογής. Για να εμφανίσετε μία από τις ήδη ανοιχτές καταγραφές στην <application>Παρακολούθηση καταγραφής συστήματος</application> επιλέξτε την από την λίστα αριστερά."
+
+#: C/mate-system-log.xml:295(para)
+msgid "Note that <application>System Log Viewer</application> also lets you open zipped logs (whole filenames end in \".gz\")."
+msgstr "Σημειώστε ότι η <application>Παρακολούθηση καταγραφών συστήματος </application> σας επιτρέπει να ανοίξετε συμπιεσμένα αρχεία καταγραφών (τα οποία έχουν κατάληξη σε \".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 <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you want to copy the entire log to the clipboard, select it entirely using the <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></menuchoice> menu option, then choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr "Για να αντιγράψετε μία ή περισσότερες γραμμές καταγραφών στο πρόχειρο, απλά επιλέξτε τις γραμμές κεντρικό παράθυρο και επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guimenuitem>Αντιγραφή</guimenuitem></menuchoice> στο μενού επιλογές. Αν θέλετε να αντιγράψετε όλη την καταχώριση της καταγραφής στο πρόχειρο , επιλέξτε την καταχώριση χρησιμοποιώντας τις επιλογές μενού <menuchoice><guimenu>Επεξεργασία</guimenu><guimenuitem>Επιλογή Όλα</guimenuitem></menuchoice> και έπειτα επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guimenuitem>Αντιγραφή</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</guimenuitem></menuchoice> menu option."
+msgstr "Για να κρύψετε την μπάρα της αριστερής πλευράς, η οποία περιέχει την λίστα καταγραφών και το ημερολόγιο, επιλέξτε <menuchoice><guimenu> Προβολή</guimenu><guimenuitem> Ταμπλό</guimenuitem></menuchoice> στο μενού επιλογές ."
+
+#: C/mate-system-log.xml:321(title)
+msgid "To Monitor Logs"
+msgstr "Επιτήρηση καταγραφών συστήματος."
+
+#: C/mate-system-log.xml:322(para)
+msgid "You can use <application>System Log Viewer</application> to monitor logs. By default, all logs opened in <application>System Log Viewer</application> are monitored for changes. If new lines are added to a log monitored by <application>System Log Viewer</application>, 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 "Μπορείτε να χρησιμοποιήσετε τον <application> Οδηγό καταγραφής συστήματος </application> για να επιτηρήσετε μια καταγραφή.Από προεπιλογή όλες καταγραφές που ανοίγουν στον <application> Οδηγό καταγραφής συστήματος </application> επιτηρούνται για αλλαγές. Αν νέες γραμμές προστεθούν σε μια επιτηρούμενη καταγραφή από τον <application> Οδηγό καταγραφής συστήματος </application>, το όνομα της καταγραφής εμφανίζεται αυτόματα με έντονα γράμματα στην κύρια περιοχή, οι καινούριες γραμμές θα εμφανιστούν στο τέλος της καταγραφής, και μετά από πέντε δευτερόλεπτα το όνομα της καταγραφής θα επιστρέψει σε φυσιολογική εμφάνιση στην λίστα."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></menuchoice> option."
+msgstr "Η Γραμμή κατάστασης μπορεί να είναι εμφανής ή και κρυφή, χρησιμοποιήστε τις επιλογές <menuchoice><guimenu> Προβολή</guimenu><guimenuitem> Γραμμή κατάστασης</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr "Για να κλείσετε μία καταγραφή επιλέξτε, <menuchoice><guimenu>Αρχείο</guimenu><guimenuitem>Κλείσιμο</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:357(title)
+msgid "To Exit System Log Viewer"
+msgstr "Για έξοδο από τον Οδηγό παρακολούθησης καταγραφών συστήματος"
+
+#: C/mate-system-log.xml:358(para)
+msgid "To exit <application>System Log Viewer</application>, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>."
+msgstr "Για έξοδο από τον <application> Οδηγό παρακολούθησης καταγραφών συστήματος </application>επιλέξτε,<menuchoice><guimenu>Αρχείο</guimenu><guimenuitem>Έξοδος</guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Ελληνική μεταφραστική ομάδα MATE\n"
+" rizitis <[email protected]>\n"
+"\n"
+"Για περισσότερα δείτε http://www.mate.gr/"
+
+#~ msgid ""
+#~ "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check "
+#~ "this option again to turn monitoring back on."
+#~ msgstr ""
+#~ "Για να σταματήσετε την επιτήρηση μιας συγκεκριμένης καταγραφής, από-"
+#~ "επιλέξτε την επιλογή στο μενού <menuchoice><guimenu> Προβολή</"
+#~ "guimenu><guimenuitem> Οθόνη</guimenuitem></menuchoice> . Επιλέξτε την "
+#~ "πάλι για να επιστέψει ο έλεγχος ξανά."
+
+#~ msgid "To Use the Calendar"
+#~ msgstr "Χρήση Ημερολογίου"
+
+#~ msgid ""
+#~ "By default, a calendar is displayed in the left side of the "
+#~ "<application>System Log Viewer</application> 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 ""
+#~ "Από προεπιλογή το ημερολόγιο εμφανίζετε αριστερά από τον παράθυρο του "
+#~ "<application> Οδηγού καταγραφής συστήματος</application> κάτω από την "
+#~ "λίστα των καταγραφών. Μέσα στο ημερολόγιο, οι ημέρες που παρουσιάζουν την "
+#~ "τρέχουσα καταγραφή εμφανίζονται με έντονα γράμματα. Για να πάτε σε μια "
+#~ "άλλη ημέρα , επιλέξτε την στο ημερολόγιο ."
+
+#~ msgid ""
+#~ "To hide the calendar, uncheck the <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+#~ msgstr ""
+#~ "Για να κρύψετε το ημερολόγιο θα πάτε στο μενού <menuchoice><guimenu> "
+#~ "Προβολή</guimenu><guimenuitem> Ημερολόγιο</guimenuitem></menuchoice> και "
+#~ "θα από-μαρκάρετε την επιλογή."
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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: British English <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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: "
+"<placeholder-1/>"
+msgstr ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENCE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+
+#: ../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)
+
+#: ../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)
+
+#: ../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)
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Sun MATE Documentation Team <email>[email protected]</email>"
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: ../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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"To report a bug or make a suggestion regarding the System Log Viewer "
+"application or this manual, follow the directions in the <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+
+#: ../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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a calendar, log monitor and log "
+"statistics display."
+msgstr ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> 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 ""
+"<application>System Log Viewer</application> 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 ""
+"<application>System Log Viewer</application> 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 ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"<application>System Log Viewer</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"You can start <application>System Log Viewer</application> in the following "
+"ways:"
+
+#: ../C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "<guimenu>Applications</guimenu> menu"
+
+#: ../C/mate-system-log.xml:212(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+
+#: ../C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Command line"
+
+#: ../C/mate-system-log.xml:218(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+
+#: ../C/mate-system-log.xml:225(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"When you start <application>System Log Viewer</application>, 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"By default, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"To view a log, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialogue, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. 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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"You can open as many logs as you want. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+
+#: ../C/mate-system-log.xml:277(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"Note that <application>System Log Viewer</application> 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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr ""
+"To copy one or more log lines to the clipboard, just select the lines in the "
+"main area and choose the <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+
+#: ../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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> menu option."
+msgstr ""
+"To hide the left sidebar, which contains the log list and calendar, just "
+"select the <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check this "
+"option again to turn monitoring back on."
+msgstr ""
+"To stop monitoring a specific log, uncheck the <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> 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 "
+"<application>System Log Viewer</application> 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 "
+"<application>System Log Viewer</application> 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 <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+msgstr ""
+"To hide the calendar, uncheck the <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"The status bar can be displayed or hidden using the "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> 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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"To close a log, choose <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+
+#: ../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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"To exit <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: ../C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "David Lodge <[email protected]>, 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 <[email protected]>, 2005.
+# Francisco Javier F. Serrador <[email protected]>, 2005, 2006.
+# Jorge González <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: Español <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 "
+"<ulink type=\"help\" url=\"ghelp:fdl\">enlace</ulink> 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: "
+"<placeholder-1/>"
+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: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Paul Cutler <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr ""
+"Equipo de documentación de MATE de Sun <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+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 <ulink "
+"url=\"ghelp:mate-feedback\" type=\"help\">Página de contacto de MATE</"
+"ulink>."
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a log monitor and log statistics "
+"display."
+msgstr ""
+"<application>Visor de registros del sistema</application> es un visor "
+"gráfico, con menús que puede usar para ver y monitorizar los archivos de "
+"registro del sistema. El <application>Visor de registros del sistema</"
+"application> 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 ""
+"<application>System Log Viewer</application> 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 <application>Visor de registros del sistema</application> 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 ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"<application>Visor de registros del sistema</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"Puede iniciar el<application>Visor de registros del sistema</application> de "
+"las siguientes formas:"
+
+#: C/mate-system-log.xml:228(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Menú <guimenu>Aplicaciones</guimenu>"
+
+#: C/mate-system-log.xml:230(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Elija <menuchoice><guisubmenu>Herramientas del sistema</"
+"guisubmenu><guimenuitem>Visor de archivos de sucesos</guimenuitem></"
+"menuchoice>."
+
+#: C/mate-system-log.xml:234(term)
+msgid "Command line"
+msgstr "Línea de comandos"
+
+#: C/mate-system-log.xml:236(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Teclee <command>mate-system-log</command>, y pulse <keycap>Intro</keycap>."
+
+#: C/mate-system-log.xml:243(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"Cuando inicie el <application>Visor de registros del sistema</application>, "
+"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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 <application>Visor de registros del sistema</"
+"application>, la aplicación muestra varios archivos de registro por omisión "
+"(como <filename>/car/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"Por omisión, el <application>Visor de registros del sistema</application> "
+"monitoriza cada registro abierto, y cualquier cambio aparece automáticamente "
+"en la ventana principal. Vea la <xref linkend=\"syslog-monitor\"/> 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"Para ver un registro elija <menuchoice><guimenu>Archivo</"
+"guimenu><guimenuitem>Abrir</guimenuitem></menuchoice>. En el diálogo "
+"<guilabel>Abrir registro</guilabel>, seleccione el archivo que quiera abrir, "
+"después pulse <guibutton>Abrir</guibutton>.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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"Puede abrir tantos registros como quiera. El <application>Visor de registros "
+"del sistema</application> muestra un registro cada vez en la ventana del "
+"<application>Visor de registros del sistema</application>. 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 "
+"<application>Visor de registros del sistema</application>, selecciónelo en "
+"la lista de registros."
+
+#: C/mate-system-log.xml:295(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"Note que el <application>Visor de registros del sistema</application> "
+"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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+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ú <menuchoice><guimenu>Editar</"
+"guimenu><guimenuitem>Copiar</guimenuitem></menuchoice>. Si quiere copiar el "
+"registro entero al portapapeles, selecciónelo por completo usando la opción "
+"de menú <menuchoice><guimenu>Editar</guimenu><guimenuitem>Seleccionar todo</"
+"guimenuitem></menuchoice>, después elija <menuchoice><guimenu>Editar</"
+"guimenu><guimenuitem>Copiar</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> 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ú "
+"<menuchoice><guimenu>Ver</guimenu><guimenuitem>Panel lateral</guimenuitem></"
+"menuchoice>."
+
+#: 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <application>Visor de registros del sistema</application> para "
+"monitorizar registros. Por omisión, todos los registros abiertos en el "
+"<application>Visor de registros del sistema</application> se monitorizan. Si "
+"se añaden líneas nuevas a un registro monitorizado por el <application>Visor "
+"de registros del sistema</application>, 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"La barra de estado se puede mostrar u ocultar usando la opción "
+"<menuchoice><guimenu>Ver</guimenu><guimenuitem>Barra de estado</"
+"guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"Para cerrar un registro, elija <menuchoice><guimenu>Archivo</"
+"guimenu><guimenuitem>Cerrar</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"Para salir del <application>Visor de registros del sistema</application>, "
+"elija <menuchoice><guimenu>Archivo</guimenu><guimenuitem>Salir</"
+"guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Jorge González <[email protected]>, 2005, 2009\n"
+"Francisco Javier F. Serrador <[email protected]>, 2006"
+
+#~ msgid ""
+#~ "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check "
+#~ "this option again to turn monitoring back on."
+#~ msgstr ""
+#~ "Para parar de monitorizar un registro específico, desmarque la opción "
+#~ "<menuchoice><guimenu>Ver</guimenu><guimenuitem>Monitorizar</guimenuitem></"
+#~ "menuchoice>. 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
--- /dev/null
+++ b/logview/help/es/figures/syslog_window.png
Binary files 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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: Basque <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help\" url=\"ghelp:fdl\">esteka honetan</ulink> 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: <placeholder-1/>"
+msgstr "DOKUMENTUA ETA DOKUMENTUAREN BERTSIO ALDATUAK GNU DOKUMENTAZIO LIBREAREN LIZENTZIAREN BALDINTZEN ARABERA EMATEN DIRA, ETA ONDOREN ZEHAZTEN DIRENAK ONARTZERA BEHARTZEN DUTE: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Sun-eko MATEren dokumentazio-taldea <email>[email protected] </email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Sistemaren egunkarien ikustaileari buruzko akatsen berri emateko edo oharrak bidaltzeko, <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATEra oharrak bidaltzeko orria</ulink>n 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 "<application>System Log Viewer</application> is a graphical, menu-driven viewer that you can use to view and monitor your system logs. <application>System Log Viewer</application> comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display."
+msgstr "<application>Sistemaren egunkarien ikustailea</application> menuetan oinarritutako aplikazio grafikoa da eta sistemaren egunkari-fitxategiak ikusteko eta kontrolatzeko erabil dezakezu. Egunkariak kudeatzen laguntzeko zenbait funtzio ditu <application>Sistemaren egunkarien ikustailea</application> aplikazioak, hala nola egutegia, egunkarien kontrola eta egunkarien estatistikak bistaratzea."
+
+#: C/mate-system-log.xml:187(para)
+msgid "<application>System Log Viewer</application> 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 "<application>Sistemaren egunkarien ikustailea</application> 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 "<application>System Log Viewer</application> 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 <application>Sistemaren egunkarien ikustailea</application> 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 <application>System Log Viewer</application> in the following ways:"
+msgstr "Aukera hauek dituzu <application>Sistemaren egunkarien ikustailea</application> abiarazteko:"
+
+#: C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "<guimenu>Aplikazioak</guimenu> menua"
+
+#: C/mate-system-log.xml:212(para)
+msgid "Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>System Log</guimenuitem></menuchoice>."
+msgstr "Aukeratu <menuchoice><guisubmenu>Sistema-tresnak</guisubmenu><guimenuitem>Sistemaren egunkaria</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Komando-lerroa"
+
+#: C/mate-system-log.xml:218(para)
+msgid "Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr "Idatzi <command>mate-system-log</command>, eta sakatu <keycap>Sartu</keycap>."
+
+#: C/mate-system-log.xml:225(para)
+msgid "When you start <application>System Log Viewer</application>, the following window is displayed."
+msgstr "<application>Sistemaren egunkarien ikustailea</application> 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 <application>System Log Viewer</application>, the application displays several log files by default (such as <filename>/var/log/messages</filename>). 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 "<application>Sistemaren egunkarien ikustailea</application> lehen aldiz abiaraztean, zenbait egunkari-fitxategi bistaratzen dira lehenespenez (adibidez, <filename>/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every opened log, and any change appears automatically in the main window. See <xref linkend=\"syslog-monitor\"/> for more information."
+msgstr "Lehenespenez, <application>Sistemaren Egunkarien ikustailea</application>k irekita dauden egunkari guztiak kontrolatzen ditu, eta aldaketa guztiak automatikoki agertzen dira leiho nagusian. Informazio gehiago nahi izanez gero, ikus <xref linkend=\"syslog-monitor\"/>."
+
+#: 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, select the log that you want to open, then click <guibutton>Open</guibutton>. Use the scrollbars to scroll through the log."
+msgstr "Egunkari bat ikusteko, aukeratu <menuchoice><guimenu>Egunkaria</guimenu><guimenuitem>Ireki</guimenuitem></menuchoice>. <guilabel>Ireki egunkaria</guilabel> elkarrizketa koadroan, hautatu ireki nahi duzun egunkaria eta egin klik <guibutton>Ireki</guibutton> 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. <application>System Log Viewer</application> displays one log at a time in the <guilabel>System Log Viewer</guilabel> 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 <application>System Log Viewer</application>, select it in the log list."
+msgstr "Nahi beste egunkari ireki ditzakezu. <application>Sistemaren egunkarien ikustailea</application> aplikazioak egunkariak banan-banan irekitzen ditu <guilabel>Sistemaren egunkarien ikustailea</guilabel>ren leihoan. Irekitako egunkariak aplikazio-leihoaren ezkerraldean zerrendatzen dira. Zerrenda horretan hautatutako egunkaria, aplikazio-leihoaren area nagusian bistaratzen da. <application>Sistemaren egunkarien ikustailea</application>n jada irekita dagoen beste egunkari bat bistaratzeko, hauta ezazu egunkari-zerrendan."
+
+#: C/mate-system-log.xml:277(para)
+msgid "Note that <application>System Log Viewer</application> also lets you open zipped logs (whole filenames end in \".gz\")."
+msgstr "Kontuan izan konprimitutako egunkariak ere irekitzen dituela <application>Sistemaren egunkarien ikustailea</application>k."
+
+#: 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 <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you want to copy the entire log to the clipboard, select it entirely using the <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></menuchoice> menu option, then choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr "Egunkari-lerro bat edo gehiago arbelean itsasteko, hautatu lerroak area nagusian eta aukeratu <menuchoice><guimenu>Editatu</guimenu><guimenuitem>Kopiatu</guimenuitem></menuchoice> menu-aukera. Egunkari osoa arbelean itsatsi nahi baduzu, hauta ezazu osoa <menuchoice><guimenu>Editatu</guimenu><guimenuitem>Hautatu denak</guimenuitem></menuchoice> menu-aukera erabiliz, eta aukeratu <menuchoice><guimenu>Editatu</guimenu><guimenuitem>Kopiatu</guimenuitem></menuchoice>"
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Sidebar</guimenuitem></menuchoice> menu option."
+msgstr "Egunkari-zerrenda eta egutegia dauzkan ezkerreko alboko barra gordetzeko, hautatu <menuchoice><guimenu>Ikusi</guimenu><guimenuitem>Alboko barra</guimenuitem></menuchoice> 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 <application>System Log Viewer</application> to monitor logs. By default, all logs opened in <application>System Log Viewer</application> are monitored for changes. If new lines are added to a log monitored by <application>System Log Viewer</application>, 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 "<application>Sistemaren egunkarien ikustailea</application> aplikazioa erabil dezakezu egunkariak kontrolatzeko. Lehenespenez, <application>Sistemaren egunkarien ikustailea</application>n irekitako egunkari guztien aldaketak kontrolatzen dira. <application>Sistemaren egunkarien ikustailea</application>ren 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check this option again to turn monitoring back on."
+msgstr "Egunkari jakin bat kontrolatzeari uzteko, desautatu <menuchoice><guimenu>Egunkaria</guimenu><guimenuitem>Kontrolatu</guimenuitem></menuchoice> 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 <application>System Log Viewer</application> 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 <application>Sistemaren egunkarien ikustailea</application> 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+msgstr "Egutegia ezkutatzeko, desautatu <menuchoice><guimenu>Ikusi</guimenu><guimenuitem>Egutegia</guimenuitem></menuchoice> 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></menuchoice> option."
+msgstr "Egoera-barra bistaratu edo gorde egin daiteke <menuchoice><guimenu>Ikusi</guimenu><guimenuitem>Egoera-barra</guimenuitem></menuchoice> 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr "Egunkari bat ixteko, aukeratu <menuchoice><guimenu>Egunkaria</guimenu><guimenuitem>Itxi</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose <menuchoice><guimenu>Log</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>."
+msgstr "<application>Sistemaren egunkarien ikustailea</application> aplikaziotik irteteko, aukeratu <menuchoice><guimenu>Egunkaria</guimenu><guimenuitem>Irten</guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Hizkuntza Politikarako Sailburuordetza <[email protected]>, 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
--- /dev/null
+++ b/logview/help/eu/figures/syslog_window.png
Binary files 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ä <[email protected]>, 2009-2010.
+# Tommi Vainikainen <[email protected]> (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ä <[email protected]>\n"
+"Language-Team: Finnish <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help\" url=\"ghelp:fdl\">tätä "
+"linkkiä</ulink>, 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: "
+"<placeholder-1/>"
+msgstr ""
+"ASIAKIRJA SEKÄ MUOKATUT VERSIOT ASIAKIRJASTA TARJOTAAN GNU FREE "
+"DOCUMENTATION LICENSEN EHDOIN SEKÄ YMMÄRTÄEN ETTÄ: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Paul Cutler <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Sun Mate Dokumentointiryhmä <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Ilmoittaaksesi viasta tai tehdäksesi ehdotuksen koskien "
+"Lokikatselin-sovellusta tai tätä käyttöohjetta, seuraa ohjeita <ulink "
+"url=\"ghelp:mate-feedback\" type=\"help\">Maten palautesivuilla</ulink>."
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a log monitor and log statistics "
+"display."
+msgstr ""
+"<application>Lokikatselin</application> on graafinen, valikkopohjainen "
+"katselin, jota voit käyttää järjestelmäsi lokien tarkasteluun ja "
+"valvomiseen. <application>Lokikatselin</application> sisältää muutamia "
+"toimintoja, jotka helpottavat lokien hallintaa, kuten lokikatselimen "
+"ja lokistatistiikkanäytön."
+
+#: C/mate-system-log.xml:206(para)
+msgid ""
+"<application>System Log Viewer</application> 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 ""
+"<application>Lokikatselin</application> 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 ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"<application>Lokikatselin</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"Voit käynnistää <application>Lokikatselimen</application> seuraavilla "
+"tavoilla:"
+
+#: C/mate-system-log.xml:228(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "<guimenu>Sovellukset</guimenu>-valikosta"
+
+#: C/mate-system-log.xml:230(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Valitse <menuchoice><guisubmenu>Järjestelmätyökalut</guisubmenu><guimenuitem>"
+"Järjestelmäloki</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:234(term)
+msgid "Command line"
+msgstr "Komentoriviltä"
+
+#: C/mate-system-log.xml:236(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Kirjoita <command>mate-system-log</command> ja paina <keycap>Enter</keycap> "
+"-näppäintä."
+
+#: C/mate-system-log.xml:243(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"Kun käynnistät <application>Lokikatselimen</application>, 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 <application>Lokikatselimen</application>, "
+"sovellus näyttää oletuksena muutamia lokitiedostoja (kuten <filename>"
+"/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"Oletuksena <application>Lokikatselin</application> valvoo jokaista avattua "
+"lokia ja kaikki muutokset ilmestyy automaattisesti pääikkunaan. Katso "
+"lisätietoja <xref linkend=\"syslog-monitor\"/>."
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"Tarkastellaksesi lokeja, valitse <menuchoice><guimenu>Tiedosto</guimenu><"
+"guimenuitem>Avaa</guimenuitem></menuchoice>. Valitse <guilabel>Avaa loki<"
+"/guilabel> -valintaikkunasta loki, jonka haluat avata ja napsauta <guibutton>"
+"Avaa</guibutton>. Käytä vierityspalkkeja vierittääksesi lokia."
+
+#: C/mate-system-log.xml:287(para)
+msgid ""
+"You can open as many logs as you want. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"Voit valita niin monta lokia, kuin haluat. <application>Lokikatselin<"
+"/application> näyttää yhden lokin kerrallaan <guilabel>Lokikatselin<"
+"/guilabel>-ikkunassa. Avatut lokit on listattu vasemmalla puolella "
+"sovelluksen ikkunaa. Listasta valittu loki näytetään sovelluksen "
+"pääikkunassa. Tarkastellaksesi muita valmiiksi <application>Lokikatselimeen<"
+"/application> avattuja lokeja, valitse haluamasi loki lokilistasta."
+
+#: C/mate-system-log.xml:295(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"Huomioi, että <application>Lokikatselin</application> 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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr ""
+"Kopioidaksesi yhden rivin tai enemmän leikepöydälle, valitse rivit "
+"pääikkunasta ja valitse valikosta <menuchoice><guimenu>Muokkaa</guimenu><"
+"guimenuitem>Kopioi</guimenuitem></menuchoice>. Jos tahdot kopioida koko "
+"lokin leikepöydälle, valitse koko loki valitsemalla valikosta <menuchoice><"
+"guimenu>Muokkaa</guimenu><guimenuitem>Valitse kaikki</guimenuitem><"
+"/menuchoice>. Tämän jälkeen valitse valikosta <menuchoice><guimenu>Muokkaa<"
+"/guimenu><guimenuitem>Kopioi</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> menu option."
+msgstr ""
+"Piilottaaksesi vasemman sivupalkin, mikä sisältää lokilistan ja kalenterin, "
+"valitset valikosta <menuchoice><guimenu>Näytä</guimenu><guimenuitem>"
+"Sivupalkki</guimenuitem></menuchoice>-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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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ää <application>Lokikatselinta</application> lokien tarkkailuun. "
+"Oletuksena kaikki <application>Lokikatselimen</application> lokit avataan "
+"muutoksen tarkkailutilassa. Jos uusia rivejä lisätään <application>"
+"Lokikatselimen</application> 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"Tilarivi voidaan asettaa näkymään tai piilottaa valitsemalla valikosta <"
+"menuchoice><guimenu>Näytä</guimenu><guimenuitem>Tilarivi</guimenuitem><"
+"/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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"Sulkeaksesi lokin, valitse <menuchoice><guimenu>Tiedosto</"
+"guimenu><guimenuitem>Sulje</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"Sulkeaksesi <application>Lokikatselimen</application>, valitse <menuchoice><"
+"guimenu>Tiedosto</guimenu><guimenuitem>Lopeta</guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Jukka Heikkilä <[email protected]>, 2008, 2010\n"
+"Tommi Vainikainen <[email protected]> (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
--- /dev/null
+++ b/logview/help/fi/figures/syslog_window.png
Binary files 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
--- /dev/null
+++ b/logview/help/fr/figures/syslog_window.png
Binary files 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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: MATE French Team <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help\" url=\"ghelp:fdl\">lien</ulink> 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: "
+"<placeholder-1/>"
+msgstr ""
+"LE PRÉSENT DOCUMENT ET SES VERSIONS MODIFIÉES SONT FOURNIS SELON LES TERMES "
+"DE LA LICENCE DE DOCUMENTATION LIBRE GNU SACHANT QUE : <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Paul Cutler <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "L'équipe de documentation MATE de Sun <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+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 "
+"<ulink url=\"ghelp:mate-feedback\" type=\"help\">page de réactions sur "
+"MATE</ulink>."
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a log monitor and log statistics "
+"display."
+msgstr ""
+"Le <application>visionneur de journaux système</application> est un "
+"visionneur graphique, piloté par des menus que vous pouvez utiliser pour "
+"voir et surveiller les journaux de votre système. Le <application>visionneur "
+"de journaux système</application> 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 ""
+"<application>System Log Viewer</application> 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 <application>visionneur de journaux système</application> 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 ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"Le <application>visionneur de journaux système</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"Vous pouvez lancer le <application>visionneur de journaux système</"
+"application> de l'une des façons suivantes :"
+
+#: C/mate-system-log.xml:228(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Menu <guimenu>Applications</guimenu>"
+
+#: C/mate-system-log.xml:230(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Choisissez <menuchoice><guisubmenu>Outils système</"
+"guisubmenu><guimenuitem>Visionneur de journaux système</guimenuitem></"
+"menuchoice>."
+
+#: C/mate-system-log.xml:234(term)
+msgid "Command line"
+msgstr "Ligne de commande"
+
+#: C/mate-system-log.xml:236(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Saisissez <command>mate-system-log</command>, puis appuyez sur "
+"<keycap>Entrée</keycap>."
+
+#: C/mate-system-log.xml:243(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"Lorsque vous démarrez le <application>visionneur de journaux système</"
+"application>, 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 <application>visionneur de journaux système</"
+"application>, l'application affiche plusieurs journaux par défaut (comme "
+"<filename>/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"Par défaut, le <application>visionneur de journaux système</application> "
+"surveille tous les journaux ouverts et tout changement s'affiche "
+"automatiquement dans la fenêtre principale. Consultez <xref linkend=\"syslog-"
+"monitor\"/> 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"Pour afficher un journal, sélectionnez <menuchoice><guimenu>Fichier</"
+"guimenu><guimenuitem>Ouvrir</guimenuitem></menuchoice>. Dans la boîte de "
+"dialogue <guilabel>Ouvrir un journal</guilabel>, sélectionnez le journal à "
+"ouvrir, puis cliquez sur <guibutton>Ouvrir</guibutton>. 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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"Vous pouvez ouvrir autant de journaux que vous le souhaitez. Le "
+"<application>visionneur de journaux système</application> 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 <application>visionneur de journaux "
+"système</application>, sélectionnez-le dans la liste des journaux."
+
+#: C/mate-system-log.xml:295(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"Notez que le <application>visionneur de journaux système</application> 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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr ""
+"Pour copier une ou plusieurs lignes vers le presse-papiers, sélectionnez "
+"celles-ci dans la zone principale et choisissez "
+"<menuchoice><guimenu>Édition</guimenu><guimenuitem>Copier</guimenuitem></"
+"menuchoice>. Si vous souhaitez copier l'intégralité du journal dans le "
+"presse-papiers, choisissez <menuchoice><guimenu>Édition</"
+"guimenu><guimenuitem>Sélectionner tout</guimenuitem></menuchoice>, puis "
+"<menuchoice><guimenu>Édition</guimenu><guimenuitem>Copier</guimenuitem></"
+"menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> menu option."
+msgstr ""
+"Pour masquer la barre latérale gauche contenant la liste des journaux et le "
+"calendrier, choisissez <menuchoice><guimenu>Affichage</"
+"guimenu><guimenuitem>Panneau latéral</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <application>visionneur de journaux système</"
+"application> pour surveiller les journaux système. Par défaut, tous les "
+"journaux ouverts dans le <application>visionneur de journaux système</"
+"application> sont surveillés. Si de nouvelles lignes sont ajoutées à un "
+"journal surveillé par le <application>visionneur de journaux système</"
+"application>, 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"La barre d'état peut être affichée ou masquée en choisissant "
+"<menuchoice><guimenu>Affichage</guimenu><guimenuitem>Barre d'état</"
+"guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"Pour fermer un journal, choisissez <menuchoice><guimenu>Fichier</"
+"guimenu><guimenuitem>Fermer</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"Pour quitter le <application>visionneur de journaux système</application>, "
+"choisissez <menuchoice><guimenu>Fichier</guimenu><guimenuitem>Quitter</"
+"guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Jonathan Ernst <[email protected]>, 2006"
+
+#~ msgid ""
+#~ "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check "
+#~ "this option again to turn monitoring back on."
+#~ msgstr ""
+#~ "Pour arrêter de surveiller un journal particulier, décochez l'option "
+#~ "<menuchoice><guimenu>Affichage</guimenu><guimenuitem>Surveiller</"
+#~ "guimenuitem></menuchoice>. 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 "
+#~ "<application>System Log Viewer</application> 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 "
+#~ "<application>visionneur de journaux système</application>, 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 <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+#~ msgstr ""
+#~ "Pour masquer le calendrier, décochez l'option "
+#~ "<menuchoice><guimenu>Affichage</guimenu><guimenuitem>Calendrier</"
+#~ "guimenuitem></menuchoice>."
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
--- /dev/null
+++ b/logview/help/it/figures/syslog_window.png
Binary files 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 <[email protected]>, 2006, 2007, 2008, 2009.
+# Milo Casagrande <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: Italian <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help\" url=\"ghelp:fdl"
+"\">collegamento</ulink> 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: "
+"<placeholder-1/>"
+msgstr ""
+"QUESTO DOCUMENTO E LE SUE VERSIONI MODIFICATE VENGONO FORNITI IN BASE AI "
+"TERMINI DELLA GNU FREE DOCUMENTATION LICENSE, CON L'INTESA CHE:<placeholder-"
+"1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr ""
+"Team Sun per la documentazione di MATE <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Per segnalare un errore o inviare un suggerimento riguardo l'applicazione "
+"<application>System Log Viewer</application> o questo manuale, seguire le "
+"indicazioni nella <ulink url=\"ghelp:mate-feedback\" type=\"help\">Pagina "
+"dei riscontri MATE</ulink>."
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a calendar, log monitor and log "
+"statistics display."
+msgstr ""
+"<application>System Log Viewer</application> è un visualizzatore grafico che "
+"si può utilizzare per visualizzare e monitorare i registri di sistema. "
+"<application>System Log Viewer</application> è 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 ""
+"<application>System Log Viewer</application> 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 ""
+"<application>System Log Viewer</application> è 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 ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"<application>System Log Viewer</application> è 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+"Si può avviare <application>System Log Viewer</application> nei modi "
+"seguenti:"
+
+#: C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Menù <guimenu>Applicazioni</guimenu>"
+
+#: C/mate-system-log.xml:212(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"Scegliere <menuchoice><guisubmenu>Strumenti di sistema</"
+"guisubmenu><guimenuitem>Registro di sistema</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Riga di comando"
+
+#: C/mate-system-log.xml:218(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"Digitare <command>mate-system-log</command> e poi premere <keycap>Invio</"
+"keycap>."
+
+#: C/mate-system-log.xml:225(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"Quando si avvia <application>System Log Viewer</application>, 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 <application>System Log Viewer</application>, "
+"l'applicazione visualizza, in modo predefinito, svariati file di registro "
+"(come <filename>/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"In modo predefinito, <application>System Log Viewer</application> monitora "
+"ogni registro aperto, e ogni cambiamento appare automaticamente nella "
+"finestra principale. Consultare <xref linkend=\"syslog-monitor\"/> 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"Per visualizzare un registro, scegliere <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Apri</guimenuitem></menuchoice>. Nel dialogo "
+"<guilabel>Apri registro</guilabel>, selezionare il registro che si vuole "
+"aprire e poi fare clic su <guibutton>Apri</guibutton>. 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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"Si possono aprire quanti registri si vogliono. <application>System Log "
+"Viewer</application> visualizza un registro alla volta nella finestra di "
+"<guilabel>System Log Viewer</guilabel>. 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 <application>System Log "
+"Viewer</application>, selezionarlo nella lista dei registri."
+
+#: C/mate-system-log.xml:277(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"Si noti che <application>System Log Viewer</application> 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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr ""
+"Per copiare una o più righe del registro negli appunti, basta selezionare le "
+"righe nell'area principale e scegliere l'opzione di menu "
+"<menuchoice><guimenu>Modifica</guimenu><guimenuitem>Copia</guimenuitem></"
+"menuchoice>. Se si vuole copiare l'intero registro negli appunti, "
+"selezionarlo completamente utilizzando l'opzione di menu "
+"<menuchoice><guimenu>Modifica</guimenu><guimenuitem>Seleziona tutto</"
+"guimenuitem></menuchoice>, e poi scegliere <menuchoice><guimenu>Modifica</"
+"guimenu><guimenuitem>Copia</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> 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ù "
+"<menuchoice><guimenu>Visualizza</guimenu><guimenuitem>Riquadro laterale</"
+"guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <application>System Log Viewer</application> per "
+"monitorare i registri. In modo predefinito, tutti i registri aperti in "
+"<application>System Log Viewer</application> sono monitorati per i "
+"cambiamenti. Se nuove righe vengono aggiunte a un registro monitorato da "
+"<application>System Log Viewer</application>, 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 <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check this "
+"option again to turn monitoring back on."
+msgstr ""
+"Per fermare il monitoraggio di un registro specifico, deselezionare "
+"l'opzione <menuchoice><guimenu>Visualizza</"
+"guimenu><guimenuitem>Monitoraggio</guimenuitem></menuchoice>. 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 "
+"<application>System Log Viewer</application> 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 <application>System Log Viewer</application>, 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 <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+msgstr ""
+"Per nascondere il calendario, deselezionare l'opzione di menù "
+"<menuchoice><guimenu>Visualizza</guimenu><guimenuitem>Calendario</"
+"guimenuitem></menuchoice>."
+
+#: 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"La barra di stato può essere visualizzata o nascosta usando l'opzione "
+"<menuchoice><guimenu>Visualizza</guimenu><guimenuitem>Barra di stato</"
+"guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"Per chiudere un registro, scegliere <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Chiudi</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"Per uscire da <application>System Log Viewer</application>, scegliere "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Esci</guimenuitem></"
+"menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Andrea Zagli <[email protected]>, 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
--- /dev/null
+++ b/logview/help/ko/figures/syslog_window.png
Binary files 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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: MATE Korea <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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: <placeholder-1/>"
+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)
+
+#: ../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)
+
+#: ../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)
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Sun 그놈 문서 팀 <email>[email protected]</email>"
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: ../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 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"&app; 응용프로그램 또는 이 설명서에 대한 버그를 보고하거나\n"
+"\t의견을 제시하려면\n"
+"\t<ulink url=\"ghelp:mate-feedback\" type=\"help\">그놈 피드백 페이지</ulink>에 있는 지시 사항을 따르십시오. "
+
+#: ../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 "<application>System Log Viewer</application> is a graphical, menu-driven viewer that you can use to view and monitor your system logs. <application>System Log Viewer</application> 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 "<application>System Log Viewer</application> 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 "<application>System Log Viewer</application> is useful only to those who have access to the system log files, which generally requires root access."
+msgstr ""
+"<application>&app;</application> 응용프로그램을 사용하면 시스템 로그 파일을 감시하고 볼 수 있습니다. \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 <application>System Log Viewer</application> in the following ways:"
+msgstr "다음과 같은 방법으로 <application>&app;</application>을(를) 시작할 수 있습니다."
+
+#: ../C/mate-system-log.xml:210(term)
+#, fuzzy
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "<guimenu>응용프로그램</guimenu> 메뉴</term>"
+
+#: ../C/mate-system-log.xml:212(para)
+#, fuzzy
+msgid "Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>System Log</guimenuitem></menuchoice>."
+msgstr "<menuchoice><guisubmenu>시스템 도구</guisubmenu><guimenuitem>시스템 로그</guimenuitem></menuchoice>를 선택합니다."
+
+#: ../C/mate-system-log.xml:216(term)
+#, fuzzy
+msgid "Command line"
+msgstr "명령줄"
+
+#: ../C/mate-system-log.xml:218(para)
+#, fuzzy
+msgid "Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr "<command>mate-system-log</command>를 입력하고 <keycap>Return</keycap> 키를 누릅니다."
+
+#: ../C/mate-system-log.xml:225(para)
+#, fuzzy
+msgid "When you start <application>System Log Viewer</application>, the following window is displayed."
+msgstr "<application>&app;</application>을(를) 시작하면 다음 창이 표시됩니다.</para>"
+
+#: ../C/mate-system-log.xml:229(title)
+#, fuzzy
+msgid "System Log Viewer Window"
+msgstr "\t<title>&app; 창</title>\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 <application>System Log Viewer</application>, the application displays several log files by default (such as <filename>/var/log/messages</filename>). 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, <application>System Log Viewer</application> monitors every opened log, and any change appears automatically in the main window. See <xref linkend=\"syslog-monitor\"/> 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, select the log that you want to open, then click <guibutton>Open</guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"로그 파일을 보려면 <menuchoice><guimenu>파일</guimenu><guimenuitem>열기</guimenuitem></menuchoice>를 선택합니다. \n"
+" \t<guilabel>새 로그 파일 열기</guilabel> 대화 상자에 열려는 로그 파일 이름을 입력한 다음 <guibutton>확인</guibutton>을 클릭합니다. 스크롤 바를 사용하여 로그 파일을 스크롤할 수 있습니다."
+
+#: ../C/mate-system-log.xml:269(para)
+#, fuzzy
+msgid "You can open as many logs as you want. <application>System Log Viewer</application> displays one log at a time in the <guilabel>System Log Viewer</guilabel> 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 <application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"로그 파일을 원하는 수만큼 열 수 있습니다. <application>&app;</application>은(는) <guilabel>시스템 로그 뷰어</guilabel> 창에 로그 파일을 한 번에 하나씩 표시합니다. <application>&app;</application>에 이미 열려 있는 다른 로그 파일을 표시하려면 <menuchoice><guimenu>파일</guimenu><guimenuitem>로그 바꾸기</guimenuitem></menuchoice>를 선택합니다. \n"
+" \t열린 로그 파일에서 계속 이동하려면 <menuchoice><guimenu>파일</guimenu><guimenuitem>로그 바꾸기</guimenuitem>\n"
+" \t</menuchoice>를 선택합니다."
+
+#: ../C/mate-system-log.xml:277(para)
+msgid "Note that <application>System Log Viewer</application> 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 <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you want to copy the entire log to the clipboard, select it entirely using the <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></menuchoice> menu option, then choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+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 <menuchoice><guimenu>View</guimenu><guimenuitem>Sidebar</guimenuitem></menuchoice> 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 <application>System Log Viewer</application> to monitor logs. By default, all logs opened in <application>System Log Viewer</application> are monitored for changes. If new lines are added to a log monitored by <application>System Log Viewer</application>, 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 ""
+"<application>&app;</application>을(를) 사용하여 선택한 로그 파일을 감시할 수 있습니다. 감시할 로그 파일을 선택하면 \n"
+" \t <application>&app;</application>은(는) 별도의 창에 로그 파일의 최신 항목을 표시합니다. \n"
+" \t<application>&app;</application>은(는) <guilabel>로그 감시</guilabel> 창을 갱신하여 추가되는 새 항목을 표시합니다."
+
+#: ../C/mate-system-log.xml:312(para)
+msgid "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>Log</guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> 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 <application>System Log Viewer</application> 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 "달력을 보려면 <menuchoice><guimenu>보기</guimenu><guimenuitem>달력</guimenuitem></menuchoice>을 선택합니다. 해당 날짜에 대한 로그 파일이 있는 경우 날짜가 굵게 표시됩니다. 특정 날짜의 로그 파일을 보려면 달력에서 해당 날짜를 선택합니다.</para>"
+
+#: ../C/mate-system-log.xml:325(para)
+msgid "To hide the calendar, uncheck the <menuchoice><guimenu>View</guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></menuchoice> 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr "로그 파일을 닫으려면 <menuchoice><guimenu>파일</guimenu><guimenuitem>닫기</guimenuitem></menuchoice>를 선택합니다. 열려 있는 마지막 로그 파일을 닫으면 응용프로그램이 종료됩니다."
+
+#: ../C/mate-system-log.xml:355(title)
+msgid "To Exit System Log Viewer"
+msgstr ""
+
+#: ../C/mate-system-log.xml:356(para)
+msgid "To exit <application>System Log Viewer</application>, choose <menuchoice><guimenu>Log</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>."
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: ../C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Sun Microsystems, 2002\n"
+"류창우 <[email protected]>, 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 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<omf>
+ <resource>
+ <subject category="GNOME|Applications|System Tools"/>
+ <type>user's guide</type>
+ <relation seriesid="89dec73e-963c-11d6-9597-e9072c5fff6d"/>
+ <rights type="GNU FDL" license.version="1.1" holder="Sun Microsystems"/>
+ </resource>
+</omf>
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 ([email protected]> - 2006-2007
+#
+# Yannig Marchegay (Kokoyaya) <[email protected]>, 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) <[email protected]>\n"
+"Language-Team: Occitan <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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: "
+"<placeholder-1/>"
+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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+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 <email>[email protected]</email>"
+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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> 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 ""
+"<application>System Log Viewer</application> 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 ""
+"<application>System Log Viewer</application> 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 <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr ""
+
+#: C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Menut <guimenu>Applications</guimenu>"
+
+#: C/mate-system-log.xml:212(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>System "
+"Log</guimenuitem></menuchoice>."
+msgstr ""
+
+#: C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Linha de comanda"
+
+#: C/mate-system-log.xml:218(para)
+msgid "Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+
+#: C/mate-system-log.xml:225(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. 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. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+
+#: C/mate-system-log.xml:277(para)
+msgid ""
+"Note that <application>System Log Viewer</application> 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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+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 <menuchoice><guimenu>View</guimenu><guimenuitem>Sidebar</"
+"guimenuitem></menuchoice> 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 <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 <menuchoice><guimenu>Log</"
+"guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> 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 "
+"<application>System Log Viewer</application> 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 <menuchoice><guimenu>View</"
+"guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> 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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Close</"
+"guimenuitem></menuchoice>."
+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 <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>Log</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Yannig Marchegay (Kokoyaya) <[email protected]>"
+
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 <[email protected]>\n"
+"Language-Team: Russian <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Следующим разрешается копировать и/или модифицировать этот документ при условии соблюдения GNU Free Documentation License (GFDL), версии 1.1 или любой более поздней опубликованной Фондом свободного программного обеспечения версией без неизменяемых частей, без текстов на обложках. Вы можете найти копию лицензии по этой <ulink type=\"help\" url=\"ghelp:fdl\">ссылке</ulink> или в файле 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: <placeholder-1/>"
+msgstr "ДОКУМЕНТ И ИЗМЕНЁННЫЕ ВЕРСИИ ДОКУМЕНТА ПРЕДСТАВЛЯЮТСЯ ПОЛЬЗОВАТЕЛЮ ПОД ЛИЦЕНЗИЕЙ GNU FREE DOCUMENTATION LICENSE С УВЕДОМЛЕНИЕМ О ТОМ, ЧТО <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Sun MATE Documentation Team <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Чтобы сообщить об ошибке или внести предложение относительно Программы просмотра системных журналов или данного руководства, следуйте ссылке <ulink url=\"ghelp:mate-feedback\" type=\"help\">Обратная связь с Гномом</ulink>."
+
+#: 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 "<application>System Log Viewer</application> is a graphical, menu-driven viewer that you can use to view and monitor your system logs. <application>System Log Viewer</application> comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display."
+msgstr "<application>Программа просмотра системных журналов</application> - это графический просмотрщик, который может быть испозован вами для просмотра и мониторинга ваших системных логов (журналов). <application>Программа просмотра системных журналов</application> содержит немногочисленные функции, включающие календать, монитор журналов и окно статистики журнала, которые могут помочь вам управлять вашими журналами."
+
+#: C/mate-system-log.xml:187(para)
+msgid "<application>System Log Viewer</application> 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 "<application>Программа просмотра системных журналов</application> будет полезна, если вы новичок в системном администрировании, поскольку она предоставляет простое, более дружественное для пользователя представление ваших журналов, чем текстовый вывод файла журнала. Она также полезна для более опытных администраторов, так как содержит календарь, помогающий локализовать общие направления и последствия проблем, также как и монитор, предоставляющий вам возможность непрерывно отслеживать критически важные журналы."
+
+#: C/mate-system-log.xml:197(para)
+msgid "<application>System Log Viewer</application> is useful only to those who have access to the system log files, which generally requires root access."
+msgstr "<application>Программа просмотра системных журналов</application> полезна только для тех, кто имеет доступ к файлам системных журналов, которые обычно требуют прав суперпользователя (root)."
+
+#: C/mate-system-log.xml:204(title)
+msgid "Getting Started"
+msgstr "Приступая к работе"
+
+#: C/mate-system-log.xml:206(para)
+msgid "You can start <application>System Log Viewer</application> in the following ways:"
+msgstr "Вы можете запустить <application>Программу просмотра системных журналов</application> следующими способами:"
+
+#: C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "Меню <guimenu>Система</guimenu>"
+
+#: C/mate-system-log.xml:212(para)
+msgid "Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>System Log</guimenuitem></menuchoice>."
+msgstr "Выберите <menuchoice><guisubmenu>Администрирование</guisubmenu><guimenuitem>Системный журнал</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Командная строка"
+
+#: C/mate-system-log.xml:218(para)
+msgid "Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr "Наберите <command>mate-system-log</command>, затем нажмите <keycap>Enter</keycap>."
+
+#: C/mate-system-log.xml:225(para)
+msgid "When you start <application>System Log Viewer</application>, the following window is displayed."
+msgstr "После запуска <application>Программы просмотра системных журналов</application> отображается следующее окно."
+
+#: 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 <application>System Log Viewer</application>, the application displays several log files by default (such as <filename>/var/log/messages</filename>). 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 "После первого запуска <application>Программы просмотра системных журналов</application> приложение по умолчанию отображает несколько файлов журналов (такие, как <filename>/var/log/messages</filename>). Открытые логи (журналы) представлены в списке в левой части окна приложения. Выбранный из списка журнал отображается в главной части окна приложения."
+
+#: C/mate-system-log.xml:250(para)
+msgid "By default, <application>System Log Viewer</application> monitors every opened log, and any change appears automatically in the main window. See <xref linkend=\"syslog-monitor\"/> for more information."
+msgstr "По умолчанию <application>Программа просмотра системных журналов</application> отображает изменения каждого открытого журнала, и любые изменения появляются автоматически в главном окне. Подробнее можно узнать здесь <xref linkend=\"syslog-monitor\"/>."
+
+#: 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, select the log that you want to open, then click <guibutton>Open</guibutton>. Use the scrollbars to scroll through the log."
+msgstr "Чтобы просмотреть журнал, выберите <menuchoice><guimenu>Файл</guimenu><guimenuitem>Открыть</guimenuitem></menuchoice>. В диалоге <guilabel>Открыть журнал</guilabel> выберите журнал, который хотите открыть, затем нажмите кнопку <guibutton>Открыть</guibutton>. Используйте полосы прокрутки для передвижения по журналу."
+
+#: C/mate-system-log.xml:269(para)
+msgid "You can open as many logs as you want. <application>System Log Viewer</application> displays one log at a time in the <guilabel>System Log Viewer</guilabel> 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 <application>System Log Viewer</application>, select it in the log list."
+msgstr "Вы можете открыть столько журналов, сколько вам нужно. <application>Программа просмотра системных журналов</application> отображает по одному журналу в окне <guilabel>Программы просмотра системных журналов</guilabel>. Открытые журналы представлены списком в левой стороне окна программы. Выбранный в этом списке журнал представлен в главной части окна программы. Чтобы отобразить другой уже открытый журнал в <application>Программе просмотра системных журналов</application>, выберите его в списке журналов."
+
+#: C/mate-system-log.xml:277(para)
+msgid "Note that <application>System Log Viewer</application> also lets you open zipped logs (whole filenames end in \".gz\")."
+msgstr "Заметьте, что <application>Программа просмотра системных журналов</application> также позволяет вам открывать архивированные журналы (названия файлов которых оканчиваются на \".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 <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you want to copy the entire log to the clipboard, select it entirely using the <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></menuchoice> menu option, then choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr "Чтобы скопировать одну или более строк журнала в буфер обмена просто выделите строки в главной части окна и выберите <menuchoice><guimenu>Правка</guimenu><guimenuitem>Копировать</guimenuitem></menuchoice>. Если вы хотите копировать весь журнал в буфер обмена, выберите его полностью, используя настройку <menuchoice><guimenu>Правка</guimenu><guimenuitem>Выделить всё</guimenuitem></menuchoice>, затем выберите <menuchoice><guimenu>Правка</guimenu><guimenuitem>Копировать</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Sidebar</guimenuitem></menuchoice> menu option."
+msgstr "Чтобы скрыть боковую панель слева, которая содержит список журналов и календарь, просто выберите значение меню <menuchoice><guimenu>Вид</guimenu><guimenuitem>Боковая панель</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:303(title)
+msgid "To Monitor Logs"
+msgstr "Мониторинг журналов"
+
+#: C/mate-system-log.xml:304(para)
+msgid "You can use <application>System Log Viewer</application> to monitor logs. By default, all logs opened in <application>System Log Viewer</application> are monitored for changes. If new lines are added to a log monitored by <application>System Log Viewer</application>, 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 "Вы можете использовать <application>Программу просмотра системных журналов</application> для мониторинга логов (журналов). По умолчанию, ко всем журналам, открытым в <application>Программе просмотра системных журналов</application>, применяются текущие изменения. Если новые строки добавлены к журналу, просматриваемому с помощью <application>Программы просмотра системных журналов</application>, наименование журнала выделится жирным начертанием шрифта в списке журналов. Если журнал отображается в настоящее время в главной части окна, новые линии появятся автоматически в конце журнала и, по истечении пяти секунд, наименование журнала снова вернётся к обычному начертанию в списке журналов."
+
+#: C/mate-system-log.xml:312(para)
+msgid "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>Log</guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check this option again to turn monitoring back on."
+msgstr "Чтобы прекратить мониторинг отдельного журнала, разотметьте настройку <menuchoice><guimenu>Вид</guimenu><guimenuitem>Отслеживать</guimenuitem></menuchoice>. Для включения мониторинга отметьте эту настройку снова."
+
+#: 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 <application>System Log Viewer</application> 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 "По умолчанию календарь отображён в левой стороне окна <application>Программы просмотра системных журналов</application>, под списком журналов. Присутствующие в выбранном в настоящий момент журнале даты отображаются в календаре жирным начертанием. Чтобы перейти к определённой дате, выберите её в календаре."
+
+#: C/mate-system-log.xml:325(para)
+msgid "To hide the calendar, uncheck the <menuchoice><guimenu>View</guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+msgstr "Чтобы скрыть календарь, разотметьте пункт в меню <menuchoice><guimenu>Вид</guimenu><guimenuitem>Календарь</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></menuchoice> option."
+msgstr "Строка состояния может быть показана или скрыта через пункт меню <menuchoice><guimenu>Вид</guimenu><guimenuitem>Строка состояния</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr "Чтобы закрыть журнал, выберите <menuchoice><guimenu>Файл</guimenu><guimenuitem>Закрыть</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:355(title)
+msgid "To Exit System Log Viewer"
+msgstr "Завершение работы с Программой просмотра системных журналов"
+
+#: C/mate-system-log.xml:356(para)
+msgid "To exit <application>System Log Viewer</application>, choose <menuchoice><guimenu>Log</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>."
+msgstr "Чтобы завершить работу с <application>Программой просмотра системных журналов</application> выберите <menuchoice><guimenu>Файл</guimenu><guimenuitem>Выход</guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Сергей В. Миронов [email protected] 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
--- /dev/null
+++ b/logview/help/sv/figures/syslog_window.png
Binary files 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 <[email protected]>\n"
+"Language-Team: Swedish <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> 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 <ulink type=\"help\" url=\"ghelp:fdl\">länk</ulink> 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: <placeholder-1/>"
+msgstr "DOKUMENTET OCH MODIFIERADE VERSIONER AV DOKUMENTET TILLHANDAHÅLLS UNDER VILLKOREN I GNU FREE DOCUMENTATION LICENSE ENDAST UNDER FÖLJANDE FÖRUTSÄTTNINGAR: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Suns MATE-dokumentationsteam <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "För att rapportera ett fel eller komma med ett förslag angående programmet Systemloggvisare eller denna handbok, följ anvisningarna på <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE:s återkopplingssida</ulink>."
+
+#: 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 "<application>System Log Viewer</application> is a graphical, menu-driven viewer that you can use to view and monitor your system logs. <application>System Log Viewer</application> comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display."
+msgstr "<application>Systemloggvisare</application> är en grafisk, menydriven visare som du kan använda för att visa och övervaka dina systemloggar. <application>Systemloggvisare</application> 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 "<application>System Log Viewer</application> 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 "<application>Systemloggvisare</application> ä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 "<application>System Log Viewer</application> is useful only to those who have access to the system log files, which generally requires root access."
+msgstr "<application>Systemloggvisare</application> ä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 <application>System Log Viewer</application> in the following ways:"
+msgstr "Du kan starta <application>Systemloggvisare</application> på följande sätt:"
+
+#: C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "<guimenu>Program</guimenu>-menyn"
+
+#: C/mate-system-log.xml:212(para)
+msgid "Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log File Viewer</guimenuitem></menuchoice>."
+msgstr "Välj <menuchoice><guisubmenu>Systemverktyg</guisubmenu><guimenuitem>Loggfilsvisare</guimenuitem></menuchoice>."
+
+#: C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Kommandorad"
+
+#: C/mate-system-log.xml:218(para)
+msgid "Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr "Skriv <command>mate-system-log</command> och tryck sedan <keycap>Return</keycap>."
+
+#: C/mate-system-log.xml:225(para)
+msgid "When you start <application>System Log Viewer</application>, the following window is displayed."
+msgstr "När du startar <application>Systemloggvisare</application>, 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 <application>System Log Viewer</application>, the application displays several log files by default (such as <filename>/var/log/messages</filename>). 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 <application>Systemloggvisare</application>, visar programmet flera loggfiler som standard (såsom <filename>/var/log/messages</filename>). Ö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, <application>System Log Viewer</application> monitors every opened log, and any change appears automatically in the main window. See <xref linkend=\"syslog-monitor\"/> for more information."
+msgstr "Som standard, övervakar <application>Systemloggvisare</application> alla öppnade loggar och de ändringar som sker visas automatiskt i huvudfönstret. Se <xref linkend=\"syslog-monitor\"/> 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, select the log that you want to open, then click <guibutton>Open</guibutton>. Use the scrollbars to scroll through the log."
+msgstr "För att visa en logg, välj <menuchoice><guimenu>Arkiv</guimenu><guimenuitem>Öppna</guimenuitem></menuchoice>. I dialogrutan <guilabel>Öppna logg</guilabel>, välj loggen som du vill öppna, klicka sedan på <guibutton>Öppna</guibutton>. 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. <application>System Log Viewer</application> displays one log at a time in the <guilabel>System Log Viewer</guilabel> 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 <application>System Log Viewer</application>, select it in the log list."
+msgstr "Du kan öppna så många loggar som du vill. <application>Systemloggvisare</application> visar en logg åt gången i <guilabel>Systemloggvisare</guilabel>fö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 <application>Systemloggvisare</application>, markera den i logglistan."
+
+#: C/mate-system-log.xml:277(para)
+msgid "Note that <application>System Log Viewer</application> also lets you open zipped logs (whole filenames end in \".gz\")."
+msgstr "Notera att <application>Systemloggvisare</application> ä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 <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you want to copy the entire log to the clipboard, select it entirely using the <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></menuchoice> menu option, then choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr "För att kopiera en eller flera loggrader till urklipp, markera helt enkelt raderna i huvuddelen och välj menyalternativet <menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice>. Om du vill kopiera hela loggen till urklipp, markera hela loggen med menyalternativet <menuchoice><guimenu>Redigera</guimenu><guimenuitem>Markera alla</guimenuitem></menuchoice>, välj sedan <menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</guimenuitem></menuchoice> menu option."
+msgstr "För att dölja vänstra sidoraden, vilken innehåller logglistan och kalendern, välj bara menyalternativet <menuchoice><guimenu>Visa</guimenu><guimenuitem>Sidopanel</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application> to monitor logs. By default, all logs opened in <application>System Log Viewer</application> are monitored for changes. If new lines are added to a log monitored by <application>System Log Viewer</application>, 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 <application>Systemloggvisare</application> för att övervaka loggar. Som standard, alla loggar som öppnas i <application>Systemloggvisare</application> övervakas efter ändringar. Om ny rader läggs till i en logg som övervakas av <application>Systemloggvisare</application> 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check this option again to turn monitoring back on."
+msgstr "För att stoppa övervakningen av en specifik logg, kryssa av alternativet <menuchoice><guimenu>Visa</guimenu><guimenuitem>Övervaka</guimenuitem></menuchoice>. 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 <application>System Log Viewer</application> 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 <application>Systemloggvisare</application>, 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+msgstr "För att dölja kalendern, kryssa bort menyalternativet <menuchoice><guimenu>Visa</guimenu><guimenuitem>Kalender</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></menuchoice> option."
+msgstr "Statusraden kan visas eller döljas genom alternativet <menuchoice><guimenu>Visa</guimenu><guimenuitem>Statusrad</guimenuitem></menuchoice>."
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr "För att stänga en logg, välj <menuchoice><guimenu>Arkiv</guimenu><guimenuitem>Stäng</guimenuitem></menuchoice>."
+
+#: 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 <application>System Log Viewer</application>, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>."
+msgstr "För att avsluta <application>Systemloggvisare</application>, välj <menuchoice><guimenu>Arkiv</guimenu><guimenuitem>Avsluta</guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Daniel Nylander <[email protected]>, 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
--- /dev/null
+++ b/logview/help/uk/figures/syslog_window.png
Binary files 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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: Ukrainian <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Дозволяється копіювати, розповсюджувати та/або змінювати цей документ на умовах ліцензії GNU Free Documentation License (GFDL), версії 1.1 або будь-якої старшої версії, що опублікована Free Software Foundation без інваріантних розділів, тексту титульної сторінки, та тексту фінальної сторінки. Копію GFDL можна знайти <ulink type=\"help\" url=\"ghelp:fdl\">за адресою</ulink> або у файлі 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: <placeholder-1/>"
+msgstr "ДОКУМЕНТ ТА ЗМІНЕНІ ВЕРСІЇ ЦЬОГО ДОКУМЕНТУ ПОСТАЧАЮТЬСЯ НА УМОВАХ ВІЛЬНОЇ ЛІЦЕНЗІЇ ДЛЯ ДОКУМЕНТАЦІЇ GNU З ПОДАЛЬШИМ РОЗУМІННЯМ ЩО: <placeholder-1/>"
+
+#. 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)
+
+#: ../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)
+
+#: ../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)
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Sun Команда документування MATE <email>[email protected]</email>"
+
+#: ../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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: ../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 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Щоб сповістити про помилку або внести пропозицію відносно програми Переглядач системних журналів або цієї довідки, дотримуйтесь інструкцій на сторінці <ulink url=\"ghelp:mate-feedback\" type=\"help\">Зворотний зв'язок з MATE</ulink>."
+
+#: ../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 "<application>System Log Viewer</application> is a graphical, menu-driven viewer that you can use to view and monitor your system logs. <application>System Log Viewer</application> comes with a few functions that can help you manage your logs, including a calendar, log monitor and log statistics display."
+msgstr "<application>Переглядач системних журналів</application> - графічна програма,яку можна використовувати для перегляду та контролю системних журналів. <application>Переглядач системних журналів</application> має нові функції, які можуть допомогти у слідкуванні за журналами, це - календар, монітор журналу та відображення статистики."
+
+#: ../C/mate-system-log.xml:187(para)
+msgid "<application>System Log Viewer</application> 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 "Програма <application>Переглядач системних журналів</application> корисна для початківців у системному адмініструванні, вона має простий, більш дружній до користувача інтерфейс ніж перегляд журналу у звичайному текстовому вигляді. Також вона корисна і досвідченим системним адміністраторам, оскільки допомагає знаходити тенденції та відслідковувати напрямок проблем, та дозволяє безперервно слідкувати за критичними журналами."
+
+#: ../C/mate-system-log.xml:197(para)
+msgid "<application>System Log Viewer</application> is useful only to those who have access to the system log files, which generally requires root access."
+msgstr "Для правильної роботи програма <application>Переглядач системних журналів</application> повинна мати доступ до файлів системних журналів, що зазвичай вимагає привілей адміністратора (root)."
+
+#: ../C/mate-system-log.xml:204(title)
+msgid "Getting Started"
+msgstr "Початок роботи"
+
+#: ../C/mate-system-log.xml:206(para)
+msgid "You can start <application>System Log Viewer</application> in the following ways:"
+msgstr "Програму <application>Переглядач системних журналів</application> можна запустити наступними способами:"
+
+#: ../C/mate-system-log.xml:210(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "З меню <guimenu>Програми</guimenu>"
+
+#: ../C/mate-system-log.xml:212(para)
+msgid "Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>System Log</guimenuitem></menuchoice>."
+msgstr "Виберіть <menuchoice><guisubmenu>Адміністрування</guisubmenu><guimenuitem>Системний журнал</guimenuitem></menuchoice>."
+
+#: ../C/mate-system-log.xml:216(term)
+msgid "Command line"
+msgstr "Командний рядок"
+
+#: ../C/mate-system-log.xml:218(para)
+msgid "Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr "Наберіть <command>mate-system-log</command> та натисніть <keycap>Enter</keycap>."
+
+#: ../C/mate-system-log.xml:225(para)
+msgid "When you start <application>System Log Viewer</application>, the following window is displayed."
+msgstr "Після запуску програми <application>Переглядач системних журналів</application> відобразиться наступне вікно."
+
+#: ../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 <application>System Log Viewer</application>, the application displays several log files by default (such as <filename>/var/log/messages</filename>). 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 "При першому запуску програми <application>Переглядач системних журналів</application> відображаються декілька файлів (такі як <filename>/var/log/messages</filename>). Відкриті журнали перелічені у лівій частині вікна програми. Вибраний у цьому списку журнал відображається у у головній частині вікна програми."
+
+#: ../C/mate-system-log.xml:250(para)
+msgid "By default, <application>System Log Viewer</application> monitors every opened log, and any change appears automatically in the main window. See <xref linkend=\"syslog-monitor\"/> for more information."
+msgstr "С початку програма <application>Переглядач системних журналів</application> слідкує за кожним відкритим журналом, будь-які зміни автоматично з'являються у головному вікні. Докладніше про це у <xref linkend=\"syslog-monitor\"/>."
+
+#: ../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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Open</guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, select the log that you want to open, then click <guibutton>Open</guibutton>. Use the scrollbars to scroll through the log."
+msgstr "Щоб переглянути журнал виберіть <menuchoice><guimenu>Журнал</guimenu><guimenuitem>Відкрити</guimenuitem></menuchoice>. У діалоговому вікні <guilabel>Відкрити журнал</guilabel> виберіть потрібний журнал та натисніть на кнопку <guibutton>Відкрити</guibutton>. Для прокручування журналу користуйтесь смугою прокрутки."
+
+#: ../C/mate-system-log.xml:269(para)
+msgid "You can open as many logs as you want. <application>System Log Viewer</application> displays one log at a time in the <guilabel>System Log Viewer</guilabel> 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 <application>System Log Viewer</application>, select it in the log list."
+msgstr "Можна відкрити будь-яку кількість журналів. <application>Переглядач системних журналів</application> відображає у своєму вікні лише один журнал одночасно. Відкриті журнали перелічені ліворуч у головному вікні програми. Вибраний журнал відображається у головній частині вікна програми. Щоб відобразити інший вже відкритий журнал, виберіть його у списку."
+
+#: ../C/mate-system-log.xml:277(para)
+msgid "Note that <application>System Log Viewer</application> also lets you open zipped logs (whole filenames end in \".gz\")."
+msgstr "Зауважте, що <application>Переглядач системних журналів</application> також дозволяє відкривати стиснені журнали (їх назви файлів закінчуються на \".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 <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you want to copy the entire log to the clipboard, select it entirely using the <menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></menuchoice> menu option, then choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr "Можна скопіювати один або більше рядків у буфер обміну, просто виділіть рядки у головній області вікна та виберіть <menuchoice><guimenu>Правка</guimenu><guimenuitem>Копіювати</guimenuitem></menuchoice>. Якщо у буфер обміну треба скопіювати весь журнал , виділіть весь журнал командою меню <menuchoice><guimenu>Правка</guimenu><guimenuitem>Виділити все</guimenuitem></menuchoice>, потім виберіть <menuchoice><guimenu>Правка</guimenu><guimenuitem>Копіювати</guimenuitem></menuchoice>."
+
+#: ../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 <menuchoice><guimenu>View</guimenu><guimenuitem>Sidebar</guimenuitem></menuchoice> menu option."
+msgstr "Розташовану ліворуч бічну панель, що містить список журналів та календар, можна сховати. Для цього виберіть пункт меню <menuchoice><guimenu>Вигляд</guimenu><guimenuitem>Бічна панель</guimenuitem></menuchoice>."
+
+#: ../C/mate-system-log.xml:303(title)
+msgid "To Monitor Logs"
+msgstr "Додати журнал до списку контрольованих"
+
+#: ../C/mate-system-log.xml:304(para)
+msgid "You can use <application>System Log Viewer</application> to monitor logs. By default, all logs opened in <application>System Log Viewer</application> are monitored for changes. If new lines are added to a log monitored by <application>System Log Viewer</application>, 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 "Програму <application>Перегляд системних журналів</application> можна використовувати для слідкування за журналами. Спочатку зміни відслідковуються в усіх відкритих журналах. Якщо у журнал, за яким ведеться спостереження, додаються нові рядки, назва журналу у списку журналів виділяється жирним шрифтом. Якщо цей журнал відображається у головній області вікна, нові рядки автоматично являться наприкінці журналу, а через п'ять секунд, шрифтове виділення назви журналу у списку буде знято."
+
+#: ../C/mate-system-log.xml:312(para)
+msgid "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>Log</guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check this option again to turn monitoring back on."
+msgstr "Зупинити слідкування за певним журналом можна знявши позначку з пункту меню <menuchoice><guimenu>Журнал</guimenu><guimenuitem>Контролювати</guimenuitem></menuchoice>. Щоб увімкнути слідкування поставте позначку знову."
+
+#: ../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 <application>System Log Viewer</application> 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+msgstr "Календар можна сховати вибравши пункт меню <menuchoice><guimenu>Вигляд</guimenu><guimenuitem>Календар</guimenuitem></menuchoice>."
+
+#: ../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 <menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></menuchoice> option."
+msgstr "Рядок стану можна відобразити чи сховати вибираючи пункт меню <menuchoice><guimenu>Вигляд</guimenu><guimenuitem>Панель стану</guimenuitem></menuchoice>."
+
+#: ../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 <menuchoice><guimenu>Log</guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr "Щоб закрити файл журналу, виберіть <menuchoice><guimenu>Файл</guimenu><guimenuitem>Закрити</guimenuitem></menuchoice>."
+
+#: ../C/mate-system-log.xml:355(title)
+msgid "To Exit System Log Viewer"
+msgstr "Завершення програми \"Переглядач системних журналів\""
+
+#: ../C/mate-system-log.xml:356(para)
+msgid "To exit <application>System Log Viewer</application>, choose <menuchoice><guimenu>Log</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>."
+msgstr "Щоб завершити програму <application>Переглядач системних журналів</application> виберіть <menuchoice><guimenu>Файл</guimenu><guimenuitem>Вийти</guimenuitem></menuchoice>."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: ../C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "Максим Дзюманенко <[email protected]>"
+
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 <[email protected]>, 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 <[email protected]>\n"
+"Language-Team: Chinese (simplified) <[email protected]>\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 <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"对于本文档的复制、分发和/或修改必须遵循自由软件基金会 (Free Software "
+"Foundation) 发布的 GNU 自由文档许可证 (GFDL) 版本 1.1 或更高版本,该许可证没"
+"有固定的部分、没有封面和背页文本。您可以在此<ulink type=\"help\" url=\"ghelp:"
+"fdl\">链接</ulink>上或在随本手册一起分发的 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: "
+"<placeholder-1/>"
+msgstr ""
+"本文档以及文档的修改版本都是在遵循 GNU 自由文档许可证的条款下提供,这表示具有"
+"以下含义: <placeholder-1/>"
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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)
+
+#: 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 <email>[email protected]</email>"
+msgstr "Paul Cutler <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Vincent Noel <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Sun MATE Documentation Team <email>[email protected]</email>"
+
+#: 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 <email>[email protected]</email>"
+msgstr "Judith Samson <email>[email protected]</email>"
+
+#: 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 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"要报告关于系统日志查看器或本手册的错误或提出建议,请参照 <ulink url=\"ghelp:"
+"mate-feedback\" type=\"help\">MATE 反馈页</ulink> 中的指导。"
+
+#: 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 ""
+"<application>System Log Viewer</application> is a graphical, menu-driven "
+"viewer that you can use to view and monitor your system logs. "
+"<application>System Log Viewer</application> comes with a few functions that "
+"can help you manage your logs, including a log monitor and log statistics "
+"display."
+msgstr ""
+"<application>系统日志查看器</application> 是一个图形的,菜单模式的查看器,您"
+"可以使用它查看和监视您的系统日志。<application>系统日志查看器</application> "
+"带有许多功能可以帮助您管理日志,包括一个日历、日志监视和日志状态显示。"
+
+#: C/mate-system-log.xml:206(para)
+msgid ""
+"<application>System Log Viewer</application> 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 ""
+"<application>系统日志查看器</application> 对于一个新的系统管理员是很有帮助"
+"的,因为它提供了一个比文本显示更简单的,更友好的显示界面。它也对更多富有经验"
+"的管理员很有用处,里面包含的日历可以帮助您定位和跟踪错误,也可以使用监视器来"
+"连续监测关键日志。"
+
+#: C/mate-system-log.xml:215(para)
+msgid ""
+"<application>System Log Viewer</application> is useful only to those who "
+"have access to the system log files, which generally requires root access."
+msgstr ""
+"<application>系统日志查看器</application> 仅仅对那些通常需要管理员权限的,要"
+"访问系统日志文件的用户有用。"
+
+#: C/mate-system-log.xml:222(title)
+msgid "Getting Started"
+msgstr "快速入门"
+
+#: C/mate-system-log.xml:224(para)
+msgid ""
+"You can start <application>System Log Viewer</application> in the following "
+"ways:"
+msgstr "您可以用下面的方法启动 <application>系统日志查看器</application>:"
+
+#: C/mate-system-log.xml:228(term)
+msgid "<guimenu>Applications</guimenu> menu"
+msgstr "<guimenu>应用程序</guimenu> 菜单"
+
+#: C/mate-system-log.xml:230(para)
+msgid ""
+"Choose <menuchoice><guisubmenu>System Tools</guisubmenu><guimenuitem>Log "
+"File Viewer</guimenuitem></menuchoice>."
+msgstr ""
+"选择 <menuchoice><guisubmenu>系统工具</guisubmenu><guimenuitem>日志查看器</"
+"guimenuitem></menuchoice>。"
+
+#: C/mate-system-log.xml:234(term)
+msgid "Command line"
+msgstr "命令行"
+
+#: C/mate-system-log.xml:236(para)
+msgid ""
+"Type <command>mate-system-log</command>, then press <keycap>Return</keycap>."
+msgstr ""
+"输入 <command>mate-system-log</command>,然后按一下 <keycap>回车键</"
+"keycap>。"
+
+#: C/mate-system-log.xml:243(para)
+msgid ""
+"When you start <application>System Log Viewer</application>, the following "
+"window is displayed."
+msgstr ""
+"当您启动了 <application>系统日志查看器</application>,会出来下面的窗口。"
+
+#: 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 <application>System Log Viewer</application>, the "
+"application displays several log files by default (such as <filename>/var/"
+"log/messages</filename>). 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 ""
+"第一次启动 <application>系统日志查看器</application>,程序默认打开几个日志文"
+"件(像 <filename>/var/log/messages</filename>)。打开的日志列出在左边的侧栏里。"
+"选中的日志显示在主窗口的工作区域里。"
+
+#: C/mate-system-log.xml:268(para)
+msgid ""
+"By default, <application>System Log Viewer</application> monitors every "
+"opened log, and any change appears automatically in the main window. See "
+"<xref linkend=\"syslog-monitor\"/> for more information."
+msgstr ""
+"默认地,<application>系统日志查看器</application> 监视每个打开的日志,任何变"
+"化会自动出现在主窗口中,更多相关信息,请参阅:<xref linkend=\"syslog-monitor"
+"\"/>。"
+
+#: 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 <menuchoice><guimenu>File</guimenu><guimenuitem>Open</"
+"guimenuitem></menuchoice>. In the <guilabel>Open Log</guilabel> dialog, "
+"select the log that you want to open, then click <guibutton>Open</"
+"guibutton>. Use the scrollbars to scroll through the log."
+msgstr ""
+"要查看一个日志,点菜单 <menuchoice><guimenu>文件</guimenu><guimenuitem>打开</"
+"guimenuitem></menuchoice> 命令,在出来的 <guilabel>打开日志</guilabel> 对话框"
+"里,选择您想打开的日志,然后点 <guibutton>打开</guibutton> 按钮,使用滚动条来"
+"翻页。"
+
+#: C/mate-system-log.xml:287(para)
+msgid ""
+"You can open as many logs as you want. <application>System Log Viewer</"
+"application> displays one log at a time in the <guilabel>System Log Viewer</"
+"guilabel> 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 "
+"<application>System Log Viewer</application>, select it in the log list."
+msgstr ""
+"您可以根据需要打开多个日志。<application>系统日志查看器</application> 在主窗"
+"口中每次显示一个日志。打开的日志列出在左边侧栏中。选中的日志内容列出在主窗口"
+"区域里。要查看其它打开的日志,只要在日志列表里选中即可。"
+
+#: C/mate-system-log.xml:295(para)
+msgid ""
+"Note that <application>System Log Viewer</application> also lets you open "
+"zipped logs (whole filenames end in \".gz\")."
+msgstr ""
+"注意,<application>系统日志查看器</application> 也允许您打开压缩格式日志(文件"
+"名以“.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 <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice> menu option. If you "
+"want to copy the entire log to the clipboard, select it entirely using the "
+"<menuchoice><guimenu>Edit</guimenu><guimenuitem>Select All</guimenuitem></"
+"menuchoice> menu option, then choose <menuchoice><guimenu>Edit</"
+"guimenu><guimenuitem>Copy</guimenuitem></menuchoice>."
+msgstr ""
+"要复制一条或多条日志到剪贴板,只要在主窗口里选中它,然后点菜单 "
+"<menuchoice><guimenu>编辑</guimenu><guimenuitem>复制</guimenuitem></"
+"menuchoice> 命令。如果您想复制整个日志到剪贴板,点菜单 <menuchoice><guimenu>"
+"编辑</guimenu><guimenuitem>全选</guimenuitem></menuchoice> 命令,然后再点 "
+"<menuchoice><guimenu>编辑</guimenu><guimenuitem>复制</guimenuitem></"
+"menuchoice> 命令。"
+
+#: 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 <menuchoice><guimenu>View</guimenu><guimenuitem>Side pane</"
+"guimenuitem></menuchoice> menu option."
+msgstr ""
+"侧边栏里包含一个日志列表和日历,要隐藏侧边栏,点菜单 <menuchoice><guimenu>查"
+"看</guimenu><guimenuitem>侧边栏</guimenuitem></menuchoice>。"
+
+#: C/mate-system-log.xml:321(title)
+msgid "To Monitor Logs"
+msgstr "监视日志"
+
+#: C/mate-system-log.xml:322(para)
+msgid ""
+"You can use <application>System Log Viewer</application> to monitor logs. By "
+"default, all logs opened in <application>System Log Viewer</application> are "
+"monitored for changes. If new lines are added to a log monitored by "
+"<application>System Log Viewer</application>, 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 ""
+"您可以使用 <application>系统日志查看器</application> 来监视日志变化。默认地,"
+"所有打开的日志都是被监视的。如果增加了新的一行日志,这个日志的名称会加粗显"
+"示。如果是当前显示的日志,新的一行会自动添加到日志结尾,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 "
+"<menuchoice><guimenu>View</guimenu><guimenuitem>Statusbar</guimenuitem></"
+"menuchoice> option."
+msgstr ""
+"状态栏也可以被显示或隐藏,通过 <menuchoice><guimenu>查看</"
+"guimenu><guimenuitem>状态栏</guimenuitem></menuchoice> 菜单选项。"
+
+#: 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 <menuchoice><guimenu>File</"
+"guimenu><guimenuitem>Close</guimenuitem></menuchoice>."
+msgstr ""
+"要关闭一个日志,点菜单 <menuchoice><guimenu>文件</guimenu><guimenuitem>关闭</"
+"guimenuitem></menuchoice> 命令。"
+
+#: C/mate-system-log.xml:357(title)
+msgid "To Exit System Log Viewer"
+msgstr "退出系统日志查看器"
+
+#: C/mate-system-log.xml:358(para)
+msgid ""
+"To exit <application>System Log Viewer</application>, choose "
+"<menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></"
+"menuchoice>."
+msgstr ""
+"要退出 <application>系统日志查看器</application>,点菜单 "
+"<menuchoice><guimenu>文件</guimenu><guimenuitem>退出</guimenuitem></"
+"menuchoice> 命令。"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/mate-system-log.xml:0(None)
+msgid "translator-credits"
+msgstr "TeliuTe <[email protected]>, 2009, 2010"
+
+#~ msgid ""
+#~ "To stop monitoring a specific log, uncheck the <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Monitor</guimenuitem></menuchoice> option. Check "
+#~ "this option again to turn monitoring back on."
+#~ msgstr ""
+#~ "要停止监视指定的日志,不选中菜单 <menuchoice><guimenu>查看</"
+#~ "guimenu><guimenuitem>监视</guimenuitem></menuchoice> 选项,选中它又会重新"
+#~ "监视。 "
+
+#~ msgid "To Use the Calendar"
+#~ msgstr "使用日历"
+
+#~ msgid ""
+#~ "By default, a calendar is displayed in the left side of the "
+#~ "<application>System Log Viewer</application> 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 ""
+#~ "默认地,日历显示在 <application>系统日志查看器</application> 窗口的侧边栏"
+#~ "里,在日志列表的下面。在日历中,当前选中的日志的日期会加粗显示。要跳到指定"
+#~ "的日期,在日历中选择即可。"
+
+#~ msgid ""
+#~ "To hide the calendar, uncheck the <menuchoice><guimenu>View</"
+#~ "guimenu><guimenuitem>Calendar</guimenuitem></menuchoice> menu option."
+#~ msgstr ""
+#~ "要隐藏日历,不选中 <menuchoice><guimenu>查看</guimenu><guimenuitem>日历</"
+#~ "guimenuitem></menuchoice> 菜单选项。"
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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <[email protected]>",
+ "Glynn Foster <[email protected]>",
+ "Fernando Herrera <[email protected]>",
+ "Shakti Sen <[email protected]>",
+ "Julio M Merino Vidal <[email protected]>",
+ "Jason Leach <[email protected]>",
+ "Christian Neumair <[email protected]>",
+ "Jan Arne Petersen <[email protected]>",
+ "Jason Long <[email protected]>",
+ "Kjartan Maraas <[email protected]>",
+ "Vincent Noel <[email protected]>",
+ "Cosimo Cecchi <[email protected]>",
+ NULL
+};
+
+static const char *logview_about_documenters[] = {
+ "Sun MATE Documentation Team <[email protected]>",
+ "Vincent Noel <[email protected]>",
+ "Judith Samson <[email protected]>",
+ 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 <[email protected]>
+ *
+ * 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 <glib/gi18n.h>
+
+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 <[email protected]>
+ *
+ * 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 <glib-object.h>
+
+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 <[email protected]>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include "logview-filter-manager.h"
+#include "logview-prefs.h"
+#include <gtk/gtk.h>
+#include <string.h>
+#include <glib/gi18n.h>
+
+#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", &regex,
+ "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 <[email protected]>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _LOGVIEW_FILTER_MANAGER_H_
+#define _LOGVIEW_FILTER_MANAGER_H_
+
+#include <glib-object.h>
+#include <gtk/gtk.h>
+
+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 <[email protected]>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#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 <[email protected]>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _LOGVIEW_FILTER_H_
+#define _LOGVIEW_FILTER_H_
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+
+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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <gtk/gtk.h>
+#include <glib/gi18n.h>
+#include <gdk/gdkkeysyms.h>
+
+#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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <gtk/gtk.h>
+#include <glib-object.h>
+
+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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <glib.h>
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#ifdef HAVE_ZLIB
+#include <zlib.h>
+#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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <glib-object.h>
+#include <gio/gio.h>
+
+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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <gtk/gtk.h>
+#include <glib/gi18n.h>
+
+#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, &current, -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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <gtk/gtk.h>
+#include <glib-object.h>
+
+#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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <stdlib.h>
+
+#include <glib/gi18n.h>
+#include <glib.h>
+
+#include <gtk/gtk.h>
+
+#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 <[email protected]>
+ *
+ * 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 <glib/gi18n.h>
+
+#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 <[email protected]>
+ *
+ * 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 <glib-object.h>
+
+#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 <[email protected]>
+ * Copyright (C) 2004 Vincent Noel
+ * Copyright (C) 2006 Emmanuele Bassi
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <sys/stat.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <mateconf/mateconf-client.h>
+
+#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", &regex,
+ "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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <time.h>
+#include <string.h>
+#include <stdlib.h>
+#include <math.h>
+
+#include <glib.h>
+
+#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 (&current);
+ 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, &timestamp_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, &timestamp_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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <glib.h>
+
+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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
+#include <glib/gi18n.h>
+
+#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 (&timestamp));
+ 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..."), "<control>O", N_("Open a log from file"),
+ G_CALLBACK (logview_open_log) },
+ { "CloseLog", GTK_STOCK_CLOSE, N_("_Close"), "<control>W", N_("Close this log"),
+ G_CALLBACK (logview_close_log) },
+ { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q", N_("Quit the log viewer"),
+ G_CALLBACK (gtk_main_quit) },
+
+ { "Copy", GTK_STOCK_COPY, N_("_Copy"), "<control>C", N_("Copy the selection"),
+ G_CALLBACK (logview_copy) },
+ { "SelectAll", NULL, N_("Select _All"), "<Control>A", N_("Select the entire log"),
+ G_CALLBACK (logview_select_all) },
+ { "Search", GTK_STOCK_FIND, N_("_Find..."), "<control>F", N_("Find a word or phrase in the log"),
+ G_CALLBACK (logview_search) },
+
+ { "ViewZoomIn", GTK_STOCK_ZOOM_IN, NULL, "<control>plus", N_("Bigger text size"),
+ G_CALLBACK (logview_bigger_text)},
+ { "ViewZoomOut", GTK_STOCK_ZOOM_OUT, NULL, "<control>minus", N_("Smaller text size"),
+ G_CALLBACK (logview_smaller_text)},
+ { "ViewZoom100", GTK_STOCK_ZOOM_100, NULL, "<control>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 ("<b>%s</b>", primary);
+ secondary_markup = g_markup_printf_escaped ("<small>%s</small>",
+ 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 <[email protected]>
+ * Copyright (C) 2008 Cosimo Cecchi <[email protected]>
+ *
+ * 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 <gtk/gtk.h>
+
+#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 <glib.h>
+#include <gio/gio.h>
+
+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;
+}