aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authornavid <navid@ef72aa8b-4018-0410-8976-d6e080ef94d8>2007-11-22 10:40:27 +0000
committernavid <navid@ef72aa8b-4018-0410-8976-d6e080ef94d8>2007-11-22 10:40:27 +0000
commite2ea89dbbe1b1731ba4eda7fbe40ea315594a1c9 (patch)
treeaffd667e6f91c207a1c497ad895f336f0f386f59 /src
parente60df25b9b22ec1bf78d8d95ca7673d559f13333 (diff)
downloadsos-e2ea89dbbe1b1731ba4eda7fbe40ea315594a1c9.tar.gz
merged navid-dev back into trunk, see spec file for details
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/sos/trunk@457 ef72aa8b-4018-0410-8976-d6e080ef94d8
Diffstat (limited to 'src')
-rw-r--r--src/Makefile10
-rwxr-xr-xsrc/extras/htmlog473
-rw-r--r--src/extras/sos-html-logs/lib/__init__.py0
-rw-r--r--src/extras/sos-html-logs/lib/helpers.py41
-rw-r--r--src/extras/sos-html-logs/lib/logs_abstraction.py415
-rw-r--r--src/extras/sos-html-logs/lib/parsers/__init__.py0
-rw-r--r--src/extras/sos-html-logs/lib/parsers/crazyclock_parser.py24
-rw-r--r--src/extras/sos-html-logs/lib/parsers/dmapper_parser.py106
-rw-r--r--src/extras/sos-html-logs/lib/parsers/simple_parser.py29
-rw-r--r--src/extras/sos-html-logs/lib/parsers/simple_parser.rules38
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/BabelFish.js58
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/ajaxcontentmws.js181
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/arrow.gifbin0 -> 88 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/calendarmws.js621
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/calendarmws_lang.js700
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/cornerBL.gifbin0 -> 205 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/cornerBR.gifbin0 -> 208 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/cornerTL.gifbin0 -> 207 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/cornerTR.gifbin0 -> 206 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/edgeB.gifbin0 -> 47 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/edgeL.gifbin0 -> 48 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/edgeR.gifbin0 -> 48 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/edgeT.gifbin0 -> 47 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/exit.gifbin0 -> 866 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/flower.gifbin0 -> 4255 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/iframecontentmws.js53
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/license.html265
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/loading.gifbin0 -> 674 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/objectcontentmws.js16
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/oval.gifbin0 -> 3662 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibCompat.js30
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibConfig.txt641
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws.js666
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_bubble.js199
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_crossframe.js44
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_debug.js120
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_draggable.js85
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_exclusive.js58
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_filter.js184
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_function.js44
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_hide.js81
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_iframe.js93
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_modal.js149
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_overtwo.js129
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_print.js141
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_regCore.js75
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_scroll.js70
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmws_shadow.js113
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/overlibmwslogo.gifbin0 -> 1403 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/print.gifbin0 -> 866 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/pushpin.gifbin0 -> 1854 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/quotation.gifbin0 -> 1080 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/semitrans.gifbin0 -> 757 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/showCalendar.gifbin0 -> 200 bytes
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/sprintf.js133
-rw-r--r--src/extras/sos-html-logs/share/html/overlib/square.gifbin0 -> 2580 bytes
-rwxr-xr-xsrc/extras/sos-html-logs/sos-html-logs670
-rwxr-xr-xsrc/extras/sysreport/functions4
-rwxr-xr-xsrc/extras/sysreport/sysreport.legacy104
-rw-r--r--src/lib/sos/plugins/cluster.py10
-rw-r--r--src/lib/sos/plugins/general.py2
-rw-r--r--src/lib/sos/plugins/kdump.py30
-rw-r--r--src/lib/sos/plugins/kernel.py2
-rw-r--r--src/lib/sos/plugins/systemtap.py9
-rw-r--r--src/lib/sos/plugintools.py14
-rwxr-xr-xsrc/lib/sos/policyredhat.py63
-rw-r--r--src/locale/af/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/am/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/as/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/be/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/bg/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/bn/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/bn_IN/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/bs/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/ca/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/cs/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/cy/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/da/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/de/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/el/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/en_GB/LC_MESSAGES/sos.po190
-rw-r--r--src/locale/es/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/et/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/eu_ES/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/fa/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/fi/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/fr/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/gl/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/gu/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/he/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/hi/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/hr/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/hu/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/hy/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/id/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/ilo/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/is/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/it/LC_MESSAGES/sos.po140
-rw-r--r--src/locale/ja/LC_MESSAGES/sos.po191
-rw-r--r--src/locale/ka/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/kn/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/ko/LC_MESSAGES/sos.po191
-rw-r--r--src/locale/ku/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/lo/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/lt/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/lv/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/mk/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/ml/LC_MESSAGES/sos.po191
-rw-r--r--src/locale/mr/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/ms/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/my/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/nb/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/nl/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/nn/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/no/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/nso/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/or/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/pa/LC_MESSAGES/sos.po191
-rw-r--r--src/locale/pl/LC_MESSAGES/sos.po188
-rw-r--r--src/locale/pt/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/pt_BR/LC_MESSAGES/sos.po188
-rw-r--r--src/locale/ro/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/ru/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/si/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/sk/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/sl/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/sq/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/sr/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/sr@latin/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/sv/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/ta/LC_MESSAGES/sos.po190
-rw-r--r--src/locale/te/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/th/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/tr/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/uk/LC_MESSAGES/sos.po178
-rw-r--r--src/locale/ur/LC_MESSAGES/sos.po176
-rw-r--r--src/locale/vi/LC_MESSAGES/sos.po177
-rw-r--r--src/locale/zh_CN/LC_MESSAGES/sos.po192
-rw-r--r--src/locale/zh_TW/LC_MESSAGES/sos.po190
-rw-r--r--src/locale/zu/LC_MESSAGES/sos.po176
-rw-r--r--src/setup.py2
-rw-r--r--src/sos-internal.spec43
-rw-r--r--src/sos.conf14
-rw-r--r--src/sos.spec57
-rwxr-xr-xsrc/sosreport21
145 files changed, 19721 insertions, 683 deletions
diff --git a/src/Makefile b/src/Makefile
index bcfa5324..37c384bc 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -74,6 +74,16 @@ internal-rpm: gpgkey
@test -f sos-internal.spec
@mkdir -p $(TOPDIR)/SOURCES $(TOPDIR)/SRPMS $(TOPDIR)/RPMS $(TOPDIR)/BUILD $(SRCDIR)/dist
cp gpgkeys/rhsupport.pub gpgkeys/rhsupport.key $(TOPDIR)/SOURCES
+
+# this builds an RPM from the current working copy
+ @cd $(TOPDIR)/BUILD ; \
+ rm -rf $(NAME)-$(VERSION) ; \
+ ln -s $(SRCDIR) $(NAME)-$(VERSION) ; \
+ tar --gzip --exclude=.svn --exclude=svn-commit.tmp --exclude=$(NAME)-$(VERSION)/build --exclude=$(NAME)-$(VERSION)/dist \
+ --exclude gpgkeys/rhsupport.pub --exclude gpgkeys/rhsupport.key \
+ -chSpf $(TOPDIR)/SOURCES/$(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION) ; \
+ rm -f $(NAME)-$(VERSION)
+
rpmbuild -ba --define="_topdir $(TOPDIR)" sos-internal.spec
@mv $(TOPDIR)/RPMS/noarch/$(NAME)-internal-*.rpm $(TOPDIR)/SRPMS/$(NAME)-internal-*.rpm dist/
cp gpgkeys/rhsupport.key dist/
diff --git a/src/extras/htmlog b/src/extras/htmlog
deleted file mode 100755
index 87d9e9c1..00000000
--- a/src/extras/htmlog
+++ /dev/null
@@ -1,473 +0,0 @@
-#!/usr/bin/env python
-
-#from optparse import OptionParser, Option
-import time, sys, os, glob
-import getopt, re
-
-#__cmdParser__ = OptionParser()
-#__cmdParser__.add_option("-i", "--input", action="append",
-# dest="logfiles", type="string", metavar = "FILE",
-# help="system log to parse")
-#__cmdParser__.add_option("-v", "--verbose", action="count",
-# dest="verbosity",
-# help="How obnoxious we're being about telling the user what we're doing.")
-#(__cmdLineOpts__, __cmdLineArgs__)=__cmdParser__.parse_args()
-
-class htmlgen_class:
-
- def __init__(self):
- self.html_fname_base = "/tmp/something"
- self.page_num = 0
- self.page_line = 0
- self.page_fp = None
- self.cur_time = None
- self.old_time = None
-
- self.summary_fp = open(self.html_fname_base + ".html", "w")
- self.summary_fp.write("<html><body><ul>")
-
- def new_page(self):
-
- # close previous page
- if self.page_fp:
- self.close_page()
-
- self.page_fp = open( "%s_%d.html" % (self.html_fname_base, self.page_num), "w")
- self.page_num += 1
- self.page_line = 0
-
- self.page_fp.write("""<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
-
-<html>
-<head>
-<title></title>
-<style type="text/css">
-<!--
-
-body {
- font: normal 11px auto "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- color: #4f6b72;
- background: #E6EAE9;
-}
-
-a {
- color: #c75f3e;
-}
-
-#mytable {
- width: 97%;
- padding: 0;
- margin: 0;
-}
-
-caption {
- padding: 0 0 5px 0;
- width: 97%;
- font: italic 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- text-align: right;
-}
-
-th {
- font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- color: #4f6b72;
- letter-spacing: 2px;
- text-transform: uppercase;
- text-align: left;
- padding: 6px 6px 6px 12px;
- background: #a50000 url(images/bg_header.jpg) no-repeat;
- color: white;
-}
-
-th.nobg {
- border-top: 0;
- border-left: 0;
- border-right: 1px solid #C1DAD7;
- background: none;
- color: black;
-}
-
-td {
- border-right: 1px solid #C1DAD7;
- border-bottom: 1px solid #C1DAD7;
- background: #fff;
- padding: 6px 6px 6px 12px;
- color: #4f6b72;
- letter-spacing: -1px;
- white-space:pre-wrap;
- font-family: monospace;
-}
-
-pre {
- white-space: pre-wrap; /* css-3 */
- white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
- white-space: -pre-wrap; /* Opera 4-6 */
- white-space: -o-pre-wrap; /* Opera 7 */
- word-wrap: break-word; /* Internet Explorer 5.5+ */
-}
-
-td.alt {
- background: #ffbaba;
- color: #797268;
-}
-
-th.newday {
- text-align: right;
- padding: 2px;
-}
-
-th.spec {
- border-left: 1px solid #C1DAD7;
- border-right: 1px solid #C1DAD7;
- border-top: 0;
- background: #fff url(images/bullet1.gif) no-repeat;
- font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- color: #797268;
-}
-
-th.specalt {
- border-left: 1px solid #C1DAD7;
- border-right: 1px solid #C1DAD7;
- border-top: 0;
- background: #cecfce url(images/bullet2.gif) no-repeat;
- font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- color: #797268;
-}
-
--->
-</style>
-
-</head>
-<body>
-
-<table id="mytable" cellspacing="0" summary="The technical specifications of the Apple PowerMac G5 series">
-<caption>Generated by SOS htmlogger 1.0 on March 16th 2008</caption>
-""")
-
- def new_line(self, new_time, events = []):
- self.old_time = self.cur_time
- self.cur_time = new_time
-
- # close previous line
- if self.page_line > 0:
- self.page_fp.write("</TR>")
-
- if self.page_line == 0 or self.page_line % 200 == 0:
- self.page_fp.write("""<tr><th scope="col" abbr="Date/Time" class="nobg">Time</th><th scope="col" abbr="node-1">node-1</th><th scope="col" abbr="node-2">node-2</th><th scope="col" abbr="node-3">node-3</th></tr>""")
-
- if self.page_line == 0 or self.page_line % 200 == 0 or time.strftime("%b %d", self.old_time) != time.strftime("%b %d", new_time):
- self.page_fp.write("""<tr><th scope="row" class="newday" colspan=4>%s</th></tr>""" % time.strftime("%A, %B %d", new_time))
-
- if self.page_line % 2 == 0: row_class = "spec"
- else: row_class = "specalt"
-
- if len(events) > 0:
- stime = """<a name="row_%d">%s</a>""" % (self.page_line, time.strftime("%H:%M:%S", new_time))
- for event in events:
- self.summary_fp.write('<li><a href="something_%d.html#row_%s">%s</a>' % (self.page_num-1,self.page_line,event) )
- else:
- stime = time.strftime("%H:%M:%S", new_time)
-
- if not self.old_time or self.old_time != new_time:
- self.page_fp.write("""<TR><th scope="row" class="%s">%s</th>""" % (row_class, stime))
- else:
- self.page_fp.write("""<TR><th scope="row" class="%s" style="color: #cacaca">%s</th>""" % (row_class, stime))
-
- self.page_line+=1
-
- def new_tab(self,msg):
- self.page_fp.write(" <TD>" + msg + "</TD>\n")
-
- def close_page(self):
- self.page_fp.write("</table></html>\n")
- self.page_fp.close()
-
- def finish(self):
- self.close_page()
-
-class host_class:
-
- def __init__(self):
- self.logs = []
-
- self.log_idx = 0 # first log
- self.log_ptr = 0 # first char
-
- self.cur_line = None
-
- def add_log(self, logfile):
-# if not logfile == logfile_class:
-# raise "InvalidLogfile"
-
- for inc in range(0,len(self.logs)):
- if logfile.time_end() < self.logs[inc].time_begin():
- self.logs.insert(inc, logfile)
- break
- else:
- self.logs.append(logfile)
-
- def hostname(self):
- try: return self.logs[0].hostname()
- except: return None
-
- def tell(self):
- sumsize = 0
- if self.log_idx > 0:
- for inc in range(0, self.log_idx):
- sumsize += self.logs[inc].size()
- try:
- sumsize += self.fp().tell()
- except TypeError:
- pass
- return sumsize
-
- def size(self):
- sumsize = 0
- for inc in range(0, len(self.logs)):
- sumsize += self.logs[inc].size()
- return sumsize
-
- def eof(self):
- if self.tell() >= self.size():
- return True
- return False
-
- def seek(self, offset, whence = 0):
- if whence == 1: offset = self.tell() + offset
- elif whence == 2: offset = self.size() + offset
-
- sumsize = 0
- for inc in range(0, len(self.logs)):
- if offset <= sumsize + self.logs[inc].size():
- offset -= sumsize
- self.log_idx = inc
- self.log_ptr = offset
- self.logs[inc].seek(offset)
- return True
- sumsize += self.logs[inc].size()
- raise "Off_Boundaries"
-
- def time(self):
- return time.strptime(self.cur_line[0:15], "%b %d %H:%M:%S")
- pos = self.tell()
- try:
- toret = time.strptime(self.readline()[0:15], "%b %d %H:%M:%S")
- except ValueError:
- toret = None
- self.seek(pos)
- return toret
-
- def fp(self):
- return self.logs[self.log_idx]
-
- def backline(self):
- self.seek(-len(self.cur_line), 1)
-
- def readline(self):
- if self.eof():
- return ""
-
- while True:
- toret = self.fp().readline()
- if len(toret) == 0:
- if self.log_idx < len(self.logs):
- self.log_idx += 1
- self.fp().seek(0)
- continue
- else:
- return ""
-
- if self.validate_line(toret) or toret == "":
- self.cur_line = toret
- return toret
- else:
- print "invalid line"
-
- def validate_line(self, line):
- try:
- time.strptime(line[0:15], "%b %d %H:%M:%S")
- except:
- return False
- return True
-
- def cur_msg(self):
- if not hasattr(self,"_regex_cur_msg"):
- self._regex_cur_msg = re.compile(r"""^.* %s (\S+:.*)$""" % self.hostname())
-
- try: return self._regex_cur_msg.findall(self.cur_line)[0]
- except: return self.cur_line
-
-class logfile_class:
-
- def __init__(self,fname):
- self.events = []
- self.fname = fname
- self.fp = open(fname)
-
- def hostname(self):
- pos = self.fp.tell()
- toret = self.fp.readline()[16:].split(" ")[0]
- self.fp.seek(pos)
- return toret
-
- def time_begin(self):
- pos = self.fp.tell()
- self.fp.seek(0)
- toret = time.strptime(self.fp.readline()[0:15], "%b %d %H:%M:%S")
- self.fp.seek(pos)
- return toret
-
- def time_end(self):
- pos = self.fp.tell()
- bs = 1024
- if self.size() < bs: bs = self.size()
- self.fp.seek(-bs, 2)
- line = self.fp.read(bs)
- toret = time.strptime(line[line.rfind("\n", 0, bs - 1) + 1:][0:15], "%b %d %H:%M:%S")
- self.fp.seek(pos)
- return toret
-
- def size(self):
- return os.path.getsize(self.fname)
-
- def eof(self):
- return self.fp.tell() > self.size()
-
- def readline(self):
- return self.fp.readline()
-
- def seek(self,pos):
- self.fp.seek(pos)
-
- def tell(self):
- return self.fp.tell()
-
- def validate_line(self):
- return self.time_current(self.curmessage())
-
- def time_current(self):
- if len(self.curline) == 0: return None
- try:
- return time.strptime(self.curline[0:15], "%b %d %H:%M:%S")
- except ValueError:
- print "could not parse time", self.curline
- return False
-
-def usage():
- print "ciao"
-
-try:
- opts, args = getopt.getopt(sys.argv[1:], "hi:v", ["help", "input="])
-except getopt.GetoptError:
- # print help information and exit:
- usage()
- sys.exit(2)
-
-cmdline = {}
-cmdline["logfiles"] = []
-
-for o, a in opts:
- if o == "-v":
- verbose = True
- if o in ("-h", "--help"):
- usage()
- sys.exit()
- if o in ("-i", "--input"):
- print o,a
- for fname in sys.argv[2:]:
- cmdline["logfiles"].append(fname)
- sys.stderr.write("adding log %s\n" % fname)
-
-hosts = {}
-
-for logname in cmdline["logfiles"]:
- log = logfile_class(logname)
- hostname = log.hostname()
- sys.stderr.write("log %s for host %s\n" % (logname, hostname))
- if not hosts.has_key(hostname):
- hosts[hostname] = host_class()
- hosts[hostname].add_log(log)
-
-sys.stderr.write("finished adding logs\n")
-
-#print '<ul id="toc">'
-#for log in logs:
-# print logs[idx].fname, logs[idx].events
-# for line, msglen, event in log.events:
-# print ' <li><span>%s</span> <a href="#">Link</a><br /></li>' % event
-
-htmlgen = htmlgen_class()
-
-previous_date = None
-
-while True:
- # who is next ?
- lowest_date = None
- for host in hosts:
- if hosts[host].eof():
- continue
-
- hosts[host].readline()
-
- if lowest_date == None or hosts[host].time() < lowest_date:
- lowest_date = hosts[host].time()
-
- if lowest_date == None:
- # all logs are EOF
- break
-
- events = []
- for host in hosts:
- if hosts[host].time() == lowest_date:
-
- if re.match(r'^kernel: Linux version', hosts[host].cur_msg()):
- events.append("%s rebooted" % host)
-
- elif re.match(r'^.*fencing node', hosts[host].cur_msg()):
- events.append(host + " " + hosts[host].cur_msg())
-
- elif re.match(r'.*fence ".*" success', hosts[host].cur_msg()):
- events.append(host + " " + hosts[host].cur_msg())
-
- elif re.match(r'.*fence ".*" failed', hosts[host].cur_msg()):
- events.append(host + " " + hosts[host].cur_msg())
-
- elif re.match(r'.*quorum lost, blocking activity', hosts[host].cur_msg()):
- events.append(host + " " + hosts[host].cur_msg())
-
- elif re.match(r'.*quorum regained, resuming activity', hosts[host].cur_msg()):
- events.append(host + " " + hosts[host].cur_msg())
-
- elif re.match(r'.*segfault at', hosts[host].cur_msg()):
- events.append(host + " " + hosts[host].cur_msg())
-
- elif not hosts[host].eof():
- hosts[host].backline()
-
- if len(events): print time.strftime("%A %B %d %H:%M:%S", lowest_date), events
-
- if htmlgen.page_line == 0 or htmlgen.page_line > 10000:
- print "creating new page #%d" % htmlgen.page_num
- htmlgen.new_page()
-
- htmlgen.new_line(lowest_date, events)
-
- for host in hosts:
- if hosts[host].time() == lowest_date:
- htmlgen.new_tab(hosts[host].cur_msg())
- else:
- htmlgen.new_tab("")
-
-htmlgen.close_page()
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/extras/sos-html-logs/lib/__init__.py b/src/extras/sos-html-logs/lib/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/__init__.py
diff --git a/src/extras/sos-html-logs/lib/helpers.py b/src/extras/sos-html-logs/lib/helpers.py
new file mode 100644
index 00000000..995cf16b
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/helpers.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+
+def ksort(d, func = None):
+ keys = d.keys()
+ keys.sort(func)
+ return keys
+
+class Memoize:
+ """Memoize(fn) - an instance which acts like fn but memoizes its arguments
+ Will only work on functions with non-mutable arguments
+ """
+ def __init__(self, fn):
+ self.fn = fn
+ self.memo = {}
+ def __call__(self, *args):
+ if not self.memo.has_key(args):
+ self.memo[args] = self.fn(*args)
+ return self.memo[args]
+
+class SQL:
+ def __init__(self):
+ self.dbcon = sqlite.connect(":memory:", check_same_thread=False)
+ self.dbcur = self.dbcon.cursor()
+
+ self.dbcon.execute("create table events(date, host, position, message, css_style)")
+
+ def execute(self, query):
+ return self.dbcon.execute(query)
+
+def color_gradient(src, dst, percent):
+ csrc = [ col for col in src ]
+ cdst = [ col for col in dst ]
+ toret = []
+
+ for inc in range(0,3):
+ toret.append(csrc[inc] + ((cdst[inc] - csrc[inc]) * percent / 100))
+
+ return toret
+
+def rgb_to_hex(rgb):
+ return "%X%X%X" % (rgb[0], rgb[1], rgb[2])
diff --git a/src/extras/sos-html-logs/lib/logs_abstraction.py b/src/extras/sos-html-logs/lib/logs_abstraction.py
new file mode 100644
index 00000000..5708c960
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/logs_abstraction.py
@@ -0,0 +1,415 @@
+#!/usr/bin/env python
+
+import os, sys, time, re, pdb
+from threading import Thread, Lock
+from helpers import *
+from operator import itemgetter
+import traceback
+
+class cluster_class:
+
+ def __init__(self):
+ self.hosts = {}
+ self.index = {}
+ self.daemon_log_counter = []
+ self.parsers = []
+
+ def host_names(self):
+ return ksort(self.hosts)
+
+ def register_parser(self, parser_class):
+ self.parsers.append(parser_class)
+
+ def get_parser(self, parser_name):
+ for parser in self.parsers:
+ if parser.__class__.__name__ == parser_name:
+ return parser
+
+ def get_host(self, host):
+ return self.hosts[host]
+
+ def tell(self):
+ toret = {}
+ for host in self.hosts:
+ toret[host] = self.hosts[host].tell()
+ return toret
+
+ def tell_sum(self):
+ toret = 0
+ for host in self.hosts:
+ toret += self.hosts[host].tell()
+ return toret
+
+ def size(self):
+ toret = 0
+ for host in self.hosts:
+ toret += self.hosts[host].size()
+ return toret
+
+ def seek(self, positions):
+ # make sure positions in argument are valid
+ for host in self.hosts:
+ if host not in positions.keys():
+ print "cannot find", positions
+ raise "Invalid_Positions"
+
+ # seek each host to saved position
+ for host in positions:
+ self.hosts[host].seek(positions[host])
+
+ return True
+
+ def seek_beginning(self):
+ for host in self.hosts:
+ self.hosts[host].seek(0)
+
+ return True
+
+ def add_log(self, logname):
+ log = logfile_class(logname)
+ hostname = log.hostname()
+ sys.stderr.write("""adding log "%s" for host %s\n""" % (logname, hostname))
+ if not self.hosts.has_key(hostname):
+ self.hosts[hostname] = host_class()
+ self.hosts[hostname].add_log(log)
+
+ def get_position_by_date(self, goto_date):
+ try:
+ return self.index[goto_date]["position"]
+ except KeyError:
+ # can't find position in cache, calculate on the fly
+ #
+ for cmp_date in ksort(self.index):
+ if goto_date <= cmp_date:
+ return self.index[cmp_date]["position"]
+ return None
+
+ def parse(self, threaded = False):
+
+ if threaded and (not hasattr(self,"parse_t") or self.parse_t == None):
+ self.parse_t = Thread(target=self.parse, name='parse-thread', args = [True] )
+ self.parse_t.start()
+ return self.parse_t
+
+ print "parsing begins"
+
+ daemon_log_counter = {}
+
+ self.seek_beginning()
+
+ for date in self:
+
+ self.index[date.date] = { "position":date.position, "log_counter":{} }
+
+ for host in self.hosts:
+ self.index[date.date]["log_counter"][host]=0
+
+ try:
+ for log in date[host]:
+ self.index[date.date]["log_counter"][host]+=1
+
+ for parser_class in self.parsers:
+ parser_class.parse_line(date, log)
+
+ # count how many logs per daemon
+ try:
+ daemon_log_counter[log.daemon()]+=1
+ except KeyError:
+ daemon_log_counter[log.daemon()]=1
+
+ except "Eof":
+ # no more logs for this host
+ pass
+
+ self.daemon_log_counter = sorted(daemon_log_counter.items(), key=itemgetter(1), reverse=True)
+
+ print "parsing ends."
+
+ def eof(self):
+ for host in self.hosts:
+ if not self.hosts[host].eof():
+# print "All logs are not EOF yet", host
+ return False
+ print "All logs are EOF!"
+ return True
+
+ def __iter__(self):
+ return self
+
+ def next(self):
+ if self.eof():
+ raise StopIteration
+
+ return log_date_class(cluster = self)
+
+ def instance(self):
+ toret = cluster_class()
+
+ for host in self.hosts:
+ toret.hosts[host] = host_class()
+
+ for log in self.hosts[host].logs:
+ toret.hosts[host].logs.append(logfile_class(log.fname))
+
+ toret.index = self.index
+ toret.daemon_log_counter = self.daemon_log_counter
+ toret.parsers = self.parsers
+
+ return toret
+
+class log_date_class:
+ def __init__(self, cluster):
+ self.cluster = cluster
+ self.date = None
+ self.hosts = cluster.hosts.keys()
+
+ self.position = cluster.tell()
+
+ newtime = None
+
+ # 1st run, must find out what is the oldest date for each host
+ for host in self.hosts:
+ while True:
+ try:
+ newtime = time.strptime("2007 " + cluster.hosts[host].readline()[0:15], "%Y %b %d %H:%M:%S")
+ except "Eof":
+ break
+ except ValueError:
+ print "parsing error in line", cluster.hosts[host].tell()
+ else:
+ break
+
+ if newtime:
+ if not self.date or newtime < self.date:
+ self.date = newtime
+
+ if not cluster.hosts[host].eof():
+ cluster.hosts[host].backline()
+
+ # this should almost never happen, but just in case.
+ if not self.date:
+ raise "Strange_Eof"
+
+ def __str__(self):
+ return time.strftime("%b %d %H:%M:%S", self.date)
+
+ def __getitem__(self, host):
+ return log_date_host(self.cluster, self.cluster.hosts[host], self.date)
+
+ def __iter__(self):
+ return self
+
+class log_date_host:
+ def __init__(self, cluster, host, date):
+ self.cluster = cluster
+ self.host = host
+ self.date = date
+
+ self.parent_date = date
+
+ def __iter__(self):
+ return self
+
+ def next(self):
+ position = self.host.tell()
+
+ self.host.readline()
+
+ try:
+ if time.strptime("2007 " + self.host.cur_line[0:15], "%Y %b %d %H:%M:%S") <= self.date:
+ return log_line_class(self.parent_date, self.host, position, self.host.cur_line)
+ except:
+ return log_line_class(self.parent_date, self.host, position, self.host.cur_line)
+
+ self.host.backline()
+
+ raise StopIteration
+
+class log_line_class:
+ def __init__(self, date, host, position, line):
+ self.host = host
+ self.position = position
+ self.line = line
+ self.parse = Memoize(self.parse_uncached)
+
+ self.parent_date = date
+ self.parent_host = host
+
+ def parse_uncached(self):
+ try:
+ return re.findall(r"""^(... .. ..:..:..) %s ([-_0-9a-zA-Z \.\/\(\)]+)(\[[0-9]+\])?(:)? (.*)$""" % self.hostname(), self.line)[0]
+ except:
+ return [ None, None, None, None, None ]
+
+ def __str__(self):
+ return self.line
+
+ def date(self):
+ try:
+ return time.strptime("2007 " + self.line[0:15], "%Y %b %d %H:%M:%S")
+ except:
+ return False
+
+ def hostname(self):
+ return self.line[16:].split(" ", 1)[0]
+
+ def daemon(self):
+ return self.parse()[1]
+
+ def message(self):
+ return self.parse()[4]
+
+class host_class:
+
+ def __init__(self):
+ self.logs = []
+
+ self.log_idx = 0 # first log
+ self.log_ptr = 0 # first char
+
+ self.cur_line = None
+
+ def __str__(self):
+ return self.hostname()
+
+ def add_log(self, logfile):
+
+ for inc in range(0,len(self.logs)):
+ if logfile.time_end() < self.logs[inc].time_begin():
+ self.logs.insert(inc, logfile)
+ break
+ else:
+ self.logs.append(logfile)
+
+ def hostname(self):
+ return self.logs[0].hostname()
+# try: return self.logs[0].hostname()
+# except: return None
+
+ def tell(self):
+ sumsize = 0
+ if self.log_idx > 0:
+ for inc in range(0, self.log_idx):
+ sumsize += self.logs[inc].size()
+ try:
+ sumsize += self.fp().tell()
+ except TypeError:
+ pass
+ return sumsize
+
+ def size(self):
+ sumsize = 0
+ for inc in range(0, len(self.logs)):
+ sumsize += self.logs[inc].size()
+ return sumsize
+
+ def eof(self):
+ if self.tell() >= self.size():
+ return True
+ return False
+
+ def seek(self, offset, whence = 0):
+ if whence == 1: offset = self.tell() + offset
+ elif whence == 2: offset = self.size() + offset
+
+ sumsize = 0
+ for inc in range(0, len(self.logs)):
+ if offset <= sumsize + self.logs[inc].size():
+ offset -= sumsize
+ self.log_idx = inc
+ self.log_ptr = offset
+ self.logs[inc].seek(offset)
+ return True
+ sumsize += self.logs[inc].size()
+ raise "Off_Boundaries"
+
+ def seek_and_read(self, offset, whence = 0):
+ self.seek(offset, whence)
+ return self.readline()
+
+ def time(self):
+ return time.strptime("2007 " + self.cur_line[0:15], "%Y %b %d %H:%M:%S")
+
+ def fp(self):
+ return self.logs[self.log_idx]
+
+ def backline(self):
+ self.seek(-len(self.cur_line), 1)
+
+ def readline(self):
+ if self.eof():
+ raise "Eof"
+
+ while True:
+ position = self.fp().tell()
+ fromfile = self.fp().fname
+ toret = self.fp().readline()
+ if len(toret) == 0:
+ if self.log_idx < len(self.logs):
+ self.log_idx += 1
+ self.fp().seek(0)
+ continue
+ else:
+ return ""
+
+ if len(toret) > 0 or toret == "":
+ self.cur_line = toret
+ self.cur_file = fromfile
+ self.cur_pos = position
+ return toret
+ else:
+ print "invalid line", toret
+
+class logfile_class:
+
+ def __init__(self,fname):
+ self.fname = fname
+ self.fp = open(fname)
+
+ def hostname(self):
+ pos = self.fp.tell()
+ self.seek(0)
+ toret = self.fp.readline()[16:].split(" ")[0]
+ self.fp.seek(pos)
+ return toret
+
+ def time_begin(self):
+ pos = self.fp.tell()
+ self.fp.seek(0)
+ toret = time.strptime(self.fp.readline()[0:15], "%b %d %H:%M:%S")
+ self.fp.seek(pos)
+ return toret
+
+ def time_end(self):
+ pos = self.fp.tell()
+ bs = 1024
+ if self.size() < bs: bs = self.size()
+ self.fp.seek(-bs, 2)
+ buf = self.fp.read(bs)
+ bufsplit = buf.split("\n")
+ bufsplit.reverse()
+ for line in bufsplit:
+ if len(line) == 0: continue
+ try: toret = time.strptime(line[0:15], "%b %d %H:%M:%S")
+ except ValueError: print "Error in conversion"; continue
+ else: break
+ self.fp.seek(pos)
+ return toret
+
+ def size(self):
+ return os.path.getsize(self.fname)
+
+ def eof(self):
+ return self.fp.tell() > self.size()
+
+ def readline(self):
+ return self.fp.readline()
+
+ def seek(self,pos):
+# if cmdline["verbose"]:
+# print "seeking to position %d for file %s" % (pos, self.fname)
+# traceback.print_stack()
+ self.fp.seek(pos)
+
+ def tell(self):
+ return self.fp.tell()
diff --git a/src/extras/sos-html-logs/lib/parsers/__init__.py b/src/extras/sos-html-logs/lib/parsers/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/parsers/__init__.py
diff --git a/src/extras/sos-html-logs/lib/parsers/crazyclock_parser.py b/src/extras/sos-html-logs/lib/parsers/crazyclock_parser.py
new file mode 100644
index 00000000..3e794a6f
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/parsers/crazyclock_parser.py
@@ -0,0 +1,24 @@
+import time
+import soshtmllogs.parsers_base as parsers_base
+
+class crazyclock_Parser(parsers_base.base_Parser_class):
+
+ def initialize(self):
+ # in this dict, we store the last date for each host
+ self.last_date = {}
+
+ def parse_line(self, date, log):
+
+ if date.date != log.date():
+ self.add_event(log, "Time skew (%d seconds in the past)" % int(time.mktime(date.date) - time.mktime(log.date())), "color:purple; background-color:yellow")
+
+ self.last_date[log.parent_host] = log.date()
+
+ return
+
+ def analyse_line(self, log):
+
+ yield """The following line matched the rule:<BR>"""
+ yield """<DIV STYLE="margin-top: 10px; padding: 10px 10px 10px 10px; margin-bottom: 10px; background-color: white; border: 1px dotted black;">%s</B></DIV>""" % log.line
+
+ yield "The logged time for this message is before the one for the previous message appearing in the log."
diff --git a/src/extras/sos-html-logs/lib/parsers/dmapper_parser.py b/src/extras/sos-html-logs/lib/parsers/dmapper_parser.py
new file mode 100644
index 00000000..279df50e
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/parsers/dmapper_parser.py
@@ -0,0 +1,106 @@
+import re
+import soshtmllogs.parsers_base as parsers_base
+
+class dmapper_Parser(parsers_base.base_Parser_class):
+ default_css = "color:black; background-color:orange; font-size:larger"
+
+ def initialize(self):
+ self.db.execute("create table dmapper(disk PRIMARY KEY, host INTEGER, channel INTEGER, id INTEGER, lun INTEGER)")
+
+ def parse_line(self, date, logline):
+
+ # kernel: sd 1:0:0:49152: Attached scsi disk sdt
+ found = re.findall(r"""^sd (.+):(.+):(.+):(.+): Attached scsi disk (.+)$""", logline.message())
+ if found:
+ # we can learn a little about the layout
+ found = found[0]
+ self.db.execute("""replace into dmapper(disk,host,channel,id,lun) values ("%s",%d,%d,%d,%d)"""
+ % (found[4], int(found[0]), int(found[1]), int(found[2]), int(found[3]))
+ )
+
+ found = re.findall(r"""^Attached scsi disk (.+) at scsi(.+), channel (.+), id (.+), lun (.+)$""", logline.message())
+ if found:
+ # we can learn a little about the layout
+ found = found[0]
+ self.db.execute("""replace into dmapper(disk,host,channel,id,lun) values ("%s",%d,%d,%d,%d)"""
+ % (found[0], int(found[1]), int(found[2]), int(found[3]), int(found[4]))
+ )
+
+ #Nov 7 12:55:38 itrac415 kernel: SCSI error : <2 0 3 0> return code = 0x20000
+ found = re.findall(r"""^SCSI error : <(.+)> return code = (.+)$""", logline.message())
+ if found:
+ found = found[0]
+ scsi_address_split = [ int(sid) for sid in found[0].split(" ") ]
+ results = self.db.execute_and_fetch("select disk from dmapper where host = %d AND channel = %d AND id = %d AND lun = %d" %
+ (scsi_address_split[0], scsi_address_split[1], scsi_address_split[2], scsi_address_split[3])
+ )
+ for row in results: found[0] = row["disk"]
+ self.add_event(logline, "SCSI error on %s - %s" % (found[0], self._get_did_error(found[1])), self.default_css)
+ return
+
+ found = re.findall(r"""^end_request: I/O error, dev (.*), sector .*$""", logline.message())
+ if found:
+ self.add_event(logline, "I/O error on %s" % (found[0]), self.default_css)
+ return
+
+ if logline.daemon() != "multipathd":
+ return
+
+ found = re.findall(r"""(.*): mark as failed$""", logline.message())
+ if found:
+ disk = self._get_disk_from_majmin(found[0])
+ self.add_event(logline, "Multipath path %s (%s) failed" % (found[0], disk), self.default_css)
+ return
+
+ found = re.findall(r"""(.*): reinstated$""", logline.message())
+ if found:
+ disk = self._get_disk_from_majmin(found[0])
+ self.add_event(logline, "Multipath path %s (%s) reinstated" % (found[0], disk), self.default_css)
+ return
+
+ return
+
+ def _get_disk_from_majmin(self, majmin):
+ major, minor = majmin.split(":")
+ major, minor = int(major), int(minor)
+
+ block_majors = [8, 65, 66, 67, 68, 69, 70, 71, 128, 129, 130, 131, 132, 133, 134, 135]
+
+ disk = (block_majors.index(major) * 16) + int(minor / 16)
+ partition = minor % 16
+
+ # 97 = ord('a')
+ # 25 = ord('z') - ord('a')
+
+ rchar = chr(97 + (disk % 25))
+
+ if disk > 25:
+ lchar = chr(97 - 1 + int(disk / 25))
+ rchar = chr(ord(rchar)-1)
+ else:
+ lchar = ""
+
+ return "sd" + lchar + rchar
+
+ def _get_did_error(self, hexerr):
+ # hexherr = 0x20000
+
+ if not hexerr.startswith("0x"):
+ return "Unknown error code (%s)" % hexerr
+
+ err = hexerr[2]
+
+ if err == "0": return "DID_OK (NO error)"
+ if err == "1": return "DID_NO_CONNECT (Couldn\\'t connect before timeout period)"
+ if err == "2": return "DID_BUS_BUSY (BUS stayed busy through time out period)"
+ if err == "3": return "DID_TIME_OUT (TIMED OUT for other reason)"
+ if err == "4": return "DID_BAD_TARGET (BAD target)"
+ if err == "5": return "DID_ABORT (Told to abort for some other reason)"
+ if err == "6": return "DID_PARITY (Parity error)"
+ if err == "7": return "DID_ERROR (Internal error)"
+ if err == "8": return "DID_RESET (Reset by somebody)"
+ if err == "9": return "DID_BAD_INTR (Got an interrupt we weren't expecting)"
+ if err == "a": return "DID_PASSTHROUGH (Force command past mid-layer)"
+ if err == "b": return "DID_SOFT_ERROR (The low level driver just wish a retry)"
+ if err == "c": return "DID_IMM_RETRY (Retry without decrementing retry count)"
+ if err == "d": return "DID_REQUEUE (Requeue command (no immediate retry) also without decrementing the retry count)"
diff --git a/src/extras/sos-html-logs/lib/parsers/simple_parser.py b/src/extras/sos-html-logs/lib/parsers/simple_parser.py
new file mode 100644
index 00000000..9beb10f8
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/parsers/simple_parser.py
@@ -0,0 +1,29 @@
+import ConfigParser, re
+import soshtmllogs.parsers_base as parsers_base
+
+class simple_Parser(parsers_base.base_Parser_class):
+
+ def initialize(self):
+ self.config = ConfigParser.ConfigParser()
+ self.config.readfp(open('/usr/lib/python2.4/site-packages/soshtmllogs/parsers/simple_parser.rules'))
+
+ def parse_line(self, date, log):
+
+ for section in self.config.sections():
+ match = False
+
+ if self.config.has_option(section, "find"):
+ if log.line.find(self.config.get(section, "find")) >= 0:
+ match = True
+ elif self.config.has_option(section, "regex"):
+ if re.match(self.config.get(section, "regex"), log.line):
+ match = True
+
+ if not match:
+ continue
+
+ self.add_event(log, section, "color:green; background-color:yellow; font-size:larger")
+
+ return
+
+ return None
diff --git a/src/extras/sos-html-logs/lib/parsers/simple_parser.rules b/src/extras/sos-html-logs/lib/parsers/simple_parser.rules
new file mode 100644
index 00000000..724fbfa8
--- /dev/null
+++ b/src/extras/sos-html-logs/lib/parsers/simple_parser.rules
@@ -0,0 +1,38 @@
+[Syslog restart (possible system restart)]
+regex = .*syslogd .*: restart.$
+
+[System reboot]
+regex = ^kernel: Linux version
+
+[Fencing node]
+regex = ^.*fencing node
+
+[Fencing node succeeded]
+regex = .*fence ".*" success
+
+[Fencing node failed]
+regex = .*fence ".*
+
+[Quorum lost]
+find = quorum lost, blocking activity
+
+[Quorum regained]
+find = quorum regained, resuming activity
+
+[Segmentation fault]
+find = segfault at
+
+[Inittab reloaded]
+find = Re-reading inittab
+
+[Init line respawning too fast]
+find = respawning too fast: disabled for
+
+[Ext3 file-system error]
+find = EXT3-fs error
+
+[File-system remounted read-only]
+find = Remounting filesystem read-only
+
+[Shutting down]
+find = shutdown: shutting down
diff --git a/src/extras/sos-html-logs/share/html/overlib/BabelFish.js b/src/extras/sos-html-logs/share/html/overlib/BabelFish.js
new file mode 100644
index 00000000..ed45ecfc
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/BabelFish.js
@@ -0,0 +1,58 @@
+/*
+ BabelFish.js - Script for using the AltaVista BabelFish translation service.
+ Adapted by Foteos Macrides for use with the overlibmws code set.
+ See http://www.macridesweb.com/oltest/BabelFish.html for a demonstration.
+ Initial: October 26, 2003 - Last Revised: April 17, 2004
+*/
+OLtrans_en = new Image();
+OLtrans_en.src = "http://babelfish.altavista.com/static/i/af/trans_en.gif"
+OLtrans_en_off = new Image();
+OLtrans_en_off.src = "http://babelfish.altavista.com/static/i/af/trans_en_off.gif"
+
+var OLbfURL = location.href;
+
+if (location.href.indexOf("babelfish.altavista.com") == -1) {
+var BabelFish =
+'<div class="babelfish">'
++'<p align="center"><strong>Note:</strong> This page can be viewed in a different language by '
++'selecting the corresponding flag below.</p>'
++'<p align="center">'
++'<!--script type="text/javascript" src="http://www.altavista.com/r?entr"></script-->'
++'<Map name="translate_eng">'
++'<AREA COORDS="0,1,129,38" SHAPE="rect" target="translate" '
++'title="Go to Babel Fish home page/" '
++'href="http://babelfish.altavista.com">'
++'<AREA COORDS="5,110,32,126" SHAPE="rect" target="translate" '
++'title="Translate English to Chinese." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_zh">'
++'<AREA COORDS="38,110,65,126" SHAPE="rect" target="translate" '
++'title="Translate English to German." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_de">'
++'<AREA COORDS="70,110,95,126" SHAPE="rect" target="translate" '
++'title="Translate English to Japanese." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_ja">'
++'<AREA COORDS="99,110,123,126" SHAPE="rect" target="translate" '
++'title="Translate English to Korean." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_ko">'
++'<AREA COORDS="8,130,31,146" SHAPE="rect" target="translate" '
++'title="Translate English to French." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_fr">'
++'<AREA COORDS="39,130,65,146" SHAPE="rect" target="translate" '
++'title="Translate English to Italian." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_it">'
++'<AREA COORDS="70,130,93,146" SHAPE="rect" target="translate" '
++'title="Translate English to Portuguese." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_pt">'
++'<AREA COORDS="100,130,125,146" SHAPE="rect" target="translate" '
++'title="Translate English to Spanish." '
++'href="http://babelfish.altavista.com/babelfish/tr?doit=done&url='+OLbfURL+'&lp=en_es">'
++'</Map>'
++'<img src="http://babelfish.altavista.com/static/i/af/trans_en.gif" '
++'width="131" height="156" usemap="#translate_eng" border="0"><br></p>'
++'<p align="center">The translations are done via the AltaVista Babel Fish service.</p></div>';
+}else{
+var BabelFish =
+'<div class="babelfish"><p align="center">'
++'<img src="http://babelfish.altavista.com/static/i/af/trans_en_off.gif" '
++'width="131" height="156" border="0"></p></div>';
+}
diff --git a/src/extras/sos-html-logs/share/html/overlib/ajaxcontentmws.js b/src/extras/sos-html-logs/share/html/overlib/ajaxcontentmws.js
new file mode 100644
index 00000000..e041ae71
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/ajaxcontentmws.js
@@ -0,0 +1,181 @@
+/*
+ ajaxcontentmws.js - Foteos Macrides (author and Copyright holder)
+ Initial: June 22, 2006 - Last Revised: March 2, 2007
+ Wrapper function set for getting and using the responseText and / or
+ responseXML from a GET or POST XMLHttpRequest, which can be used to
+ generate dynamic content for overlib or overlib2 calls, or to modify
+ the content of a displayed STICKY popup dynamically.
+
+ For GET Use:
+ onmouseover="return OLgetAJAX(url, command, delay, css);"
+ onmouseout="OLclearAJAX();" (if delay > 0)
+ or:
+ onclick="OLgetAJAX(url, command, 0, css); return false;"
+ or:
+ onload="OLgetAJAX(url, command, 0, css);
+
+ Where:
+ url (required)
+ is a quoted string, or unquoted string variable name or array entry, with
+ the full, relative, or partial URL for a file or a server-side script (php,
+ asp, or cgi, e.g. perl), and may have a query string appended (e.g.,
+ 'http://my.domain.com/scripts/myScript.php?foo=bar&life=grand').
+ And:
+ command (required)
+ is the function reference (unquoted name without parens) of a function to
+ be called when the server's response has been received (it could instead be
+ an inline function, i.e., defined within the 2nd argument, or a quoted string
+ for a function with parens and any args)
+ And:
+ delay (may be omitted unless css is included)
+ is an unquoted number indicating the number of millisecs to wait before
+ initiating an XMLHttpRequest GET request. It should be 0 when using onclick
+ or onload, but may be a modest value such as 300 for onmouseover to avoid
+ any chatter of requests. When used with onmouseover, include:
+ onmouseout="OLclearAJAX();"
+ to clear the request if the user does not hover for at least that long. If
+ the popup is not STICKY, include an nd or nd2 call, e.g.,
+ onmouseout="OLclearAJAX(); nd();"
+ And:
+ css (may be omitted)
+ is a quoted string with the CSS class (e.g. 'ovfl510' for
+ .ovfl510 {width:510px; height:145px; overflow:auto; ...} ) for a div to
+ encase the responseText and set the width, height and scrollbars in the
+ main text area of the popup, or the unquoted number 0 if no encasing div
+ is to be used.
+
+ For POST substitute OLpostAJAX(url, qry, command, delay, css);
+ Where
+ qry (required)
+ is the string to be posted, typically a query string (without a lead ?)
+ and the other arguments are as above.
+
+ See http://www.macridesweb.com/oltest/AJAX.html for more information.
+*/
+
+// Initialize our global variables for this function set.
+var OLhttp=false,OLcommandAJAX=null,OLdelayidAJAX=0,OLclassAJAX='',
+OLresponseAJAX='',OLdebugAJAX=false;
+
+// Create a series of wrapper functions (e.g. OLcmdT#() for ones which
+// use OLhttp.responseText via the OLresponseAJAX global, and OLcmdX#()
+// for ones which use OLhttp.responseXML) whose reference (unquoted name
+// without parens) is the 2nd argument in OLgetAJAX(url,command,delay,css)
+// calls. This one is for the first example in the AJAX.html support
+// document, to use the OLresponseAJAX global as the lead argument for an
+// overlib popup. Put your functions in the head, or in another imported
+// .js file, so that they will not be affected by updates of this .js file.
+//
+function OLcmdExT1() {
+ return overlib(OLresponseAJAX, TEXTPADDING,0, CAPTIONPADDING,4,
+ CAPTION,'Example with AJAX content via <span '
+ +'class="yellow">responseText</span>.&nbsp; Popup scrolls with the window.',
+ WRAP, BORDER,2, STICKY, CLOSECLICK, SCROLL,
+ MIDX,0, RELY,100,
+ STATUS,'Example with AJAX content via responseText of XMLHttpResponse');
+}
+
+// Alert for old browsers which lack XMLHttpRequest support.
+function OLsorryAJAX() {
+ alert('Sorry, AJAX is not supported by your browser.');
+ return false;
+}
+
+// Check 2nd arg for function
+function OLchkFuncAJAX(ar){
+ var t=typeof ar;return (((t=='function'))||((t=='string')&&(/.+\(.*\)/.test(ar))));
+}
+
+// Alert for bad 2nd argument
+function OLnotFuncAJAX(m) {
+ if(over)cClick();
+ alert('The 2nd arg of OL'+m+'AJAX is not a function reference, nor an inline function, '
+ +'nor a quoted string with a function indicated.');
+ return OLclearAJAX();
+}
+
+// Alert for indicating an XMLHttpRequest network error.
+function OLerrorAJAX() {
+ alert('Network error '+OLhttp.status+'. Try again later.');
+ return false;
+}
+
+// Returns a new XMLHttpRequest object, or false for older browsers
+// which did not yet support it. Called as OLhttp=OLnewXMLHttp() via
+// the OLgetAJAX(url,command,delay,css) wrapper function.
+//
+function OLnewXMLHttp() {
+ var f=false,req=f;
+ if(window.XMLHttpRequest)eval(new Array('try{',
+ 'req=new XMLHttpRequest();','}catch(e){','req=f;','}').join('\n'));
+ /*@cc_on @if(@_jscript_version>=5)if(!req)
+ eval(new Array('try{','req=new ActiveXObject("Msxml2.XMLHTTP");',
+ '}catch(e){','try{','req=new ActiveXObject("Microsoft.XMLHTTP");',
+ '}catch(e){','req=f;','}}').join('\n')); @end @*/
+ return req;
+}
+
+// Handle the OLhttp.responseText string from the XMLHttpRequest object.
+function OLdoAJAX() {
+ if(OLhttp.readyState==4){
+ if(OLdebugAJAX)alert(
+ 'OLhttp.status = '+OLhttp.status+'\n'
+ +'OLhttp.statusText = '+OLhttp.statusText+'\n'
+ +'OLhttp.getAllResponseHeaders() = \n'
+ +OLhttp.getAllResponseHeaders()+'\n'
+ +'OLhttp.getResponseHeader("Content-Type") = '
+ +OLhttp.getResponseHeader("Content-Type")+'\n');
+ if(!OLhttp.status||OLhttp.status==200){
+ OLresponseAJAX=OLclassAJAX?'<div class="'+OLclassAJAX+'">':'';
+ OLresponseAJAX += OLhttp.responseText;
+ OLresponseAJAX += OLclassAJAX?'</div>':'';
+ if(OLdebugAJAX)alert('OLresponseAJAX = \n'+OLresponseAJAX);
+ OLclassAJAX=0;
+ return (typeof OLcommandAJAX=='string')?eval(OLcommandAJAX):OLcommandAJAX();
+ }else{
+ OLclassAJAX=0;
+ return OLerrorAJAX();
+ }
+ }
+}
+
+// Actually make the request initiated via OLgetAJAX or OLpostAJAX, or
+// invoke a "permission denied" alert if a cross-domain URL was used.
+function OLsetAJAX(url,qry) {
+ qry=(qry||null);var s='',m=(qry)?'POST':'GET';
+ OLdelayidAJAX=0;eval(new Array('try{','OLhttp.open(m,url,true);',
+ '}catch(e){','s=e','OLhttp=false;','}').join('\n'));if(!OLhttp){
+ alert(s+'\n(Cross-domain access not permitted)');return false;}if(qry)
+ OLhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
+ OLhttp.onreadystatechange=OLdoAJAX;
+ OLhttp.send(qry);
+}
+
+// Clear or abort any delayed OLsetAJAX call or pending request.
+function OLclearAJAX() {
+ if(OLdelayidAJAX){clearTimeout(OLdelayidAJAX);OLdelayidAJAX=0;}
+ if(OLhttp&&!OLdebugAJAX){OLhttp.abort();OLhttp=false;}
+ return false;
+}
+
+// Load a new XMLHttpRequest object into the OLhttp global, load the
+// OLcommandAJAX and OLclassAJAX globals, and initiate a GET request
+// via OLsetAJAX(url) to populate OLhttp.
+function OLgetAJAX(url,command,delay,css) {
+ if(!OLchkFuncAJAX(command))return OLnotFuncAJAX('get');
+ OLclearAJAX();OLhttp=OLnewXMLHttp();if(!OLhttp)return OLsorryAJAX();
+ OLcommandAJAX=command;delay=(delay||0);css=(css||0);OLclassAJAX=css;
+ if(delay)OLdelayidAJAX=setTimeout("OLsetAJAX('"+url+"')",delay);
+ else OLsetAJAX(url);
+}
+
+// Load a new XMLHttpRequest object into the OLhttp global, load the
+// OLcommandAJAX and OLclassAJAX globals, and initiate a POST request
+// via OLsetAJAX(url,qry) to populate OLhttp.
+function OLpostAJAX(url,qry,command,delay,css) {
+ if(!OLchkFuncAJAX(command))return OLnotFuncAJAX('post');
+ OLclearAJAX();OLhttp=OLnewXMLHttp();if(!OLhttp)return OLsorryAJAX();
+ qry=(qry||0);OLcommandAJAX=command;delay=(delay||0);css=(css||0);OLclassAJAX=css;
+ if(delay)OLdelayidAJAX=setTimeout("OLsetAJAX('"+url+"','"+qry+"')",delay);
+ else OLsetAJAX(url,qry);
+}
diff --git a/src/extras/sos-html-logs/share/html/overlib/arrow.gif b/src/extras/sos-html-logs/share/html/overlib/arrow.gif
new file mode 100644
index 00000000..71b08c1b
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/arrow.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/calendarmws.js b/src/extras/sos-html-logs/share/html/overlib/calendarmws.js
new file mode 100644
index 00000000..3e5aabac
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/calendarmws.js
@@ -0,0 +1,621 @@
+/*
+ calendermws.js - Script for generating calender popups and selecting dates for form
+ submissions. See http://www.macridesweb.com/oltest/calendarmws.html for a demonstration.
+ Initial: November 9, 2003 - Last Revised: November 23, 2006
+
+****
+ Original: Kedar R. Bhave (softricks@hotmail.com)
+ Web Site: http://www.softricks.com
+ (uses window popups)
+
+ Modifications and customizations to work with the overLIB v3.50
+ Author: James B. O'Connor (joconnor@nordenterprises.com)
+ Web Site: http://www.nordenterprises.com
+ Developed for use with http://home-owners-assoc.com
+ Note: while overlib works fine with Netscape 4, this function does not work very
+ well, since portions of the "over" div end up under other fields on the form and
+ cannot be seen. If you want to use this with NS4, you'll need to change the
+ positioning in the overlib() call to make sure the "over" div gets positioned
+ away from all other form fields
+ The O'Connor script and many more are available free online at:
+ The JavaScript Source!! http://javascript.internet.com
+
+ Further modifications made by Foteos Macrides (http://www.macridesweb.com/oltest/)
+ and Bill McCormick (wpmccormick@freeshell.org) for overlibmws
+*/
+
+var ggPosX = -1;
+var ggPosY = -1;
+var ggInactive = 0;
+var ggOnChange = null;
+
+var ggWinContent = "";
+
+var weekend = [0,6];
+var weekendColor = "#e0e0e0";
+var fontface = "Verdana";
+var fontsize = 8; // in "pt" units; used with "font-size" style element
+
+var gNow = new Date();
+
+Calendar.Months = ["January", "February", "March", "April", "May", "June",
+"July", "August", "September", "October", "November", "December"];
+
+// Non-Leap year Month days..
+Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+// Leap year Month days..
+Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+
+function Calendar(p_item, p_month, p_year, p_format) {
+ if ((p_month == null) && (p_year == null)) return;
+
+ if (p_month == null) {
+ this.gMonthName = null;
+ this.gMonth = null;
+ this.gYearly = true;
+ } else {
+ this.gMonthName = Calendar.get_month(p_month);
+ this.gMonth = new Number(p_month);
+ this.gYearly = false;
+ }
+
+ this.gYear = p_year;
+ this.gFormat = p_format;
+ this.gBGColor = "white";
+ this.gFGColor = "black";
+ this.gTextColor = "black";
+ this.gHeaderColor = "black";
+ this.gReturnItem = p_item;
+}
+
+Calendar.get_month = Calendar_get_month;
+Calendar.get_daysofmonth = Calendar_get_daysofmonth;
+Calendar.calc_month_year = Calendar_calc_month_year;
+
+function Calendar_get_month(monthNo) {
+ return Calendar.Months[monthNo];
+}
+
+function Calendar_get_daysofmonth(monthNo, p_year) {
+ /*
+ Check for leap year ..
+ 1.Years evenly divisible by four are normally leap years, except for...
+ 2.Years also evenly divisible by 100 are not leap years, except for...
+ 3.Years also evenly divisible by 400 are leap years.
+ */
+ if ((p_year % 4) == 0) {
+ if ((p_year % 100) == 0 && (p_year % 400) != 0)
+ return Calendar.DOMonth[monthNo];
+
+ return Calendar.lDOMonth[monthNo];
+ } else
+ return Calendar.DOMonth[monthNo];
+}
+
+function Calendar_calc_month_year(p_Month, p_Year, incr) {
+ /*
+ Will return an 1-D array with 1st element being the calculated month
+ and second being the calculated year
+ after applying the month increment/decrement as specified by 'incr' parameter.
+ 'incr' will normally have 1/-1 to navigate thru the months.
+ */
+ var ret_arr = new Array();
+
+ if (incr == -1) {
+ // B A C K W A R D
+ if (p_Month == 0) {
+ ret_arr[0] = 11;
+ ret_arr[1] = parseInt(p_Year) - 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) - 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ } else if (incr == 1) {
+ // F O R W A R D
+ if (p_Month == 11) {
+ ret_arr[0] = 0;
+ ret_arr[1] = parseInt(p_Year) + 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) + 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ }
+ return ret_arr;
+}
+
+function Calendar_calc_month_year(p_Month, p_Year, incr) {
+ /*
+ Will return an 1-D array with 1st element being the calculated month
+ and second being the calculated year
+ after applying the month increment/decrement as specified by 'incr' parameter.
+ 'incr' will normally have 1/-1 to navigate thru the months.
+ */
+ var ret_arr = new Array();
+
+ if (incr == -1) {
+ // B A C K W A R D
+ if (p_Month == 0) {
+ ret_arr[0] = 11;
+ ret_arr[1] = parseInt(p_Year) - 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) - 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ } else if (incr == 1) {
+ // F O R W A R D
+ if (p_Month == 11) {
+ ret_arr[0] = 0;
+ ret_arr[1] = parseInt(p_Year) + 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) + 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ }
+ return ret_arr;
+}
+
+// This is for compatibility with Navigator 3, we have to create and discard one object
+// before the prototype object exists.
+new Calendar();
+
+Calendar.prototype.getMonthlyCalendarCode = function() {
+ var vCode = "";
+ var vHeader_Code = "";
+ var vData_Code = "";
+
+ // Begin Table Drawing code here..
+ vCode += ('<div align="center"><table border="1" bgcolor="' + this.gBGColor +
+ "\" style='font-size:" + fontsize + "pt;'>");
+
+ vHeader_Code = this.cal_header();
+ vData_Code = this.cal_data();
+ vCode += (vHeader_Code + vData_Code);
+
+ vCode += '</table></div>';
+
+ return vCode;
+}
+
+Calendar.prototype.show = function() {
+ var vCode = "";
+
+ var vDate = new Date();
+ vDate.setMonth(this.gMonth);
+ vDate.setFullYear(this.gYear);
+ var vNowMonth = gNow.getMonth();
+ var vNowYear = gNow.getFullYear();
+ var yOK=!ggInactive||vNowYear<vDate.getFullYear()?1:0;
+ var mOK=!ggInactive||(yOK||
+ (vNowYear<=vDate.getFullYear()&&vNowMonth<vDate.getMonth()))?1:0;
+
+ // build content into global var ggWinContent
+ ggWinContent += ('<div style="font-family:\'' + fontface + '\';font-weight:bold;'
+ +'font-size:' + fontsize + 'pt;text-align:center;">');
+ ggWinContent += (this.gMonthName + ' ' + this.gYear);
+ ggWinContent += '</div>';
+
+ // Show navigation buttons
+ var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);
+ var prevMM = prevMMYYYY[0];
+ var prevYYYY = prevMMYYYY[1];
+
+ var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);
+ var nextMM = nextMMYYYY[0];
+ var nextYYYY = nextMMYYYY[1];
+
+ ggWinContent += ('<table width="100%" border="1" cellspacing="0" cellpadding="0" '
+ +'bgcolor="#e0e0e0" style="font-size:' + fontsize
+ +'pt;"><tr><td align="center">');
+ ggWinContent += ('['
+ +(yOK?'<a href="javascript:void(0);" '
+ +'title="Go back one year" '
+ +'onmouseover="window.status=\'Go back one year\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="Build(\'' + this.gReturnItem + '\', \'' + this.gMonth + '\', \''
+ +(parseInt(this.gYear)-1) + '\', \'' + this.gFormat + '\');"'
+ +'>':'')
+ +'&lt;&lt;Year'
+ +(yOK?'</a>':'')
+ +']</td><td align="center">');
+ ggWinContent += ('['
+ +(mOK?'<a href="javascript:void(0);" '
+ +'title="Go back one month" '
+ +'onmouseover="window.status=\'Go back one month\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="Build(\'' + this.gReturnItem + '\', \'' + prevMM + '\', \''
+ +prevYYYY + '\', \'' + this.gFormat + '\');"'
+ +'>':'')
+ +'&lt;Mon'
+ +(mOK?'</a>':'')
+ +']</td><td align="center">');
+ ggWinContent += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td align="center">';
+ ggWinContent += ('[<a href="javascript:void(0);" '
+ +'title="Go forward one month" '
+ +'onmouseover="window.status=\'Go forward one month\'; return true;" '
+ +'onmouseput="window.status=\'\'; return true;" '
+ +'onclick="Build(\'' + this.gReturnItem + '\', \'' + nextMM + '\', \''
+ +nextYYYY + '\', \'' + this.gFormat + '\');"'
+ +'>Mon&gt;</a>]</td><td align="center">');
+ ggWinContent += ('[<a href="javascript:void(0);" '
+ +'title="Go forward one year" '
+ +'onmouseover="window.status=\'Go forward one year\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onClick="Build(\'' + this.gReturnItem + '\', \'' + this.gMonth + '\', \''
+ +(parseInt(this.gYear)+1) + '\', \'' + this.gFormat + '\');"'
+ +'>Year&gt;&gt;</a>]</td></tr></table><div style="font-size:3px;">'
+ +'&nbsp;</div>');
+
+ // Get the complete calendar code for the month, and add it to the content var
+ vCode = this.getMonthlyCalendarCode();
+ ggWinContent += vCode;
+}
+
+Calendar.prototype.showY = function() {
+ var vCode = "";
+ var i;
+
+ ggWinContent += ('<div style="font-family:\'' + fontface + '\';font-weight:bold;'
+ +'font-size:' + (fontsize+1) +'pt;text-align:center;">' + this.gYear +'</div>');
+
+ var vDate = new Date();
+ vDate.setDate(1);
+ vDate.setFullYear(this.gYear);
+ var vNowYear = gNow.getFullYear();
+ var yOK=!ggInactive||vNowYear<vDate.getFullYear()?1:0;
+
+ // Show navigation buttons
+ var prevYYYY = parseInt(this.gYear) - 1;
+ var nextYYYY = parseInt(this.gYear) + 1;
+
+ ggWinContent += ('<table width="100%" border="1" cellspacing="0" cellpadding="0" '
+ +'bgcolor="#e0e0e0" style="font-size:' + fontsize + 'pt;"><tr><td '
+ +'align="center">');
+ ggWinContent += ('['
+ +(yOK?'<a href="javascript:void(0);" '
+ +'title="Go back one year" '
+ +'onmouseover="window.status=\'Go back one year\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="Build(\'' + this.gReturnItem + '\', null, \'' + prevYYYY + '\', \''
+ +this.gFormat + '\');">':'')
+ +'&lt;&lt;Year'
+ +(yOK?'<a>':'')
+ +']</td><td align="center">');
+ ggWinContent += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td align="center">';
+ ggWinContent += ('[<a href="javascript:void(0);" '
+ +'title="Go forward one year" '
+ +'onmouseover="window.status=\'Go forward one year\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="Build(\'' + this.gReturnItem + '\', null, \'' + nextYYYY + '\', \''
+ +this.gFormat + '\');">Year&gt;&gt;</a>]</td></tr></table>');
+
+ // Get the complete calendar code for each month.
+ // start a table and first row in the table
+ ggWinContent += ('<table width="100%" border="0" cellspacing="0" cellpadding="2" '
+ +'style="font-size:' + fontsize + 'pt;"><tr>');
+ for (i=0; i<12; i++) {
+ // start the table cell
+ ggWinContent += '<td align="center" valign="top">';
+ this.gMonth = i;
+ this.gMonthName = Calendar.get_month(this.gMonth);
+ vCode = this.getMonthlyCalendarCode();
+ ggWinContent += (this.gMonthName + '/' + this.gYear + '<div '
+ +'style="font-size:2px;">&nbsp;</div>');
+ ggWinContent += vCode;
+ ggWinContent += '</td>';
+ if (i == 3 || i == 7) ggWinContent += '</tr><tr>';
+ }
+ ggWinContent += '</tr></table>';
+}
+
+Calendar.prototype.cal_header = function() {
+ var vCode = '<tr>';
+ vCode += ('<td width="14%" style="font-family:' + fontface + ';color:'
+ +this.gHeaderColor + ';font-weight:bold;">Sun</td>');
+ vCode += ('<td width="14%" style="font-family:' + fontface + ';color:'
+ +this.gHeaderColor + ';font-weight:bold;">Mon</td>');
+ vCode += ('<td width="14%" style="font-family:' + fontface + ';color:'
+ +this.gHeaderColor + ';font-weight:bold;">Tue</td>');
+ vCode += ('<td width="14%" style="font-family:' + fontface + ';color:'
+ +this.gHeaderColor + ';font-weight:bold;">Wed</td>');
+ vCode += ('<td width="14%" style="font-family:' + fontface + ';color:'
+ +this.gHeaderColor + ';font-weight:bold;">Thu</td>');
+ vCode += ('<td width="14%" style="font-family:' + fontface + ';color:'
+ +this.gHeaderColor + ';font-weight:bold;">Fri</td>');
+ vCode += ('<td width="16%" style="font-family:' + fontface + ';color:'
+ +this.gHeaderColor + ';font-weight:bold;">Sat</td>');
+ vCode += '</tr>';
+ return vCode;
+}
+
+Calendar.prototype.cal_data = function() {
+ var vDate = new Date();
+ vDate.setDate(1);
+ vDate.setMonth(this.gMonth);
+ vDate.setFullYear(this.gYear);
+
+ var vNowDay = gNow.getDate();
+ var vNowMonth = gNow.getMonth();
+ var vNowYear = gNow.getFullYear();
+
+ var yOK=!ggInactive||vNowYear<=vDate.getFullYear()?1:0;
+ var mOK=!ggInactive||vNowYear<vDate.getFullYear()||
+ (vNowYear==vDate.getFullYear()&&vNowMonth<=vDate.getMonth())?1:0;
+ var ymOK=yOK&&mOK?1:0;
+ var dOK=!ggInactive||vNowYear<vDate.getFullYear()||vNowMonth<vDate.getMonth()?1:0;
+
+ var vFirstDay=vDate.getDay();
+ var vDay=1;
+ var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear);
+ var vOnLastDay=0;
+ var vCode = '<tr>';
+ var i,j,k,m;
+ var orig = eval("document." + this.gReturnItem + ".value").toString();
+ /*
+ Get day for the 1st of the requested month/year..
+ Place as many blank cells before the 1st day of the month as necessary.
+ */
+ for (i=0; i<vFirstDay; i++) { vCode +=
+ ('<td width="14%"' + this.write_weekend_string(i)
+ +'style="font-family:\'' + fontface + '\';text-align:center;">&nbsp;</td>');
+ }
+
+ // Write rest of the 1st week
+ for (j=vFirstDay; j<7; j++) { vCode +=
+ ('<td width="14%"' + this.write_weekend_string(j) +'style="font-family:\''
+ + fontface + '\';text-align:center;">'
+ +((ymOK)&&(vDay>=vNowDay||dOK)?'<a href="javascript:void(0);" '
+ +'title="set date to ' + this.format_data(vDay) + '" '
+ +'onmouseover="window.status=\'set date to ' + this.format_data(vDay) + '\'; '
+ +'return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="document.' + this.gReturnItem + '.value=\'' + this.format_data(vDay)
+ +'\';ggPosX= -1;ggPosY= -1;' + OLfnRef + 'cClick();'
+ +'if((ggOnChange)&&(document.' + this.gReturnItem + '.value!=\'' + orig
+ +'\'))ggOnChange();">':'')
+ + this.format_day(vDay)
+ +((ymOK)&&(vDay>=vNowDay||dOK)?'</a>':'')
+ +'</td>');
+ vDay += 1;
+ }
+ vCode += '</tr>';
+
+ // Write the rest of the weeks
+ for (k=2; k<7; k++) {
+ vCode += '<tr>';
+ for (j=0; j<7; j++) { vCode +=
+ ('<td width="14%"' + this.write_weekend_string(j)
+ +'style="font-family:\'' + fontface + '\';text-align:center;">'
+ +((ymOK)&&(vDay>=vNowDay||dOK)?'<a '
+ +'href="javascript:void(0);" '
+ +'title="set date to ' + this.format_data(vDay) + '" '
+ +'onmouseover="window.status=\'set date to ' + this.format_data(vDay)
+ +'\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="document.' + this.gReturnItem + '.value=\''
+ + this.format_data(vDay) + '\';ggPosX= -1;ggPosY= -1;'
+ + OLfnRef + 'cClick();'
+ +'if((ggOnChange)&&(document.' + this.gReturnItem + '.value!=\''
+ +orig + '\'))ggOnChange();">':'')
+ + this.format_day(vDay)
+ +((ymOK)&&(vDay>=vNowDay||dOK)?'</a>':'')
+ +'</td>');
+ vDay += 1;
+ if (vDay > vLastDay) {
+ vOnLastDay = 1;
+ break;
+ }
+ }
+ if (j == 6) vCode += '</tr>';
+ if (vOnLastDay == 1) break;
+ }
+
+ // Fill up the rest of last week with proper blanks, so that we get proper square blocks
+ for (m=1; m<(7-j); m++) { vCode +=
+ ('<td width="14%"' + this.write_weekend_string(j+m) + 'style="font-family:\''
+ + fontface + '\';color:gray;text-align:center;">&nbsp;</td>');
+ }
+ return vCode;
+}
+
+Calendar.prototype.format_day = function(vday) {
+ var vNowDay = gNow.getDate();
+ var vNowMonth = gNow.getMonth();
+ var vNowYear = gNow.getFullYear();
+
+ if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)
+ return ('<span style="color:red;font-weight:bold;">' + vday + '</span>');
+ else
+ return (vday);
+}
+
+Calendar.prototype.write_weekend_string = function(vday) {
+ var i;
+
+ // Return special formatting for the weekend day.
+ for (i=0; i<weekend.length; i++) {
+ if (vday == weekend[i])
+ return (' bgcolor="' + weekendColor + '"');
+ }
+
+ return "";
+}
+
+Calendar.prototype.format_data = function(p_day) {
+ var vData;
+ var vMonth = 1 + this.gMonth;
+ vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;
+ var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();
+ var vFMon = Calendar.get_month(this.gMonth).toUpperCase();
+ var vY4 = new String(this.gYear);
+ var vY2 = new String(this.gYear.substr(2,2));
+ var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;
+
+ switch (this.gFormat) {
+ case "MM\/DD\/YYYY" :
+ vData = vMonth + "\/" + vDD + "\/" + vY4;
+ break;
+ case "MM\/DD\/YY" :
+ vData = vMonth + "\/" + vDD + "\/" + vY2;
+ break;
+ case "MM-DD-YYYY" :
+ vData = vMonth + "-" + vDD + "-" + vY4;
+ break;
+ case "YYYY-MM-DD" :
+ vData = vY4 + "-" + vMonth + "-" + vDD;
+ break;
+ case "MM-DD-YY" :
+ vData = vMonth + "-" + vDD + "-" + vY2;
+ break;
+ case "DD\/MON\/YYYY" :
+ vData = vDD + "\/" + vMon + "\/" + vY4;
+ break;
+ case "DD\/MON\/YY" :
+ vData = vDD + "\/" + vMon + "\/" + vY2;
+ break;
+ case "DD-MON-YYYY" :
+ vData = vDD + "-" + vMon + "-" + vY4;
+ break;
+ case "DD-MON-YY" :
+ vData = vDD + "-" + vMon + "-" + vY2;
+ break;
+ case "DD\/MONTH\/YYYY" :
+ vData = vDD + "\/" + vFMon + "\/" + vY4;
+ break;
+ case "DD\/MONTH\/YY" :
+ vData = vDD + "\/" + vFMon + "\/" + vY2;
+ break;
+ case "DD-MONTH-YYYY" :
+ vData = vDD + "-" + vFMon + "-" + vY4;
+ break;
+ case "DD-MONTH-YY" :
+ vData = vDD + "-" + vFMon + "-" + vY2;
+ break;
+ case "DD\/MM\/YYYY" :
+ vData = vDD + "\/" + vMonth + "\/" + vY4;
+ break;
+ case "DD\/MM\/YY" :
+ vData = vDD + "\/" + vMonth + "\/" + vY2;
+ break;
+ case "DD-MM-YYYY" :
+ vData = vDD + "-" + vMonth + "-" + vY4;
+ break;
+ case "DD-MM-YY" :
+ vData = vDD + "-" + vMonth + "-" + vY2;
+ break;
+ case "DD.MM.YYYY" :
+ vData = vDD + "." + vMonth + "." + vY4;
+ break;
+ case "DD.MM.YY" :
+ vData = vDD + "." + vMonth + "." + vY2;
+ break;
+ default :
+ vData = vMonth + "\/" + vDD + "\/" + vY4;
+ }
+
+ return vData;
+}
+
+function Build(p_item, p_month, p_year, p_format) {
+ var gCal = new Calendar(p_item, p_month, p_year, p_format);
+
+ // Customize your Calendar here..
+ gCal.gBGColor="white";
+ gCal.gLinkColor="black";
+ gCal.gTextColor="black";
+ gCal.gHeaderColor="darkgreen";
+
+ // initialize the content string
+ ggWinContent = "";
+
+ // Check for DRAGGABLE support
+ if (typeof ol_draggable == 'undefined') DRAGGABLE = DONOTHING;
+
+ // Choose appropriate show function
+ if (gCal.gYearly) {
+ // Note: you can set ggPosX and ggPosY as part of the onclick javascript
+ // code before you call the show_yearly_calendar function:
+ // onclick="ggPosX=20;ggPosY=5;show_yearly_calendar(...);"
+ if (OLns6) {
+ if (ggPosX == -1) ggPosX = 20;
+ if (ggPosY == -1) ggPosY = 10;
+ }
+ if (fontsize == 8) fontsize = 6;
+ // generate the calendar
+ gCal.showY();
+ } else {
+ if (fontsize == 6) fontsize = 8;
+ gCal.show();
+ }
+
+ // Clear any previous EXCLUSIVE setting
+ o3_exclusive=0;
+ // If X and Y positions are not specified use MIDX and RELY
+ if (ggPosX == -1 && ggPosY == -1) {
+ overlib(ggWinContent, AUTOSTATUSCAP, STICKY, EXCLUSIVE, DRAGGABLE,
+ CLOSECLICK, TEXTSIZE,'8pt', CAPTIONSIZE,'8pt', CLOSESIZE,'8pt',
+ CAPTION,'Select a date', MIDX,0, RELY,10);
+ // Otherwise use FIXX and FIXY
+ } else {
+ // Make sure popup is on screen
+ var X = ((ggPosX < 10)?0:ggPosX - 10), Y = ((ggPosY < 10)?0:ggPosY - 10);
+ window.scroll(X, Y);
+ // Put up the calendar
+ overlib(ggWinContent, AUTOSTATUSCAP, STICKY, EXCLUSIVE, DRAGGABLE,
+ CLOSECLICK, TEXTSIZE,'8pt', CAPTIONSIZE,'8pt', CLOSESIZE,'8pt',
+ CAPTION,'Select a date', FIXX,ggPosX, FIXY,ggPosY);
+ // Reset the position variables
+ ggPosX = -1; ggPosY = -1;
+ }
+}
+
+function show_calendar() {
+ var p_item // Return Item.
+ var p_month // 0-11 for Jan-Dec; 12 for All Months.
+ var p_year // 4-digit year
+ var p_format // Date format (YYYY-MM-DD, DD/MM/YYYY, ...)
+ fontsize = 8;
+
+ p_item = arguments[0];
+ if (arguments[1] == "" || arguments[1] == null || arguments[1] == '12')
+ p_month = new String(gNow.getMonth());
+ else
+ p_month = arguments[1];
+ if (arguments[2] == "" || arguments[2] == null)
+ p_year = new String(gNow.getFullYear().toString());
+ else
+ p_year = arguments[2];
+ if (arguments[3] == "" || arguments[3] == null)
+ p_format = "YYYY-MM-DD";
+ else
+ p_format = arguments[3];
+
+ if (OLns4) return overlib('Sorry, your browser does not support this feature. '
+ +'Manually enter<br>' + p_format,
+ FGCOLOR,'#ffffcc', TEXTSIZE,2, STICKY, NOCLOSE, OFFSETX,-10, OFFSETY,-10,
+ WIDTH,110, BASE,2);
+
+ Build(p_item, p_month, p_year, p_format);
+}
+
+function show_yearly_calendar() {
+ var p_item // Return Item.
+ var p_year // 4-digit year
+ var p_format // Date format (YYYY-MM-DD, DD/MM/YYYY, ...)
+
+ p_item = arguments[0];
+ if (arguments[1] == "" || arguments[1] == null)
+ p_year = new String(gNow.getFullYear().toString());
+ else
+ p_year = arguments[1];
+ if (arguments[2] == "" || arguments[2] == null)
+ p_format = "YYYY-MM-DD";
+ else
+ p_format = arguments[2];
+
+ if (OLns4) return overlib('Sorry, your browser does not support this feature. '
+ +'Manually enter<br>' + p_format,
+ FGCOLOR,'#ffffcc', TEXTSIZE,2, STICKY, NOCLOSE, OFFSETX,-10, OFFSETY,-10,
+ WIDTH,110, BASE,2);
+
+ Build(p_item, null, p_year, p_format);
+}
diff --git a/src/extras/sos-html-logs/share/html/overlib/calendarmws_lang.js b/src/extras/sos-html-logs/share/html/overlib/calendarmws_lang.js
new file mode 100644
index 00000000..6232e789
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/calendarmws_lang.js
@@ -0,0 +1,700 @@
+/*
+ calendermws_lang.js - Script with multi-language support for generating calender popups
+ and selecting dates for form submissions.
+ See http://www.macridesweb.com/oltest/calendarmws_lang.html for a demonstration.
+ Initial (calendarmws.js): November 9, 2003 - Last Revised: November 23, 2006
+
+****
+ Original: Kedar R. Bhave (softricks@hotmail.com)
+ Web Site: http://www.softricks.com
+ (uses window popups)
+
+ Modifications and customizations to work with the overLIB v3.50
+ Author: James B. O'Connor (joconnor@nordenterprises.com)
+ Web Site: http://www.nordenterprises.com
+ Developed for use with http://home-owners-assoc.com
+ Note: while overlib works fine with Netscape 4, this function does not work very
+ well, since portions of the "over" div end up under other fields on the form and
+ cannot be seen. If you want to use this with NS4, you'll need to change the
+ positioning in the overlib() call to make sure the "over" div gets positioned
+ away from all other form fields
+ The O'Connor script and many more are available free online at:
+ The JavaScript Source!! http://javascript.internet.com
+
+ Further modifications made by Foteos Macrides (http://www.macridesweb.com/oltest/),
+ Bodo Hantschmann (http://www.hantschmann.org) - multi-language support, and
+ Bill McCormick (wpmccormick@freeshell.org) - draggable support, for overlibmws.
+
+ Requires sprintf.js from the overlibmws distribution.
+*/
+
+var ggPosX = -1;
+var ggPosY = -1;
+var ggInactive = 0;
+var ggOnChange = null;
+var ggLang = 'eng';
+
+var ggWinContent = "";
+
+var weekend = [0,6];
+var weekendColor = "#e0e0e0";
+var fontface = "Verdana";
+var fontsize = 8; // in "pt" units; used with "font-size" style element
+
+var calmsg = new Array();
+var datFormat = new Array();
+var CalendarMonths = new Array();
+var CalendarWeekdays = new Array();
+
+/* -----------------------------------------------------------------------------------------
+ Languages (set via the value of the ggLang global)
+
+ 'eng' - English
+ 'ger' - German
+ 'esp' - Spanish
+ 'dut' - Dutch / Netherlands
+
+ for more languages:
+ greetings from babelfish ;-) (Hint: Use always english as base, that gives the best
+ results.
+ ----------------------------------------------------------------------------------------- */
+
+/* -------------------------------
+ English
+ ------------------------------- */
+calmsg["eng"] = new Array;
+calmsg["eng"][0] = "One year backward";
+calmsg["eng"][1] = "One year forward";
+calmsg["eng"][2] = "One month backward";
+calmsg["eng"][3] = "One month forward";
+calmsg["eng"][4] = "Set date";
+calmsg["eng"][5] = "Select date";
+calmsg["eng"][6] = "Your Browser does NOT support this feature. Update asap, please!<br />";
+calmsg["eng"][7] = "Year";
+calmsg["eng"][8] = "Click to close";
+datFormat["eng"] = "MM/DD/YYYY";
+CalendarMonths["eng"] = new Array("January", "February", "March", "April", "May", "June",
+ "July", "August", "September", "October", "November", "December");
+CalendarWeekdays["eng"] = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
+
+/* -------------------------------
+ German
+ ------------------------------- */
+calmsg["ger"] = new Array;
+calmsg["ger"][0] = "Ein Jahr zur&uuml;ck";
+calmsg["ger"][1] = "Ein Jahr vorw&auml;rts";
+calmsg["ger"][2] = "Einen Monat zur&uuml;ck";
+calmsg["ger"][3] = "Einen Monat vorw&auml;rts";
+calmsg["ger"][4] = "Datum setzen";
+calmsg["ger"][5] = "Datum w&auml;hlen";
+calmsg["ger"][6] = "Leider unterst&uuml;tzt Ihr Browser dieses Feature nicht. "
+ +"Bitte updaten!<br />";
+calmsg["ger"][7] = "Jahr";
+calmsg["ger"][8] = "Zum schlie&szlig;en klicken";
+datFormat["ger"] = "DD.MM.YYYY";
+CalendarMonths["ger"] = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni",
+ "Juli", "August", "September", "Oktober", "November", "Dezember");
+CalendarWeekdays["ger"] = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
+
+/* -------------------------------
+ Spanish
+ ------------------------------- */
+calmsg["esp"] = new Array;
+calmsg["esp"][0] = "Un ao atras";
+calmsg["esp"][1] = "Un ao adelante";
+calmsg["esp"][2] = "Un mes atras";
+calmsg["esp"][3] = "Un mes adelante";
+calmsg["esp"][4] = "Fije la fecha";
+calmsg["esp"][5] = "Seleccione la fecha";
+calmsg["esp"][6] = "Su browser no apoya esta caracterstica. Actualizacin cuanto antes, "
+ +"por favor!<br />";
+calmsg["esp"][7] = "Ao";
+calmsg["esp"][8] = "Tecleo a cerrarse";
+datFormat["esp"] = "DD.MM.YYYY";
+CalendarMonths["esp"] = new Array("Enero", "Febrero", "Marcha", "Abril", "Puede", "Junio",
+ "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
+CalendarWeekdays["esp"] = new Array("Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa");
+
+/* -------------------------------
+ Dutch
+ ------------------------------- */
+calmsg["dut"] = new Array;
+calmsg["dut"][0] = "n jaar achteruit";
+calmsg["dut"][1] = "n jaar voorwaarts";
+calmsg["dut"][2] = "n maand achteruit";
+calmsg["dut"][3] = "n maand voorwaarts";
+calmsg["dut"][4] = "Overname datum";
+calmsg["dut"][5] = "Selecteer datum";
+calmsg["dut"][6] = "Uw Browser steunt deze eigenschap niet. Update zo vlug mogelijk, "
+ +"tevreden!<br />";
+calmsg["dut"][7] = "Jaar";
+calmsg["dut"][8] = "klik aan het sluiten";
+datFormat["dut"] = "DD.MM.YYYY";
+CalendarMonths["dut"] = new Array("Januari", "Februari", "Maart", "April", "Mei", "Juni",
+ "Juli", "Augustus", "September", "Oktober", "November", "December");
+CalendarWeekdays["dut"] = new Array("Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za");
+
+var gNow = new Date();
+
+Calendar.CellWidth = ["14%", "14%", "14%", "14%", "14%", "14%", "16%"];
+
+// Non-Leap year Month days..
+Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+// Leap year Month days..
+Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+
+function Calendar(p_item, p_month, p_year, p_format) {
+ if ((p_month == null) && (p_year == null)) return;
+
+ if (p_month == null) {
+ this.gMonthName = null;
+ this.gMonth = null;
+ this.gYearly = true;
+ } else {
+ this.gMonthName = Calendar.get_month(p_month);
+ this.gMonth = new Number(p_month);
+ this.gYearly = false;
+ }
+
+ this.gYear = p_year;
+ this.gFormat = p_format;
+ this.gBGColor = "white";
+ this.gFGColor = "black";
+ this.gTextColor = "black";
+ this.gHeaderColor = "black";
+ this.gReturnItem = p_item;
+}
+
+Calendar.get_month = Calendar_get_month;
+Calendar.get_daysofmonth = Calendar_get_daysofmonth;
+Calendar.calc_month_year = Calendar_calc_month_year;
+
+function Calendar_get_month(monthNo) {
+ return Calendar.Months[monthNo];
+}
+
+function Calendar_get_daysofmonth(monthNo, p_year) {
+ /*
+ Check for leap year ..
+ 1.Years evenly divisible by four are normally leap years, except for...
+ 2.Years also evenly divisible by 100 are not leap years, except for...
+ 3.Years also evenly divisible by 400 are leap years.
+ */
+ if ((p_year % 4) == 0) {
+ if ((p_year % 100) == 0 && (p_year % 400) != 0)
+ return Calendar.DOMonth[monthNo];
+
+ return Calendar.lDOMonth[monthNo];
+ } else
+ return Calendar.DOMonth[monthNo];
+}
+
+function Calendar_calc_month_year(p_Month, p_Year, incr) {
+ /*
+ Will return an 1-D array with 1st element being the calculated month
+ and second being the calculated year
+ after applying the month increment/decrement as specified by 'incr' parameter.
+ 'incr' will normally have 1/-1 to navigate thru the months.
+ */
+ var ret_arr = new Array();
+
+ if (incr == -1) {
+ // B A C K W A R D
+ if (p_Month == 0) {
+ ret_arr[0] = 11;
+ ret_arr[1] = parseInt(p_Year) - 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) - 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ } else if (incr == 1) {
+ // F O R W A R D
+ if (p_Month == 11) {
+ ret_arr[0] = 0;
+ ret_arr[1] = parseInt(p_Year) + 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) + 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ }
+ return ret_arr;
+}
+
+function Calendar_calc_month_year(p_Month, p_Year, incr) {
+ /*
+ Will return an 1-D array with 1st element being the calculated month
+ and second being the calculated year
+ after applying the month increment/decrement as specified by 'incr' parameter.
+ 'incr' will normally have 1/-1 to navigate thru the months.
+ */
+ var ret_arr = new Array();
+
+ if (incr == -1) {
+ // B A C K W A R D
+ if (p_Month == 0) {
+ ret_arr[0] = 11;
+ ret_arr[1] = parseInt(p_Year) - 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) - 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ } else if (incr == 1) {
+ // F O R W A R D
+ if (p_Month == 11) {
+ ret_arr[0] = 0;
+ ret_arr[1] = parseInt(p_Year) + 1;
+ } else {
+ ret_arr[0] = parseInt(p_Month) + 1;
+ ret_arr[1] = parseInt(p_Year);
+ }
+ }
+ return ret_arr;
+}
+
+// This is for compatibility with Navigator 3, we have to create and discard one object
+// before the prototype object exists.
+new Calendar();
+
+Calendar.prototype.getMonthlyCalendarCode = function() {
+ var vCode = "";
+ var vHeader_Code = "";
+ var vData_Code = "";
+
+ // Begin Table Drawing code here..
+ vCode += ('<div align="center"><table border="1" bgcolor="' + this.gBGColor
+ +'" style="font-size:' + fontsize + 'pt;">');
+
+ vHeader_Code = this.cal_header();
+ vData_Code = this.cal_data();
+ vCode += (vHeader_Code + vData_Code);
+
+ vCode += '</table></div>';
+
+ return vCode;
+}
+
+Calendar.prototype.show = function() {
+ var vCode = "";
+
+ var vDate = new Date();
+ vDate.setMonth(this.gMonth);
+ vDate.setFullYear(this.gYear);
+ var vNowMonth = gNow.getMonth();
+ var vNowYear = gNow.getFullYear();
+ var yOK=!ggInactive||vNowYear<vDate.getFullYear()?1:0;
+ var mOK=!ggInactive||(yOK||
+ (vNowYear<=vDate.getFullYear()&&vNowMonth<vDate.getMonth()))?1:0;
+
+ // build content into global var ggWinContent
+ ggWinContent += sprintf('<div style="font-family:\'%s\';font-weight:bold;'
+ +'font-size:%spt;text-align:center;">%s %s</div>',
+ fontface, fontsize, this.gMonthName, this.gYear);
+
+ // Show navigation buttons
+ var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);
+ var prevMM = prevMMYYYY[0];
+ var prevYYYY = prevMMYYYY[1];
+
+ var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);
+ var nextMM = nextMMYYYY[0];
+ var nextYYYY = nextMMYYYY[1];
+
+ var nav_cell = '<td align="%s">&nbsp;[<a href="javascript:void(0);" title="%s" '
+ +'onmouseover="window.status=\'%s\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="Build(\'%s\',\'%s\',\'%s\',\'%s\');">%s%s%s<\/a>]&nbsp;</td>';
+ var nav_cell_inactive = '<td align="%s">&nbsp;[%s%s]&nbsp;</td>'
+
+ ggWinContent += '<table width="100%" border="0" cellspacing="0" cellpadding="0" '
+ +'bgcolor="#e0e0e0" style="font-size:' + fontsize + 'pt;">';
+ ggWinContent += '<tr>';
+ ggWinContent += yOK?sprintf(nav_cell,
+ 'left', calmsg[ggLang][0], calmsg[ggLang][0],
+ this.gReturnItem, this.gMonth, (parseInt(this.gYear)-1), this.gFormat,
+ '&lt;&lt;', (parseInt(this.gYear)-1), ''):
+ sprintf(nav_cell_inactive, 'left', '&lt;&lt;', (parseInt(this.gYear)-1));
+ ggWinContent += sprintf(nav_cell,
+ 'right', calmsg[ggLang][1], calmsg[ggLang][1],
+ this.gReturnItem, this.gMonth, (parseInt(this.gYear)+1), this.gFormat,
+ '', (parseInt(this.gYear)+1), '&gt;&gt;');
+ ggWinContent += '</tr><tr>';
+ ggWinContent += mOK?sprintf(nav_cell,
+ 'left', calmsg[ggLang][2], calmsg[ggLang][2],
+ this.gReturnItem, prevMM, prevYYYY, this.gFormat, '&lt;',
+ Calendar.Months[prevMM], ''):
+ sprintf(nav_cell_inactive, '&lt;', Calendar.Months[prevMM]);
+ ggWinContent += sprintf(nav_cell,
+ 'right', calmsg[ggLang][3], calmsg[ggLang][3],
+ this.gReturnItem, nextMM, nextYYYY, this.gFormat, '',
+ Calendar.Months[nextMM], '&gt;');
+ ggWinContent += '</tr></table><div style="font-size:3px;">&nbsp;</div>';
+
+ // Get the complete calendar code for the month, and add it to the content var
+ vCode = this.getMonthlyCalendarCode();
+ ggWinContent += vCode;
+}
+
+Calendar.prototype.showY = function() {
+ var vCode = "";
+ var i;
+
+ ggWinContent += sprintf(
+ '<div style="font-family:\'%s\';font-weight:bold;font-size:%spt;'
+ +'text-align:center;">%s</div>', fontface, fontsize+1, this.gYear);
+ // Show navigation buttons
+ var prevYYYY = parseInt(this.gYear) - 1;
+ var nextYYYY = parseInt(this.gYear) + 1;
+
+ var vDate = new Date();
+ vDate.setFullYear(this.gYear);
+ var vCode = "";
+ var vNowYear = gNow.getFullYear();
+ var yOK=!ggInactive||vNowYear<vDate.getFullYear()?1:0;
+
+ ggWinContent += '<table width="100%" ' + sprintf(
+ 'border="1" cellspacing="0" cellpadding="0" bgcolor="%s" '
+ +'style="font-size:%spt;">', '#e0e0e0', fontsize);
+ ggWinContent += '<tr>';
+ ggWinContent += yOK?sprintf(
+ '<td align="center">[<a href="javascript:void(0);" title="%s" '
+ +'onmouseover="window.status=\'%s\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="Build(\'%s\', null, \'%s\', \'%s\');">&lt;&lt;%s</a>]</td>',
+ calmsg[ggLang][0], calmsg[ggLang][0], this.gReturnItem,
+ prevYYYY, this.gFormat, (parseInt(this.gYear)-1)):
+ sprintf('<td align="center">[&lt;&lt;%s]</td>',(parseInt(this.gYear)-1));
+ ggWinContent += '<td align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>';
+ ggWinContent += sprintf(
+ '<td align="center">[<a href="javascript:void(0);" title="%s" '
+ +'onmouseover="window.status=\'%s\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="Build(\'%s\', null, \'%s\', \'%s\');">%s&gt;&gt;</a>]</td>',
+ calmsg[ggLang][1], calmsg[ggLang][1], this.gReturnItem,
+ nextYYYY, this.gFormat, (parseInt(this.gYear)+1));
+ ggWinContent += '</tr></table>';
+
+ // Get the complete calendar code for each month.
+ // start a table and first row in the table
+ ggWinContent += '<table width="100%" border="0" cellspacing="0" cellpadding="2" '
+ +'style="font-size:' + fontsize + 'pt;"><tr>';
+ for (i=0; i<12; i++) {
+ // start the table cell
+ ggWinContent += '<td align="center" valign="top">';
+ this.gMonth = i;
+ this.gMonthName = Calendar.get_month(this.gMonth);
+ vCode = this.getMonthlyCalendarCode();
+ ggWinContent += (this.gMonthName + '/' + this.gYear+ '<div '
+ +'style="font-size:2px;">&nbsp;</div>');
+ ggWinContent += vCode;
+ ggWinContent += '</td>';
+ if (i == 3 || i == 7) ggWinContent += '</tr><tr>';
+ }
+ ggWinContent += '</tr></table>';
+}
+
+Calendar.prototype.cal_header = function() {
+ var vCode = '<tr>';
+ for (i=0; i<7; i++) { vCode += sprintf(
+ '<td width="%s" style="font-family:\'%s\';font-weight:bold;color:%s; '
+ +'text-align:center;">%s</td>',
+ Calendar.CellWidth[i], fontface, this.gHeaderColor, Calendar.Weekdays[i]);
+ }
+ return (vCode + '</tr>');
+}
+
+Calendar.prototype.cal_data = function() {
+ var vDate = new Date();
+ vDate.setDate(1);
+ vDate.setMonth(this.gMonth);
+ vDate.setFullYear(this.gYear);
+
+ var vNowDay = gNow.getDate();
+ var vNowMonth = gNow.getMonth();
+ var vNowYear = gNow.getFullYear();
+
+ var yOK=!ggInactive||vNowYear<=vDate.getFullYear()?1:0;
+ var mOK=!ggInactive||vNowYear<vDate.getFullYear()||
+ (vNowYear==vDate.getFullYear()&&vNowMonth<=vDate.getMonth())?1:0;
+ var ymOK=yOK&&mOK?1:0;
+ var dOK=!ggInactive||vNowYear<vDate.getFullYear()||vNowMonth<vDate.getMonth()?1:0;
+
+ var vFirstDay=vDate.getDay();
+ var vDay=1;
+ var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear);
+ var vOnLastDay=0;
+ var vCode = '<tr>';
+ var i,j,k,m;
+ var orig = eval("document." + this.gReturnItem + ".value").toString();
+ /*
+ Get day for the 1st of the requested month/year..
+ Place as many blank cells before the 1st day of the month as necessary.
+ */
+ for (i=0; i<vFirstDay; i++) { vCode += sprintf(
+ '<td width="%s" %s style="font-family:\'%s\';text-align:center;">&nbsp;</td>',
+ Calendar.CellWidth[0], this.write_weekend_string(i),fontface);
+ }
+ // Write rest of the 1st week
+ for (j=vFirstDay; j<7; j++) { vCode += (ymOK)&&(vDay>=vNowDay||dOK)?sprintf(
+ '<td width="%s" %s style="font-family:\'%s\';text-align:center;"><a '
+ +'href="javascript:void(0);" title="%s: %s" '
+ +'onmouselver="window.status=\'%s: %s\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="document.%s.value=\'%s\';ggPosX= -1;ggPosY= -1;%scClick();'
+ +'if((ggOnChange)&&(document.%s.value!=\'%s\'))ggOnChange();">%s</a></td>',
+ Calendar.CellWidth[j+1], this.write_weekend_string(j), fontface,
+ calmsg[ggLang][4], this.format_data(vDay), calmsg[ggLang][4],
+ this.format_data(vDay), this.gReturnItem, this.format_data(vDay), OLfnRef,
+ this.gReturnItem, orig, this.format_day(vDay)):
+ sprintf('<td width="%s" %s style="font-family:\'%s\';text-align:center;">'
+ +'%s</td>', Calendar.CellWidth[j+1], this.write_weekend_string(j), fontface,
+ this.format_day(vDay));
+ vDay += 1;
+ }
+ vCode += '</tr>';
+
+ // Write the rest of the weeks
+ for (k=2; k<7; k++) {
+ vCode += '<tr>';
+ for (j=0; j<7; j++) { vCode += (ymOK)&&(vDay>=vNowDay||dOK)?sprintf(
+ '<td width="%s" %s style="font-family:\'%s\';text-align:center;"><a '
+ +'href="javascript:void(0);" title="%s: %s" '
+ +'onmouseover="window.status=\'%s: %s\'; return true;" '
+ +'onmouseout="window.status=\'\'; return true;" '
+ +'onclick="document.%s.value=\'%s\';ggPosX= -1;ggPosY= -1;%scClick();if'
+ +'((ggOnChange)&&(document.%s.value!=\'%s\'))ggOnChange();">%s</a></td>',
+ Calendar.CellWidth[j+1], this.write_weekend_string(j), fontface,
+ calmsg[ggLang][4], this.format_data(vDay),calmsg[ggLang][4],
+ this.format_data(vDay), this.gReturnItem, this.format_data(vDay),
+ OLfnRef, this.gReturnItem, orig, this.format_day(vDay)):sprintf(
+ '<td width="%s" %s style="font-family:\'%s\';text-align:center;">'
+ +'%s</td>', Calendar.CellWidth[j+1], this.write_weekend_string(j),
+ fontface, this.format_day(vDay));
+ vDay += 1;
+ if (vDay > vLastDay) {
+ vOnLastDay = 1;
+ break;
+ }
+ }
+ if (j == 6) vCode += '</tr>';
+ if (vOnLastDay == 1) break;
+ }
+
+ // Fill up the rest of last week with proper blanks, so that we get proper square blocks
+ for (m=1; m<(7-j); m++) { vCode += sprintf(
+ '<td width="%s" %s style="font-family:\'%s\';color:gray;text-align:center;"'
+ +'>&nbsp;</td>',
+ Calendar.CellWidth[m+1], this.write_weekend_string(j+m), fontface);
+ }
+ return vCode;
+}
+
+Calendar.prototype.format_day = function(vday) {
+ var vNowDay = gNow.getDate();
+ var vNowMonth = gNow.getMonth();
+ var vNowYear = gNow.getFullYear();
+
+ if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)
+ return ('<span style="color:red;font-weight:bold;">' + vday + '</span>');
+ else
+ return (vday);
+}
+
+Calendar.prototype.write_weekend_string = function(vday) {
+ var i;
+
+ // Return special formatting for the weekend day.
+ for (i=0; i<weekend.length; i++) {
+ if (vday == weekend[i])
+ return (' bgcolor="' + weekendColor + '"');
+ }
+
+ return "";
+}
+
+Calendar.prototype.format_data = function(p_day) {
+ var vData;
+ var vMonth = 1 + this.gMonth;
+ vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;
+ var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();
+ var vFMon = Calendar.get_month(this.gMonth).toUpperCase();
+ var vY4 = new String(this.gYear);
+ var vY2 = new String(this.gYear.substr(2,2));
+ var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;
+
+ switch (this.gFormat) {
+ case "MM\/DD\/YYYY" :
+ vData = vMonth + "\/" + vDD + "\/" + vY4;
+ break;
+ case "MM\/DD\/YY" :
+ vData = vMonth + "\/" + vDD + "\/" + vY2;
+ break;
+ case "MM-DD-YYYY" :
+ vData = vMonth + "-" + vDD + "-" + vY4;
+ break;
+ case "YYYY-MM-DD" :
+ vData = vY4 + "-" + vMonth + "-" + vDD;
+ break;
+ case "MM-DD-YY" :
+ vData = vMonth + "-" + vDD + "-" + vY2;
+ break;
+ case "DD\/MON\/YYYY" :
+ vData = vDD + "\/" + vMon + "\/" + vY4;
+ break;
+ case "DD\/MON\/YY" :
+ vData = vDD + "\/" + vMon + "\/" + vY2;
+ break;
+ case "DD-MON-YYYY" :
+ vData = vDD + "-" + vMon + "-" + vY4;
+ break;
+ case "DD-MON-YY" :
+ vData = vDD + "-" + vMon + "-" + vY2;
+ break;
+ case "DD\/MONTH\/YYYY" :
+ vData = vDD + "\/" + vFMon + "\/" + vY4;
+ break;
+ case "DD\/MONTH\/YY" :
+ vData = vDD + "\/" + vFMon + "\/" + vY2;
+ break;
+ case "DD-MONTH-YYYY" :
+ vData = vDD + "-" + vFMon + "-" + vY4;
+ break;
+ case "DD-MONTH-YY" :
+ vData = vDD + "-" + vFMon + "-" + vY2;
+ break;
+ case "DD\/MM\/YYYY" :
+ vData = vDD + "\/" + vMonth + "\/" + vY4;
+ break;
+ case "DD\/MM\/YY" :
+ vData = vDD + "\/" + vMonth + "\/" + vY2;
+ break;
+ case "DD-MM-YYYY" :
+ vData = vDD + "-" + vMonth + "-" + vY4;
+ break;
+ case "DD-MM-YY" :
+ vData = vDD + "-" + vMonth + "-" + vY2;
+ break;
+ case "DD.MM.YYYY" :
+ vData = vDD + "." + vMonth + "." + vY4;
+ break;
+ case "DD.MM.YY" :
+ vData = vDD + "." + vMonth + "." + vY2;
+ break;
+ default :
+ vData = vMonth + "\/" + vDD + "\/" + vY4;
+ }
+
+ return vData;
+}
+
+function Build(p_item, p_month, p_year, p_format) {
+ var gCal = new Calendar(p_item, p_month, p_year, p_format);
+
+ // Customize your Calendar here..
+ gCal.gBGColor="white";
+ gCal.gLinkColor="black";
+ gCal.gTextColor="black";
+ gCal.gHeaderColor="darkgreen";
+
+ // initialize the content string
+ ggWinContent = "";
+
+ // Check for DRAGGABLE support
+ if (typeof ol_draggable == 'undefined') DRAGGABLE = DONOTHING;
+
+ // Choose appropriate show function
+ if (gCal.gYearly) {
+ // Note: you can set ggPosX and ggPosY as part of the onclick javascript
+ // code before you call the show_yearly_calendar function:
+ // onclick="ggPosX=20;ggPosY=5;show_yearly_calendar(...);"
+ if (OLns6) {
+ if (ggPosX == -1) ggPosX = 20;
+ if (ggPosY == -1) ggPosY = 10;
+ }
+ if (fontsize == 8) fontsize = 6;
+ // generate the calendar
+ gCal.showY();
+ } else {
+ if (fontsize == 6) fontsize = 8;
+ gCal.show();
+ }
+
+ // Clear any previous EXCLUSIVE setting
+ o3_exclusive=0;
+ // If X and Y positions are not specified use MIDX and RELY
+ if (ggPosX == -1 && ggPosY == -1) {
+ overlib(ggWinContent, AUTOSTATUSCAP, STICKY, EXCLUSIVE, DRAGGABLE,
+ CLOSECLICK, TEXTSIZE,'8pt', CAPTIONSIZE,'8pt', CLOSESIZE,'8pt',
+ CAPTION,calmsg[ggLang][5], CLOSETITLE,calmsg[ggLang][8],CLOSETEXT,
+ '<span style="background:#e0e0e0;color:#000000;text-decoration:none;'
+ +'font-weight:bold;">&nbsp;X&nbsp;</span>', MIDX,0, RELY,10);
+ // Otherwise use FIXX and FIXY
+ } else {
+ // Make sure popup is on screen
+ var X = ((ggPosX < 10)?0:ggPosX - 10), Y = ((ggPosY < 10)?0:ggPosY - 10);
+ window.scroll(X, Y);
+ // Put up the calendar
+ overlib(ggWinContent, AUTOSTATUSCAP, STICKY, EXCLUSIVE, DRAGGABLE,
+ CLOSECLICK, TEXTSIZE,'8pt', CAPTIONSIZE,'8pt', CLOSESIZE,'8pt',
+ CAPTION,calmsg[ggLang][5], CLOSETITLE,calmsg[ggLang][8],CLOSETEXT,
+ '<span style="background:#e0e0e0;color:#000000;text-decoration:none;'
+ +'font-weight:bold;">&nbsp;X&nbsp;</span>', FIXX,ggPosX, FIXY,ggPosY);
+ // Reset the position variables
+ ggPosX = -1; ggPosY = -1;
+ }
+}
+
+function show_calendar() {
+ var p_item // Return Item.
+ var p_month // 0-11 for Jan-Dec; 12 for All Months.
+ var p_year // 4-digit year
+ var p_format // Date format (YYYY-MM-DD, DD/MM/YYYY, ...)
+ fontsize = 8;
+
+ Calendar.Months = CalendarMonths[ggLang];
+ Calendar.Weekdays = CalendarWeekdays[ggLang];
+
+ p_item = arguments[0];
+ if (arguments[1] == "" || arguments[1] == null || arguments[1] == '12')
+ p_month = new String(gNow.getMonth());
+ else
+ p_month = arguments[1];
+ if (arguments[2] == "" || arguments[2] == null)
+ p_year = new String(gNow.getFullYear().toString());
+ else
+ p_year = arguments[2];
+ if (arguments[3] == "" || arguments[3] == null)
+ p_format = datFormat[ggLang];
+ else
+ p_format = arguments[3];
+
+ if (OLns4) return overlib(calmsg[ggLang][6]+p_format,
+ FGCOLOR,'#ffffcc', TEXTSIZE,2, STICKY, NOCLOSE, OFFSETX,-10, OFFSETY,-10,
+ WIDTH,110, BASE,2);
+
+ Build(p_item, p_month, p_year, p_format);
+}
+
+function show_yearly_calendar() {
+ var p_item // Return Item.
+ var p_year // 4-digit year
+ var p_format // Date format (YYYY-MM-DD, DD/MM/YYYY, ...)
+
+ Calendar.Months = CalendarMonths[ggLang];
+ Calendar.Weekdays = CalendarWeekdays[ggLang];
+
+ p_item = arguments[0];
+ if (arguments[1] == "" || arguments[1] == null)
+ p_year = new String(gNow.getFullYear().toString());
+ else
+ p_year = arguments[1];
+ if (arguments[2] == "" || arguments[2] == null)
+ p_format = datFormat[ggLang];
+ else
+ p_format = arguments[2];
+
+ if (OLns4) return overlib(calmsg[ggLang][6]+p_format,
+ FGCOLOR,'#ffffcc', TEXTSIZE,2, STICKY, NOCLOSE, OFFSETX,-10, OFFSETY,-10,
+ WIDTH,110, BASE,2);
+
+ Build(p_item, null, p_year, p_format);
+}
diff --git a/src/extras/sos-html-logs/share/html/overlib/cornerBL.gif b/src/extras/sos-html-logs/share/html/overlib/cornerBL.gif
new file mode 100644
index 00000000..e5af971f
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/cornerBL.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/cornerBR.gif b/src/extras/sos-html-logs/share/html/overlib/cornerBR.gif
new file mode 100644
index 00000000..7f970708
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/cornerBR.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/cornerTL.gif b/src/extras/sos-html-logs/share/html/overlib/cornerTL.gif
new file mode 100644
index 00000000..242b06f7
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/cornerTL.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/cornerTR.gif b/src/extras/sos-html-logs/share/html/overlib/cornerTR.gif
new file mode 100644
index 00000000..9d7cc784
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/cornerTR.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/edgeB.gif b/src/extras/sos-html-logs/share/html/overlib/edgeB.gif
new file mode 100644
index 00000000..cef34c0f
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/edgeB.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/edgeL.gif b/src/extras/sos-html-logs/share/html/overlib/edgeL.gif
new file mode 100644
index 00000000..592c1b1f
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/edgeL.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/edgeR.gif b/src/extras/sos-html-logs/share/html/overlib/edgeR.gif
new file mode 100644
index 00000000..d3d66351
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/edgeR.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/edgeT.gif b/src/extras/sos-html-logs/share/html/overlib/edgeT.gif
new file mode 100644
index 00000000..416a31d0
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/edgeT.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/exit.gif b/src/extras/sos-html-logs/share/html/overlib/exit.gif
new file mode 100644
index 00000000..9f9bc80e
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/exit.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/flower.gif b/src/extras/sos-html-logs/share/html/overlib/flower.gif
new file mode 100644
index 00000000..101275eb
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/flower.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/iframecontentmws.js b/src/extras/sos-html-logs/share/html/overlib/iframecontentmws.js
new file mode 100644
index 00000000..ffcebf38
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/iframecontentmws.js
@@ -0,0 +1,53 @@
+/*
+ iframecontentmws.js - Foteos Macrides (author and copyright holder)
+ Initial: October 10, 2004 - Last Revised: November 11, 2006
+ Scripts for using HTML documents as iframe content in overlibmws popups.
+
+ See http://www.macridesweb.com/oltest/IFRAME.html
+ and http://www.macridesweb.com/oltest/AJAX.html#ajaxex3
+ for more information.
+*/
+
+/*
+ Use as lead argument in overlib or overlb2 calls. Include WRAP and
+ TEXTPADDING,0 in the call to ensure that the width arg is respected (unless
+ the CAPTION plus CLOSETEXT widths add up to more than the width arg, in which
+ case you should increase the width arg). The name arg should be a unique
+ string for each popup with iframe content in the document. The frameborder
+ arg should be 1 (browser default if omitted) or 0. The scrolling arg should
+ be 'auto' (default if omitted), 'yes' or 'no'.
+*/
+function OLiframeContent(src, width, height, name, frameborder, scrolling) {
+ return ('<iframe src="'+src+'" width="'+width+'" height="'+height+'"'
+ +(name!=null?' name="'+name+'" id="'+name+'"':'')
+ +(frameborder!=null?' frameborder="'+frameborder+'"':'')
+ +' scrolling="'+(scrolling!=null?scrolling:'auto')
+ +'"><div>[iframe not supported]</div></iframe>');
+}
+
+/*
+ Swap the src if we are iframe content. The name arg should be the same
+ string as in the OLiframeContent function for the popup. The src arg is
+ a partial, relative, or complete URL for the document to be swapped in.
+*/
+function OLswapIframeSrc(name, src){
+ if(parent==self){
+ alert(src+'\n\n is only for iframe content');
+ return;
+ }
+ var o=parent.OLgetRef(name);
+ if(o)o.src=src;
+ else alert(src+'\n\n is not available');
+}
+
+/*
+ Emulate the Back button if we are iframe content. Use only in documents
+ which are swapped in by using the OLswapIframeSrc function.
+*/
+function OLiframeBack(){
+ if(parent==self){
+ alert('This feature is only for iframe content');
+ return;
+ }
+ history.back();
+}
diff --git a/src/extras/sos-html-logs/share/html/overlib/license.html b/src/extras/sos-html-logs/share/html/overlib/license.html
new file mode 100644
index 00000000..1cf6457a
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/license.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="content-Type" content="text/html; charset=iso-8859-1">
+<meta name="keywords" content="overlib, overlibmws, DHTML popups, DHTML tooltips, DHTML, popup, tooltip, Macrides Web Services, Macrides">
+<meta name="description" content="Open source license for the overlibmws DHTML popup and tooltip software package.">
+<meta name="author" content="Foteos Macrides">
+<title>overLIB - License for the overlibmws package</title>
+
+<script type="text/javascript">
+<!--
+var OLbubbleImageDir='http://www.macridesweb.com/oltest/';
+var OLbubbleImages='flower';
+//-->
+</script>
+
+<script type="text/javascript"
+ src="http://www.macridesweb.com/oltest/overlibmws.js"></script>
+<script type="text/javascript"
+ src="http://www.macridesweb.com/oltest/overlibmws_filter.js"></script>
+<script type="text/javascript"
+ src="http://www.macridesweb.com/oltest/overlibmws_bubble.js"></script>
+<script type="text/javascript"
+ src="http://www.macridesweb.com/oltest/overlibmws_shadow.js"></script>
+
+<script type="text/javascript">
+<!--
+OLpageDefaults(TEXTPADDING,6,CAPTIONPADDING,6,WRAP,
+ FILTER,FILTERSHADOW,1,FILTERSHADOWCOLOR,'#cf33cf',
+ SHADOW,SHADOWCOLOR,'#cf33cf',SHADOWOPACITY,100);
+
+// Preload backgound images.
+rainbowline=new Image();
+rainbowline.src="http://www.macridesweb.com/image/rainbowline.gif"
+rb=new Image();
+rb.src="http://www.macridesweb.com/image/rb.jpg"
+// -->
+</script>
+
+<style type="text/css">
+<!--
+.oltxt14 {font-family:Verdana;font-size:14px;font-weight:bold;color:#330033;}
+a {color:#338855;font-weight:bold;}
+a:hover {color:#FF00FF}
+.txtb12 {font-family:Verdana,Arial,sans-serif;font-size:12px;font-weight:bold;}
+.text14 {font-family:Verdana,Arial,sans-serif;font-size:14px;}
+.text20 {font-family:Verdana,Arial,sans-serif;font-size:20px;font-weight:bold;}
+.text22 {font-family:Verdana,Arial,sans-serif;font-size:22px;font-weight:bold;}
+.myText {font-family:Verdana,Arial,Helvetica,sans-serif;font-size:13px;color:#000000;}
+.snip {font-family:Verdana,Arial,Helvetica;font-size:10px;}
+.purple14 {font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;color:purple;
+ font-weight:bold;}
+.purple22 {font-family:Verdana,Arial,Helvetica,sans-serif;font-size:22px;color:purple;
+ font-weight:bold;font-style:italic;}
+.comic20 {font-family:'Comic Sans MS';font-size:20px;}
+-->
+</style>
+</head>
+
+<body text="#000000" bgcolor="#ddeeff">
+
+<table width="90%" cellpadding="0" cellspacing="0" align="center">
+ <tr>
+ <td align="center" class="text22">
+ Open Source License for the <span class="purple22">overlibmws</span> Package
+ </td>
+ </tr>
+ <tr>
+ <td class="text14">
+ <br>
+ <span class="text20">1. License coverage</span>
+ <br><br>
+ Note that this license only covers the script library (javascript core and plugin modules)
+ and not any supporting material such as the <span class="purple14">overlibmws</span> <a
+ href="http://www.macridesweb.com/oltest/"
+ onmouseover="return overlib('Link to the Download and Test Directory for '
+ +'&lt;span class=\'purple14\'&gt;&lt;i&gt;overlibmws&lt;/i&gt;&lt;/span&gt;',
+ TEXTFONTCLASS,'myText', VAUTO, OFFSETY,20, CENTER, FGCOLOR,'#cceeff');"
+ onmouseout="nd();">website</a> or its online documentation and support files. You may not
+ reproduce the website or its online material without explicit written permission from the
+ author, but can freely incorporate scripts and procedures which are demonstrated in that
+ material into your own HTML or XML documents.
+ <br><br>
+ <span class="text20">2. License (Artistic)</span>
+ <ul>
+ <li>
+ <b>Preamble</b><br>
+ The intent of this document is to state the conditions under which a Package may be
+ copied, such that the Copyright Holder maintains some semblance of artistic control over
+ the development of the package, while giving the users of the package the right to use
+ and distribute the Package in a more-or-less customary fashion, plus the right to make
+ reasonable modifications.
+ </li>
+ </ul>
+ <ul>
+ <li>
+ <b>Definitions:</b><br>
+ "Package" refers to the collection of files distributed by the Copyright Holder, and
+ derivatives of that collection of files created through textual modification.
+ <br><br>
+ "Standard Version" refers to such a Package if it has not been modified, or has been
+ modified in accordance with the wishes of the Copyright Holder.
+ <br><br>
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+ <br><br>
+ "You" is you, if you're thinking about copying or distributing this Package.
+ <br><br>
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost,
+ duplication charges, time of people involved, and so on. (You will not be required to
+ justify it to the Copyright Holder, but only to the computing community at large as a
+ market that must bear the fee.)
+ <br><br>
+ "Freely Available" means that no fee is charged for the item itself, though there may be
+ fees involved in handling the item. It also means that recipients of the item may
+ redistribute it under the same conditions they received it.
+ </li>
+ </ul>
+ <ol>
+ <li>
+ You may make and give away verbatim copies of the source form of the Standard Version
+ of this Package without restriction, provided that you duplicate all of the original
+ copyright notices and associated disclaimers.
+ </li>
+ <li>
+ You may apply bug fixes, portability fixes and other modifications derived from the
+ Public Domain or from the Copyright Holder. A Package modified in such a way shall still
+ be considered the Standard Version.
+ </li>
+ <li>
+ You may otherwise modify your copy of this Package in any way, provided that you insert
+ a prominent notice in each changed file stating how and when you changed that file, and
+ provided that you do at least ONE of the following:
+ <ol>
+ <li>
+ place your modifications in the Public Domain or otherwise make them Freely Available,
+ such as by posting said modifications to Usenet or an equivalent medium, or placing the
+ modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright
+ Holder to include your modifications in the Standard Version of the Package.
+ </li>
+ <li>
+ use the modified Package only within your corporation or organization.
+ </li>
+ <li>
+ rename any non-standard executables so the names do not conflict with standard
+ executables, which must also be provided, and provide a separate manual page for each
+ non-standard executable that clearly documents how it differs from the Standard Version.
+ </li>
+ <li>
+ make other distribution arrangements with the Copyright Holder.
+ </li>
+ </ol>
+ </li>
+ <li>
+ You may distribute the programs of this Package in object code or executable form,
+ provided that you do at least ONE of the following:
+ <ol>
+ <li>
+ distribute a Standard Version of the executables and library files, together with
+ instructions (in the manual page or equivalent) on where to get the Standard Version.
+ </li>
+ <li>
+ accompany the distribution with the machine-readable source of the Package with your
+ modifications.
+ </li>
+ <li>
+ accompany any non-standard executables with their corresponding Standard Version
+ executables, giving the non-standard executables non-standard names, and clearly
+ documenting the differences in manual pages (or equivalent), together with instructions
+ on where to get the Standard Version.
+ </li>
+ <li>
+ make other distribution arrangements with the Copyright Holder.
+ </li>
+ </ol>
+ </li>
+ <li>
+ You may charge a reasonable copying fee for any distribution of this Package. You may
+ charge any fee you choose for support of this Package. You may not charge a fee for this
+ Package itself. However, you may distribute this Package in aggregate with other (possibly
+ commercial) programs as part of a larger (possibly commercial) software distribution
+ provided that you do not advertise this Package as a product of your own.
+ </li>
+ <li>
+ The scripts and library files supplied as input to or produced as output from the programs
+ of this Package do not automatically fall under the copyright of this Package, but belong
+ to whomever generated them, and may be sold commercially, and may be aggregated with this
+ Package.
+ </li>
+ <li>
+ C or perl subroutines supplied by you and linked into this Package shall not be considered
+ part of this Package.
+ </li>
+ <li>
+ The name of the Copyright Holder may not be used to endorse or promote products derived
+ from this software without specific prior written permission.
+ </li>
+ <li>
+ THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+ WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE.
+ </li>
+ </ol>
+ <br>
+ </td>
+ </tr>
+</table>
+
+<table align="center" cellpadding="0" cellspacing="0" border="0" bgcolor="#ccddff">
+ <tr>
+ <td width="90" align="right" valign="middle" class="myText">
+ <a
+ href="http://www.macridesweb.com/oltest/"
+ onmousemove="if(OLie55)self.status=this.href;"
+ onmouseover="return overlib(
+ 'Popups by &lt;span class=\'purple14\'&gt;&lt;i&gt;overlibmws&lt;/i&gt;&lt;/span&gt;',
+ REF,'logo',REFX,96,REFY,-4,BORDER,3,BASE,3,TEXTPADDING,4,TEXTFONTCLASS,'oltxt14',
+ FGBACKGROUND,'http://www.macridesweb.com/image/rb.jpg',
+ BGBACKGROUND,'http://www.macridesweb.com/image/rainbowline.gif');"
+ onmouseout="nd();"><img
+ name='logo' id="logo"
+ width="88" height="31" hspace="10" vspace="10" align="right" border="0" alt=""
+ src="http://www.macridesweb.com/image/overlibmwslogo.gif"></a><br>
+ </td>
+ <td valign="middle" class="snip">
+ Copyright Foteos Macrides<br>
+ &nbsp;&nbsp;2002-2007.<br>
+ &nbsp;&nbsp;All rights reserved.<br>
+ </td>
+ <td width="72" align="right" valign="middle" class="myText">
+ <a
+ target="_blank"
+ href="https://www.paypal.com/xclick/business=overlibmws%40macridesweb.com&amp;item_name=Donation+for+overlibmws&amp;no_note=1&amp;tax=0&amp;currency_code=USD"
+ onmousemove="if(OLie55)self.status=this.href;"
+ onmouseover="return overlib(
+ 'The &lt;span class=\'purple14\'&gt;&lt;i&gt;overlibmws&lt;/i&gt;&lt;/span&gt; library '
+ +'and its support materials at this site are &lt;br&gt;free to download and use, but '
+ +'voluntary donations via PayPal are&lt;br&gt;appreciated (donations via PayPal are fast, '
+ +'simple, and secure).',TEXTPADDING,8,FGCOLOR,'#bbddff',
+ FGBACKGROUND,'http://www.macridesweb.com/image/rb.jpg',
+ REF,'logo',REFC,'UL',REFP,'LL',REFX,-10,REFY,-10,TEXTFONTCLASS,'txtb12',BORDER,6,BASE,6,
+ BGBACKGROUND,'http://www.macridesweb.com/image/rainbowline.gif');"
+ onmouseout="nd();"><img
+ src="http://www.macridesweb.com/image/PayPalDonate.gif"
+ width="62" height="31" border="0"
+ alt=""></a><br>
+ </td>
+ <td width="110" align="right" valign="middle" class="myText">
+ <a
+ onmousemove="if(OLie55)self.status=this.href;"
+ onmouseover="return overlib('&nbsp;Valid&nbsp;HTML&nbsp;4.01',BUBBLE,
+ TEXTFONTCLASS,'comic20',REF,'w3c',REFC,'UR',REFP,'LR',REFX,73,REFY,2,
+ FILTERSHADOW,1,FILTERSHADOWCOLOR,'#00B000');"
+ onmouseout="nd();"
+ href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.macridesweb.com%2Foltest%2Flicense.html"><img
+ name="w3c" id="w3c"
+ border="0" height="31" width="88" alt="" hspace="6"
+ src="http://www.macridesweb.com/image/valid-html401.gif"></a><br>
+ </td>
+ </tr>
+</table>
+<br>
+
+</body>
+</html>
diff --git a/src/extras/sos-html-logs/share/html/overlib/loading.gif b/src/extras/sos-html-logs/share/html/overlib/loading.gif
new file mode 100644
index 00000000..5c8f1ef5
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/loading.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/objectcontentmws.js b/src/extras/sos-html-logs/share/html/overlib/objectcontentmws.js
new file mode 100644
index 00000000..94d1e4f3
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/objectcontentmws.js
@@ -0,0 +1,16 @@
+/*
+ objectcontentmws.js - Foteos Macrides
+ Initial: October 10, 2004 - Last Revised: November 22, 2004
+ Simple script for using an HTML file as object content in overlibmws popups.
+ Include WRAP and TEXTPADDING,0 in the overlib call to ensure that the width
+ argument is respected (unless the CAPTION plus CLOSETEXT widths add up to more
+ than the width argument, in which case you should increase the width argument).
+
+ See http://www.macridesweb.com/oltest/overflow.html for demonstrations.
+*/
+
+function OLobjectContent(data, width, height, name) {
+ return ('<object data="'+data+'" width="'+width+'" height="'+height+'"'
+ +(name?' name="'+name+'" id="'+name+'"':'')+' type="text/html">'
+ +'<div>[object not supported]</div></object>');
+}
diff --git a/src/extras/sos-html-logs/share/html/overlib/oval.gif b/src/extras/sos-html-logs/share/html/overlib/oval.gif
new file mode 100644
index 00000000..7e1af22f
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/oval.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibCompat.js b/src/extras/sos-html-logs/share/html/overlib/overlibCompat.js
new file mode 100644
index 00000000..f8fb88d4
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibCompat.js
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////////
+// OVERLIB 2 COMPATABILITY FUNCTIONS
+// Include this if you are upgrading from overlib v2.x. Otherwise, forget it.
+////////////////////////////////////////////////////////////////////////////////////
+// Converts old 0=left, 1=right and 2=center into constants.
+function vpos_convert(d){if(d==0){d=LEFT;}else{if(d==1){d=RIGHT;}else{d=CENTER;}}return d;}
+// Simple popup
+function dts(d,text){o3_hpos=vpos_convert(d);overlib(text,o3_hpos,CAPTION,"");}
+// Caption popup
+function dtc(d,text,title){o3_hpos=vpos_convert(d);overlib(text,CAPTION,title,o3_hpos);}
+// Sticky
+function stc(d,text,title){o3_hpos=vpos_convert(d);overlib(text,CAPTION,title,o3_hpos,STICKY);}
+// Simple popup right
+function drs(text){dts(1,text);}
+// Caption popup right
+function drc(text,title){dtc(1,text,title);}
+// Sticky caption right
+function src(text,title){stc(1,text,title);}
+// Simple popup left
+function dls(text){dts(0,text);}
+// Caption popup left
+function dlc(text,title){dtc(0,text,title);}
+// Sticky caption left
+function slc(text,title){stc(0,text,title);}
+// Simple popup center
+function dcs(text){dts(2,text);}
+// Caption popup center
+function dcc(text,title){dtc(2,text,title);}
+// Sticky caption center
+function scc(text,title){stc(2,text,title);}
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibConfig.txt b/src/extras/sos-html-logs/share/html/overlib/overlibConfig.txt
new file mode 100644
index 00000000..d1059303
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibConfig.txt
@@ -0,0 +1,641 @@
+
+Below are described the configuration variables and arrays associated with the
+overlib commands, and their defaults as set in the
+ overlibmws.js
+core module and the
+ overlibmws_bubble.js, overlibmws_crossframe.js, overlibmws_debug.js,
+ overlibmws_draggable.js, overlibmws_exclusive.js, overlib_filter.js,
+ overlibmws_function.js, overlibmws_hide.js, overlibmws_modal.js,
+ overlibmws_overtwo.js, overlibmws_print.js, overlibmws_scroll.js and
+ overlibmws_shadow.js
+plugin modules. The
+ overlibmws_iframe.js and overlib_regCore.js
+plugin modules do not have configuration variables or arrays.
+
+You can change any of the configuration default values for all pages by making
+the modifications in overlibmws.js or the plugin modules, or for individual HTML
+pages by declaring any of these variables with the values you prefer in a SCRIPT
+block or imported js file for those pages.
+
+You instead can change the configuration default values for individual HTML pages by
+calling the OLpageDefaults(arguments) function in a SCRIPT block or imported js file
+with "arguments" consisting of a comma-separated list of uppercase command names and
+their parameters if any, homologously to the arguments for an overlib() call.
+
+The overlibmws_overtwo.js module is used by calling overlib2() and nd2() from within
+an overlib() call that invokes a primary popup, to invoke and close secondary popups.
+Its LABLE2 command and its configuration variable are specific to the secondary popups,
+and are complementary to the core module's LABLEL command and its configuration variable
+for primary popups.
+
+The overlibmws_iframe.js module has no additional commands, and thus no configuration
+variables. It should be imported when a page has system controls (e.g., some form
+elements, flash objects, applets) which obscure overlib popups. It corrects this
+problem for IE v5.5 or higher. For versions of IE lower than v5.5 and for other browsers,
+you can use commands in the overlibmws_hide.js plugin module. See the examples in
+http://www.macridesweb.com/oltest/hide.html and http://www.macridesweb.com/oltest/flash.html
+on how to use those command to hide the system controls when overlib popups are invoked.
+
+The overlibmws_regCore.js module has no overlib() or overlib2() commands, and thus
+no configuration variables. It should be imported in frames which will not themselves
+import the core module and any plugin modules, but instead will use those in another
+frame. See its header for more information. Examples of its use are in
+http://www.macridesweb.com/oltest/testFrame.html
+
+See the overlibmws Command Reference (http://www.macridesweb.com/oltest/commandRef.html)
+for more information about the commands, configuration variables, and plugin modules.
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR CORE MODULE overlibmws.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// FGCOLOR - Main background color (the large area).
+// Usually a bright color (white, yellow etc).
+var ol_fgcolor = "#CCCCFF";
+
+// BGCOLOR - Border color.
+// Usually a dark color (black, brown etc).
+var ol_bgcolor = "#333399";
+
+// CGCOLOR - Caption background color (typically same as border color).
+// Usually a dark color (black, brown etc).
+var ol_cgcolor = "#333399";
+
+// TEXTCOLOR - Text color.
+// Usually a dark color.
+var ol_textcolor = "#000000";
+
+// CAPCOLOR - Color of the caption text.
+// Usually a bright color
+var ol_capcolor = "#FFFFFF";
+
+// CLOSECOLOR - Color of "Close" when using Sticky.
+// Usually a semi-bright color.
+var ol_closecolor = "#9999FF";
+
+// TEXTFONT - Font face for the main text.
+var ol_textfont = "Verdana,Arial,Helvetica";
+
+// CAPTIONFONT - Font face for the caption.
+var ol_captionfont = "Verdana,Arial,Helvetica";
+
+// CLOSEFONT - Font face for the close text.
+var ol_closefont = "Verdana,Arial,Helvetica";
+
+// TEXTSIZE - Font size for the main text.
+var ol_textsize = "1";
+
+// CAPTIONSIZE - Font size for the caption.
+var ol_captionsize = "1";
+
+// CLOSESIZE - Font size for the close text.
+var ol_closesize = "1";
+
+// FGCLASS - Main background class.
+var ol_fgclass = "";
+
+// BGCLASS - Frame background class.
+var ol_bgclass = "";
+
+// CGCLASS - Caption background class.
+var ol_cgclass = "";
+
+// TEXTPADDING - Padding for main text.
+var ol_textpadding = "2";
+
+// TEXTFONTCLASS - Main font class.
+var ol_textfontclass = "";
+
+// CAPTIONPADDING - Padding for caption (including Close text if present).
+var ol_captionpadding = "2";
+
+// CAPTIONFONTCLASS - Caption font class.
+var ol_captionfontclass = "";
+
+// CLOSEFONTCLASS - Close font class.
+var ol_closefontclass = "";
+
+// CLOSECLICK - If the user has to click to close stickies.
+var ol_closeclick = 0;
+
+// CLOSETEXT - Text for the closing sticky popups. Normal is "Close".
+var ol_close = "Close";
+
+// CLOSETITLE - Text to use as value of TITLE attribute for browser-generated TooTips
+// with the "Close" link in captions of stickies when CLOSECLICK is changed to 1;
+var ol_closetitle = "Click to Close";
+
+// Default text for popups
+// Should you forget to pass something to overLIB this will be displayed.
+var ol_text = "Default Text";
+
+// Default caption
+// You should leave this blank or you will have problems making non caps popups.
+var ol_cap = "";
+
+// CAPBELOW - Whether the caption should appear below the main text area. Default is
+// off (0) such that the caption appears above.
+var ol_capbelow=0;
+
+// BACKGROUND - Default background image. Better left empty unless you always want one.
+var ol_background = "";
+
+// WIDTH - Default width of the popups in pixels. 100-300 pixels is typical.
+// This value is simply a suggestion to the browser, which may change the
+// actual width depending on the content.
+var ol_width = "200";
+
+// WRAP - Intended to keep the popup no wider than its content plus normal padding, but
+// to wrap the content if it would exceed the window width, or if it would exceed WRAPMAX
+// when that has been set to a value greater than zero.
+// Overrides the o3_width setting. Default is no wrap (0).
+var ol_wrap = 0;
+
+// WRAPMAX - If set to a value greater than 0, sets the maximum width of the popup, up to
+// the window width, before wrapping occurs when the WRAP command is set.
+var ol_wrapmax = 0;
+
+// HEIGHT - Default height for popup. Often best left alone.
+var ol_height = -1;
+
+// BORDER - How thick the ol_border should be in pixels.
+// 1-3 pixels is typical.
+var ol_border = "1";
+
+// BASE - Any additional thickening of the border's base in pixels.
+var ol_base = "0";
+
+// OFFSETX - How many pixels to the right (positive values) or left (negative values)
+// of the cursor to show the popup. Values between 3 and 12 are best.
+var ol_offsetx = 10;
+
+// OFFSETY - How many pixels below (positive values) or above (negative values) the
+// cursor to show the popup. Values between 3 and 20 are best.
+var ol_offsety = 10;
+
+// STICKY - Decides if sticky popups are default. 0 for non, 1 for stickies.
+var ol_sticky = 0;
+
+// NOFOLLOW - Should non-sticky popups not follow cursor movements (i.e., remain
+// stationary where initially positioned on invocation, like title-based tooltips).
+var ol_nofollow = 0;
+
+// NOCLOSE - Omit Close text in stickies with captions, for all stickies use mouse off
+// after mouse over sticky to close, and cancel any timeout while over sticky.
+var ol_noclose = 0;
+
+// MOUSEOFF - For stickies which do have a caption with a CLOSETEXT, also use mouse off
+// after mouse over sticky to close, and cancel any timeout while over sticky.
+var ol_mouseoff = 0;
+
+// OFFDELAY - Default delay for closing NOCLOSE or MOUSEOFF popups. If a mouse over the
+// sticky occurs during this delay, the close is cancelled.
+var ol_delay = 300;
+
+// RIGHT - Default vertical alignment for popups.
+// It's best to leave RIGHT here. Other options are LEFT and CENTER.
+var ol_hpos = RIGHT;
+
+// BELOW - Default vertical position of the popups.
+// It's best to leave BELOW here. Other options are ABOVE and VCENTER.
+var ol_vpos = BELOW;
+
+// Default status bar text when a popup is invoked.
+var ol_status = "";
+
+// AUTOSTATUS, AUTOSTATUSCAP - If the status bar automatically should load either
+// text or caption. 0=nothing, 1=text, 2=caption
+var ol_autostatus = 0;
+
+// SNAPX - Horizontal grid spacing that popups will snap to.
+// 0 makes no grid, anything else will cause a snap to that grid spacing.
+var ol_snapx = 0;
+
+// SNAPY - Vertical grid spacing that popups will snap to.
+// 0 makes no grid, anything else will cause a snap to that grid spacing.
+var ol_snapy = 0;
+
+// FIXX - Sets the popup horizontal position to a fixed column.
+// Numbers greater than -1 will cause fixed position.
+var ol_fixx = -1;
+
+// FIXY - Sets the popup vertical position to a fixed row.
+// Numbers greater than -1 will cause fixed position.
+var ol_fixy = -1;
+
+// RELX - Sets the popup horizontal position to a column relative to the window display.
+// Anything numeric (non-null) will cause relative position. Positive and 0 is to
+// the right from left window margin for left margin of popup. Negative is to the
+// left from right window margin for right margin of popup.
+var ol_relx = null;
+
+// RELY - Sets the popup vertical position to a row relative to the window display.
+// Anything numeric (non-null) will cause relative position. Positive and 0 is down
+// from top window margin for top margin of popup. Negaive is up from bottom window
+// margin for bottom margin of popup.
+var ol_rely = null;
+
+// MIDX - Sets the popup horizontal midpoint to a column relative to the window horizontal
+// midpoint. Anything numeric (non-null) will cause midpoint position. Positive and
+// 0 is to the right from the window midpoint. Negative is to the left.
+var ol_midx = null;
+
+// MIDY - Sets the popup vertical midpoint to a row relative to the window vertical midpoint.
+// Anything numeric (non-null) will cause midpoint position. Positive and 0 is down from
+// the window midpoint. Negative is up.
+var ol_midy = null;
+
+// REF - The NAME of an anchor or image, or ID of a layer, to serve as a reference object such
+// that a corner of the popup will be positioned relative to a corner of the object.
+var ol_ref = "";
+
+// REFC - Corner of the reference object for positioning.
+// Value can be: 'UL' (Upper Left), 'UR', 'LR', or 'LL'.
+var ol_refc = 'UL';
+
+// REFP - Corner of the popup for positioning.
+// Value can be: 'UL' (Upper Left), 'UR', 'LR', or 'LL'.
+var ol_refp = 'UL';
+
+// REFX - X displacement from the reference point. Positive to the right,
+// negative left.
+var ol_refx = 0;
+
+// REFY - Y displacement from the reference point. Positive down, negative up.
+var ol_refy = 0;
+
+// FGBACKGROUND - Background image for the popup's inside.
+var ol_fgbackground = "";
+
+// BGBACKGROUND - Background image for the popup's frame (border).
+var ol_bgbackground = "";
+
+// CGBACKGROUND - Background image for the caption.
+var ol_cgbackground = "";
+
+// PADX
+// How much horizontal left padding text should get by default when BACKGROUND is used.
+var ol_padxl = 1;
+// How much horizontal right padding text should get by default when BACKGROUND is used.
+var ol_padxr = 1;
+
+// PADY
+// How much vertical top padding text should get by default when BACKGROUND is used.
+var ol_padyt = 1;
+// How much vertical bottom padding text should get by default when BACKGROUND is used.
+var ol_padyb = 1;
+
+// FULLHTML - If the user by default must supply all html for complete control of popup content.
+// Set to 1 to activate, 0 otherwise.
+var ol_fullhtml = 0;
+
+// CAPICON - Default icon to place next to the popups caption.
+var ol_capicon = "";
+
+// FRAME - Default frame. We default to current frame if there is no frame defined.
+var ol_frame = self;
+
+// TIMEOUT - Default timeout. By default there is no timeout.
+var ol_timeout = 0;
+
+// DELAY - Default delay for onset of popup. By default there is no delay.
+var ol_delay = 0;
+
+// HAUTO - If overLIB should decide the horizontal placement.
+var ol_hauto = 0;
+
+// VAUTO - If overLIB should decide the vertical placement.
+var ol_vauto = 0;
+
+// NOJUSTX - If overLIB should let popups overrun the left or right window margins.
+var ol_nojustx = 0;
+
+// NOJUSTY - If overLIB should let popups overrun the top or bottom window margins.
+var ol_nojusty = 0;
+
+// LABEL - A labeling string for the primary popup while it is displayed (visible).
+var ol_label = "";
+
+// DECODE - If overLIB should automatically decode any URL-encoded characters in
+// lead argument and/or caption.
+var ol_decode = "";
+
+////////////////////////////////////////////////////////////////////////////////////
+// ARRAY CONFIGURATION FOR CORE MODULE overlibmws.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// INARRAY - Array with texts.
+var ol_texts = new Array(
+ "Text 0",
+ "Text 1");
+
+// CAPARRAY - Array with captions.
+var ol_caps = new Array(
+ "Caption 0",
+ "Caption 1");
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_bubble.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// BUBBLE - Whether to use a bubble type popup. Default is no (0).
+var ol_bubble = 0;
+
+// BUBBLETYPE - Type of bubble image to use. Default is 'flower'. Other options are
+// 'oval', 'square', 'pushpin', 'quotation', or 'roundedcorners'. Specify directory
+// for images via the last parameter of registerImages() near the top of the plugin
+// module (default value is './').
+var ol_bubbletype = 'flower';
+
+// ADJBUBBLE - Whether to resize the image in relation to the content.
+// Default is no (0).
+var ol_adjbubble = 0;
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_bubble.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_crossframe.js
+////////////////////////////////////////////////////////////////////////////////////
+
+You must import this plugin module to use the FRAME command, but its configuration
+variable, ol_frame, is set in the core module.
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_crossframe.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_debug.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// ALLOWDEBUG - The ID or a comma-separated list of IDs for debug layers which, if
+// invoked following an overlib call and then made hidden via the close link at
+// upper right, should be made visible again whenever that overlib call occurs.
+var ol_allowdebug = "";
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_debug.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_draggable.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// DRAGGABLE - If sticky should be draggable.
+var ol_draggable = 0;
+
+// DRAGCAP - Restrict dragging handle to the caption.
+var ol_dragcap = 0;
+
+// DRAGID - The id of a container div with a CSS class that uses overflow:auto
+// for a DRAGGABLE popup that doesn't have iframe content and doesn't use DRAGCAP.
+var ol_dragid = '';
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_draggable.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_exclusive.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// EXCLUSIVE - Decides if a sticky primary popup should be exclusive, such that no other
+// primry popup can be invoked and replace it before the sticky is closed by the user or
+// a timeout (secondary popups can still be invoked from within the exclusive primary).
+var ol_exclusive = 0;
+
+// EXCLUSIVESTATUS - Status line string to use for exclusive stickies
+var ol_exclusivestatus = 'Please act on or close the open popup.';
+
+// EXCLUSIVEOVERRIDE = If a displayed exclusive sticky should be overridden by the
+// current overlib call for a popup.
+var ol_exclusiveoverride=0;
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_exclusive.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_filter.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// FILTER - Toggles on the filter feature set for IE v5.5+ browsers. Defualt is off.
+var ol_filter=0;
+
+// FADEIN - Filter type for stylinzed fadein. Value can be 0 - 50 for the 51 types,
+// or 51 (default) for random selections of the type across successive occurrences
+// of the popup.
+var ol_fadein=51;
+
+// FADETIME - Duration of fadein (millisec).
+var ol_fadetime=800;
+
+// FILTEROPACITY - Opacity of entire popup. The higher the number in the range of 1-99,
+// the more more opaque (less transparent) the popup will be. But 0 is handled as
+// equivalent to 100 (no transparency). This feature also is implemented for Mozilla
+// and Netscape v6+ browsers.
+var ol_filteropacity=100;
+
+// FILTERSHADOW - Type of filter-based shadow. Default is off (0).
+// Dropshadow is 1. Shadow (tapers from corners) is 2.
+var ol_filtershadow=0;
+
+// FILTERSHADOWCOLOR - Color of filter-based shadow.
+var ol_filtershadowcolor="#cccccc";
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_filter.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_function.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// FUNCTION - Default javascript function. By default there is none.
+var ol_function = null;
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_function.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_hide.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// HIDESELECTBOXES - Whether to hide any select boxes which overlap the popup
+// while the popup is being displayed.
+var ol_hideselectboxes=0;
+
+// HIDEBYID - An id or comma-separated list of id's to be hidden while the popup
+// is displayed. Is intended for form elements and is ignored for any browsers
+// using HIDESELECTBOXES and for Opera v7+.
+var ol_hidebyid='';
+
+// HIDEBYIDALL - An id or comma=separated list of id's to be hidden while the popup
+// is displayed. Is intended for non-form elements with system controls, e.g.,
+// flash objects and applets.
+var ol_hidebyidall='';
+
+// HIDEBYIDNS4 - An id or comma-separated list of id's for positioned div's to be
+// hidden while the popup is being displayed by Netscape v4.x browsers.
+var ol_hidebyidns4='';
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_hide.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_modal.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// MODAL - Whether to make the popup modal (block access to any other items in the
+// document via a shield until the popup is acted upon and closed).
+var ol_modal = 0;
+
+// MODALCOLOR - The color of the modal shield.
+var ol_modalcolor = '#bbbbbb';
+
+// MODALOPACITY - The opacity of the modal shield.
+var ol_modalopacity = 40;
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_overtwo.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_overtwo.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// LABEL - A labeling string for the secondary popup while it is displayed (visible).
+var ol_label = "";
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_overtwo.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_print.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// PRINT - Whether sticky should include a Print link or button.
+var ol_print = 0;
+
+// PRINTBUTTON - Whether to use button in main text area even if caption area is present.
+var ol_printbutton=0;
+
+// NOAUTOPRINT - Whether to block automatic printing and deletion of temporary printing window.
+var ol_noautoprint=0;
+
+// PRINTCOLOR - Color of "Print" link in caption area of sticky.
+var ol_printcolor="#eeeeff";
+
+// PRINTFONT - Font face for the print text.
+var ol_printfont="Verdana,Arial,Helvetica";
+
+// PRINTSIZE - Font size for the print text.
+var ol_printsize=1;
+
+// PRINTTEXT - Text for the sticky popup print link. Normal is "Print".
+var ol_printtext='Print';
+
+// PRINTBUTTONTEXT - Text for the sticky popup print button. Normal is "Print".
+var ol_printbuttontext='Print';
+
+// PRINTTITLE - Text to use as value of TITLE attribute for browser-generated TooTips
+// with the "Print" link in captions of stickies or "Print" button in main text area.
+var ol_printtitle="Click to Print";
+
+// PRINTFONTCLASS - Print font class.
+var ol_printfontclass="";
+
+// PRINTCSSFILE - URL for .ccs file with CSS rules for styling the popup.
+var ol_printcssfile="";
+
+// PRINTXML - String for (optional) xml tag for temporary printing window.
+var ol_printxml="";
+
+// PRINTDOCTYPE - String for DOCTYPE declaration for temporary printing window.
+var ol_printdoctype=
+ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" '
++'"http://www.w3.org/TR/html4/loose.dtd">';
+
+// PRINTROOT - String for root tag for temporary printing window.
+var ol_printroot="<html>";
+
+// PRINTTYPE - String for MIME type for temporary printing window.
+var ol_printtype="text/html";
+
+// PRINTCHARSET - String for charset for temporary printing window.
+var ol_printcharset="iso-8859-1";
+
+// PRINTURL - URL for a document to be printed via the temporary printing window.
+var ol_printurl="";
+
+// PRINTJOB - string for an external function to be used for the temporary printing window.
+var ol_printjob="";
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_print.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_scroll.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// SCROLL - Whether sticky should scroll with the document when positioned via
+// RELX or MIDX, and RELY or MIDY.
+var ol_scroll = 0;
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_scroll.js
+////////////////////////////////////////////////////////////////////////////////////
+
+
+////////////////////////////////////////////////////////////////////////////////////
+// DEFAULT CONFIGURATION FOR PLUGIN MODULE overlibmws_shadow.js
+////////////////////////////////////////////////////////////////////////////////////
+
+// SHADOW - Whether to add a dropshadow. Default is no (0).
+var ol_shadow = 0;
+
+// SHADOWX - Horizontal dropshadow displacement in pixels.
+// Positive is to the right and negative is to the left.
+var ol_shadowx = 5;
+
+// SHADOWY - Vertical dropshadow displacement in pixels.
+// Positive is downward and negative is upward.
+var ol_shadowy = 5;
+
+// SHADOWCOLOR - Dropshadow color.
+var ol_shadowcolor = "#666666";
+
+// SHADOWIMAGE - Dropshadow background image. Default is none.
+var ol_shadowimage = "";
+
+// SHADOWOPACITY - Dropshadow opacity (100 is solid; 0 turns off this feature and
+// thus also yields a solid shadow). Default is 60.
+var ol_shadowopacity = 60;
+
+////////////////////////////////////////////////////////////////////////////////////
+// END CONFIGURATION FOR overlibmws_shadow.js
+////////////////////////////////////////////////////////////////////////////////////
+
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws.js
new file mode 100644
index 00000000..454a306a
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws.js
@@ -0,0 +1,666 @@
+/*
+ Do not remove or change this notice.
+ overlibmws.js core module - Copyright Foteos Macrides 2002-2007. All rights reserved.
+ Initial: August 18, 2002 - Last Revised: October 8, 2007
+ This module is subject to the same terms of usage as for Erik Bosrup's overLIB,
+ though only a minority of the code and API now correspond with Erik's version.
+ See the overlibmws Change History and Command Reference via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+ Give credit on sites that use overlibmws and submit changes so others can use them as well.
+ You can get Erik's version via: http://www.bosrup.com/web/overlib/
+*/
+
+// PRE-INIT -- Ignore these lines, configuration is below.
+var OLloaded=0,pmCnt=1,pMtr=new Array(),OLcmdLine=new Array(),OLrunTime=new Array(),OLv,OLudf,
+OLpct=new Array("83%","67%","83%","100%","117%","150%","200%","267%"),OLrefXY,OLbubblePI=0,
+OLcrossframePI=0,OLdebugPI=0,OLdraggablePI=0,OLexclusivePI=0,OLfilterPI=0,OLfunctionPI=0,
+OLhidePI=0,OLiframePI=0,OLmodalPI=0,OLovertwoPI=0,OLscrollPI=0,OLshadowPI=0,OLprintPI=0;
+if(typeof OLgateOK=='undefined')var OLgateOK=1;
+var OLp1or2c='inarray,caparray,caption,closetext,right,left,center,autostatuscap,padx,pady,'
++'below,above,vcenter,donothing',OLp1or2co='nofollow,background,offsetx,offsety,fgcolor,'
++'bgcolor,cgcolor,textcolor,capcolor,width,wrap,wrapmax,height,border,base,status,autostatus,'
++'snapx,snapy,fixx,fixy,relx,rely,midx,midy,ref,refc,refp,refx,refy,fgbackground,bgbackground,'
++'cgbackground,fullhtml,capicon,textfont,captionfont,textsize,captionsize,timeout,delay,hauto,'
++'vauto,nojustx,nojusty,fgclass,bgclass,cgclass,capbelow,textpadding,textfontclass,'
++'captionpadding,captionfontclass,sticky,noclose,mouseoff,offdelay,closecolor,closefont,'
++'closesize,closeclick,closetitle,closefontclass,decode',OLp1or2o='text,cap,close,hpos,vpos,'
++'padxl,padxr,padyt,padyb',OLp1co='label',OLp1or2=OLp1or2co+','+OLp1or2o,OLp1=OLp1co+','+'frame';
+OLregCmds(OLp1or2c+','+OLp1or2co+','+OLp1co);
+function OLud(v){return eval('typeof ol_'+v+'=="undefined"')?1:0;}
+
+// DEFAULT CONFIGURATION -- See overlibConfig.txt for descriptions
+if(OLud('fgcolor'))var ol_fgcolor="#ccccff";
+if(OLud('bgcolor'))var ol_bgcolor="#333399";
+if(OLud('cgcolor'))var ol_cgcolor="#333399";
+if(OLud('textcolor'))var ol_textcolor="#000000";
+if(OLud('capcolor'))var ol_capcolor="#ffffff";
+if(OLud('closecolor'))var ol_closecolor="#eeeeff";
+if(OLud('textfont'))var ol_textfont="Verdana,Arial,Helvetica";
+if(OLud('captionfont'))var ol_captionfont="Verdana,Arial,Helvetica";
+if(OLud('closefont'))var ol_closefont="Verdana,Arial,Helvetica";
+if(OLud('textsize'))var ol_textsize=1;
+if(OLud('captionsize'))var ol_captionsize=1;
+if(OLud('closesize'))var ol_closesize=1;
+if(OLud('fgclass'))var ol_fgclass="";
+if(OLud('bgclass'))var ol_bgclass="";
+if(OLud('cgclass'))var ol_cgclass="";
+if(OLud('textpadding'))var ol_textpadding=2;
+if(OLud('textfontclass'))var ol_textfontclass="";
+if(OLud('captionpadding'))var ol_captionpadding=2;
+if(OLud('captionfontclass'))var ol_captionfontclass="";
+if(OLud('closefontclass'))var ol_closefontclass="";
+if(OLud('close'))var ol_close="Close";
+if(OLud('closeclick'))var ol_closeclick=0;
+if(OLud('closetitle'))var ol_closetitle="Click to Close";
+if(OLud('text'))var ol_text="Default Text";
+if(OLud('cap'))var ol_cap="";
+if(OLud('capbelow'))var ol_capbelow=0;
+if(OLud('background'))var ol_background="";
+if(OLud('width'))var ol_width=200;
+if(OLud('wrap'))var ol_wrap=0;
+if(OLud('wrapmax'))var ol_wrapmax=0;
+if(OLud('height'))var ol_height= -1;
+if(OLud('border'))var ol_border=1;
+if(OLud('base'))var ol_base=0;
+if(OLud('offsetx'))var ol_offsetx=10;
+if(OLud('offsety'))var ol_offsety=10;
+if(OLud('sticky'))var ol_sticky=0;
+if(OLud('nofollow'))var ol_nofollow=0;
+if(OLud('noclose'))var ol_noclose=0;
+if(OLud('mouseoff'))var ol_mouseoff=0;
+if(OLud('offdelay'))var ol_offdelay=300;
+if(OLud('hpos'))var ol_hpos=RIGHT;
+if(OLud('vpos'))var ol_vpos=BELOW;
+if(OLud('status'))var ol_status="";
+if(OLud('autostatus'))var ol_autostatus=0;
+if(OLud('snapx'))var ol_snapx=0;
+if(OLud('snapy'))var ol_snapy=0;
+if(OLud('fixx'))var ol_fixx= -1;
+if(OLud('fixy'))var ol_fixy= -1;
+if(OLud('relx'))var ol_relx=null;
+if(OLud('rely'))var ol_rely=null;
+if(OLud('midx'))var ol_midx=null;
+if(OLud('midy'))var ol_midy=null;
+if(OLud('ref'))var ol_ref="";
+if(OLud('refc'))var ol_refc='UL';
+if(OLud('refp'))var ol_refp='UL';
+if(OLud('refx'))var ol_refx=0;
+if(OLud('refy'))var ol_refy=0;
+if(OLud('fgbackground'))var ol_fgbackground="";
+if(OLud('bgbackground'))var ol_bgbackground="";
+if(OLud('cgbackground'))var ol_cgbackground="";
+if(OLud('padxl'))var ol_padxl=1;
+if(OLud('padxr'))var ol_padxr=1;
+if(OLud('padyt'))var ol_padyt=1;
+if(OLud('padyb'))var ol_padyb=1;
+if(OLud('fullhtml'))var ol_fullhtml=0;
+if(OLud('capicon'))var ol_capicon="";
+if(OLud('frame'))var ol_frame=self;
+if(OLud('timeout'))var ol_timeout=0;
+if(OLud('delay'))var ol_delay=0;
+if(OLud('hauto'))var ol_hauto=0;
+if(OLud('vauto'))var ol_vauto=0;
+if(OLud('nojustx'))var ol_nojustx=0;
+if(OLud('nojusty'))var ol_nojusty=0;
+if(OLud('label'))var ol_label="";
+if(OLud('decode'))var ol_decode=0;
+// ARRAY CONFIGURATION - See overlibConfig.txt for descriptions.
+if(OLud('texts'))var ol_texts=new Array("Text 0","Text 1");
+if(OLud('caps'))var ol_caps=new Array("Caption 0","Caption 1");
+// END CONFIGURATION -- Don't change anything below, all configuration is above.
+
+// INIT -- Runtime variables.
+var o3_text="",o3_cap="",o3_sticky=0,o3_nofollow=0,o3_background="",o3_noclose=0,o3_mouseoff=0,
+o3_offdelay=300,o3_hpos=RIGHT,o3_offsetx=10,o3_offsety=10,o3_fgcolor="",o3_bgcolor="",
+o3_cgcolor="",o3_textcolor="",o3_capcolor="",o3_closecolor="",o3_width=200,o3_wrap=0,
+o3_wrapmax=0,o3_height= -1,o3_border=1,o3_base=0,o3_status="",o3_autostatus=0,o3_snapx=0,
+o3_snapy=0,o3_fixx= -1,o3_fixy= -1,o3_relx=null,o3_rely=null,o3_midx=null,o3_midy=null,o3_ref="",
+o3_refc='UL',o3_refp='UL',o3_refx=0,o3_refy=0,o3_fgbackground="",o3_bgbackground="",
+o3_cgbackground="",o3_padxl=0,o3_padxr=0,o3_padyt=0,o3_padyb=0,o3_fullhtml=0,o3_vpos=BELOW,
+o3_capicon="",o3_textfont="Verdana,Arial,Helvetica",o3_captionfont="",o3_closefont="",
+o3_textsize=1,o3_captionsize=1,o3_closesize=1,o3_frame=self,o3_timeout=0,o3_delay=0,o3_hauto=0,
+o3_vauto=0,o3_nojustx=0,o3_nojusty=0,o3_close="",o3_closeclick=0,o3_closetitle="",o3_fgclass="",
+o3_bgclass="",o3_cgclass="",o3_textpadding=2,o3_textfontclass="",o3_captionpadding=2,
+o3_captionfontclass="",o3_closefontclass="",o3_capbelow=0,o3_label="",o3_decode=0,
+CSSOFF=DONOTHING,CSSCLASS=DONOTHING,OLdelayid=0,OLtimerid=0,OLshowid=0,OLndt=0,over=null,
+OLfnRef="",OLhover=0,OLx=0,OLy=0,OLshowingsticky=0,OLallowmove=0,OLcC=null,
+OLua=(OLv=navigator.userAgent)?OLv.toLowerCase():'',
+OLns4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4)?1:0,
+OLns6=(document.getElementById)?1:0,
+OLie4=(document.all)?1:0,
+OLgek=(OLv=OLua.match(/gecko\/(\d{8})/i))?parseInt(OLv[1]):0,
+OLmac=(OLua.indexOf('mac')>=0)?1:0,
+OLsaf=(OLua.indexOf('safari')>=0)?1:0,
+OLkon=(OLua.indexOf('konqueror')>=0)?1:0,
+OLkht=(OLsaf||OLkon)?1:0,
+OLopr=(OLua.indexOf('opera')>=0)?1:0,
+OLop7=(OLopr&&document.createTextNode)?1:0;
+if(OLopr){OLns4=OLns6=OLgek=0;if(!OLop7)OLie4=0;}
+var OLieM=((OLie4&&OLmac)&&!(OLkht||OLopr))?1:0,
+OLie5=0,OLie55=0;OLie7=0;if(OLie4&&!OLop7){
+if((OLv=OLua.match(/msie (\d\.\d+)\.*/i))&&(OLv=parseFloat(OLv[1]))>=5.0){
+OLie5=1;OLns6=0;if(OLv>=5.5)OLie55=1;if(OLv>=7.0)OLie7=1;}if(OLns6)OLie4=0;}
+if(OLns4)window.onresize=function(){location.reload();};var OLchkMh=1,OLdw;
+if(OLns4||OLie4||OLns6){OLmh();if(window.addEventListener)window.addEventListener("unload",
+OLulCl,false);}else{overlib=nd=cClick=OLpageDefaults=no_overlib;}
+function OLulCl(){if(over)cClick();window.removeEventListener("unload",OLulCl,false);}
+
+/*
+ PUBLIC FUNCTIONS
+*/
+// Loads defaults then args into runtime variables.
+function overlib(){
+if(!(OLloaded&&OLgateOK))return;if((OLexclusivePI)&&OLisExclusive(arguments))return true;
+if(OLchkMh)OLmh();if(OLndt&&!OLtimerid)OLndt=0;if(over)cClick();OLload(OLp1or2);OLload(OLp1);
+OLfnRef="";OLhover=0;OLsetRunTimeVar();OLparseTokens('o3_',arguments);
+if(!(over=OLmkLyr()))return false;if(o3_decode)OLdecode();if(OLprintPI)OLchkPrint();
+if(OLbubblePI)OLchkForBubbleEffect();if(OLdebugPI)OLsetDebugCanShow();
+if(OLshadowPI)OLinitShadow();if(OLiframePI)OLinitIfs();if(OLfilterPI)OLinitFilterLyr();
+if(OLexclusivePI&&o3_exclusive&&o3_exclusivestatus!="")o3_status=o3_exclusivestatus;
+else if(o3_autostatus==2&&o3_cap!="")o3_status=o3_cap;
+else if(o3_autostatus==1&&o3_text!="")o3_status=o3_text;if(!o3_delay){return OLmain();
+}else{OLdelayid=setTimeout("OLmain()",o3_delay);if(o3_status!=""){self.status=o3_status;
+return true;}else if(!(OLop7&&event&&event.type=='mouseover'))return false;}
+}
+
+// Clears popups if appropriate
+function nd(time){
+if(OLloaded&&OLgateOK){if(!((OLexclusivePI)&&OLisExclusive())){if(time&&over&&!o3_delay){
+if(OLtimerid>0)clearTimeout(OLtimerid);OLtimerid=(OLhover&&o3_frame==self&&!OLcursorOff())?0:
+setTimeout("cClick()",(o3_timeout=OLndt=time));}else{if(!OLshowingsticky){OLallowmove=0;
+if(over)OLhideObject(over);}}}}return false;
+}
+
+// Close function for stickies
+function cClick(){
+if(OLloaded&&OLgateOK){OLhover=0;if(over){if(OLovertwoPI&&over==over2)cClick2();
+OLhideObject(over);OLshowingsticky=0;}if(OLmodalPI)OLclearModal();}return false;
+}
+
+// Sets page-specific defaults.
+function OLpageDefaults(){
+OLparseTokens('ol_',arguments);
+}
+
+// Gets object referenced by its id or name
+function OLgetRef(l,d){var r=OLgetRefById(l,d);return (r)?r:OLgetRefByName(l,d);}
+
+// For unsupported browsers.
+function no_overlib(){return false;}
+
+/*
+ OVERLIB MAIN FUNCTION SET
+*/
+function OLmain(){
+o3_delay=0;
+if(o3_frame==self){if(o3_noclose)OLoptMOUSEOFF(0);else if(o3_mouseoff)OLoptMOUSEOFF(1);}
+if(o3_sticky)OLshowingsticky=1;OLdoLyr();OLallowmove=0;if(o3_timeout>0){
+if(OLtimerid>0)clearTimeout(OLtimerid);OLtimerid=setTimeout("cClick()",o3_timeout);}
+if(o3_ref){OLrefXY=OLgetRefXY(o3_ref);if(OLrefXY[0]==null){o3_ref="";o3_midx=0;o3_midy=0;}}
+OLdisp(o3_status);if(OLdraggablePI)OLcheckDrag();
+if(o3_status!="")return true;else if(!(OLop7&&event&&event.type=='mouseover'))return false;
+}
+
+// Loads o3_ variables
+function OLload(c){var i,m=c.split(',');for(i=0;i<m.length;i++)eval('o3_'+m[i]+'=ol_'+m[i]);}
+
+// Chooses LGF
+function OLdoLGF(){
+return (o3_background!=''||o3_fullhtml)?OLcontentBackground(o3_text,o3_background,o3_fullhtml):
+(o3_cap=="")?OLcontentSimple(o3_text):
+(o3_sticky)?OLcontentCaption(o3_text,o3_cap,o3_close):OLcontentCaption(o3_text,o3_cap,'');
+}
+
+// Makes Layer
+function OLmkLyr(id,f,z){
+id=(id||'overDiv');f=(f||o3_frame);z=(z||1000);var fd=f.document,d=OLgetRefById(id,fd);
+if(!d){if(OLns4)d=fd.layers[id]=new Layer(1024,f);else if(OLie4&&!document.getElementById){
+fd.body.insertAdjacentHTML('BeforeEnd','<div id="'+id+'"></div>');d=fd.all[id];
+}else{d=fd.createElement('div');if(d){d.id=id;fd.body.appendChild(d);}}if(!d)return null;
+if(OLns4)d.zIndex=z;else{var o=d.style;o.position='absolute';o.visibility='hidden';o.zIndex=z;}}
+return d;
+}
+
+// Creates and writes layer content
+function OLdoLyr(){
+if(o3_sticky&&OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=0;}
+if(o3_background==''&&!o3_fullhtml){
+if(o3_fgbackground!='')o3_fgbackground=' background="'+o3_fgbackground+'"';
+if(o3_bgbackground!='')o3_bgbackground=' background="'+o3_bgbackground+'"';
+if(o3_cgbackground!='')o3_cgbackground=' background="'+o3_cgbackground+'"';
+if(o3_fgcolor!='')o3_fgcolor=' bgcolor="'+o3_fgcolor+'"';
+if(o3_bgcolor!='')o3_bgcolor=' bgcolor="'+o3_bgcolor+'"';
+if(o3_cgcolor!='')o3_cgcolor=' bgcolor="'+o3_cgcolor+'"';
+if(o3_height>0)o3_height=' height="'+o3_height+'"';else o3_height='';}
+if(!OLns4)OLrepositionTo(over,(OLns6?20:0),0);var lyrHtml=OLdoLGF();
+if(o3_wrap&&!o3_fullhtml){OLlayerWrite(lyrHtml);
+o3_width=(OLns4?over.clip.width:over.offsetWidth);if(OLie4){var w=OLfd().clientWidth;
+if(o3_width>=w){if(OLop7){if(OLovertwoPI&&over==over2){var z=over2.style.zIndex;
+o3_frame.document.body.removeChild(over);over2=OLmkLyr('overDiv2',o3_frame,z);over=over2;
+}else{o3_frame.document.body.removeChild(over);over=OLmkLyr();}}o3_width=w-20;}}
+if(o3_wrapmax<1&&o3_frame.innerWidth)o3_wrapmax=o3_frame.innerWidth-40;
+if(o3_wrapmax>0&&o3_width>o3_wrapmax)o3_width=o3_wrapmax;o3_wrap=0;lyrHtml=OLdoLGF();}
+OLlayerWrite(lyrHtml);o3_width=(OLns4?over.clip.width:over.offsetWidth);
+if(OLbubblePI)OLgenerateBubble(lyrHtml);
+}
+
+/*
+ LAYER GENERATION FUNCTIONS
+*/
+// Makes simple table without caption
+function OLcontentSimple(txt){
+var t=OLbgLGF()+OLfgLGF(txt)+OLbaseLGF();OLsetBackground('');return t;
+}
+
+// Makes table with caption and optional close link
+function OLcontentCaption(txt,title,close){
+var closing=(OLprintPI?OLprintCapLGF():''),closeevent='onmouseover',caption,t,
+cC='javascript:return '+OLfnRef+(OLovertwoPI&&over==over2?'cClick2();':'cClick();');
+if(o3_closeclick)closeevent=(o3_closetitle?'title="'+o3_closetitle+'" ':'')+'onclick';
+if(o3_capicon!=''&&o3_capicon.indexOf('<img')!=0)o3_capicon='<img src="'+o3_capicon+'" /> ';
+if(close){closing+='<td align="right"><a href="'+cC+'" '+closeevent+'="'+cC+'"'
++(o3_closefontclass?' class="'+o3_closefontclass+'">':(OLns4?'><':'')
++OLlgfUtil(0,1,'','a',o3_closecolor,o3_closefont,o3_closesize))+close+
+(o3_closefontclass?'':(OLns4?OLlgfUtil(1,1,'','a'):''))+'</a></td>';}
+caption='<table id="overCap'+(OLovertwoPI&&over==over2?'2':'')+'"'+OLwd(0)
++' border="0" cellpadding="'+o3_captionpadding+'" cellspacing="0"'+(o3_cgclass?' class="'
++o3_cgclass+'"':o3_cgcolor+o3_cgbackground)+'><tr><td'+OLwd(0)+(o3_cgclass?' class="'
++o3_cgclass+'">':'>')+(o3_captionfontclass?'<div class="'+o3_captionfontclass
++'">':OLlgfUtil(0,1,'','div',o3_capcolor,o3_captionfont,o3_captionsize))+o3_capicon+title
++OLlgfUtil(1,1,'','div')+'</td>'+closing+'</tr></table>';
+t=OLbgLGF()+(o3_capbelow?OLfgLGF(txt)+caption:caption+OLfgLGF(txt))+OLbaseLGF();
+OLsetBackground('');return t;
+}
+
+// For BACKGROUND and FULLHTML commands
+function OLcontentBackground(txt,image,hasfullhtml){
+var t;if(hasfullhtml){t=txt;}else{t='<table'+OLwd(1)+' border="0" cellpadding="0" '
++'cellspacing="0" '+'height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt
++'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="top"'+OLwd(2)+'>'
++OLlgfUtil(0,0,o3_textfontclass,'div',o3_textcolor,o3_textfont,o3_textsize)+txt+
+OLlgfUtil(1,0,'','div')+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'
++o3_padyb+'"></td></tr></table>';}OLsetBackground(image);return t;
+}
+
+// LGF utilities
+function OLbgLGF(){
+return '<table'+OLwd(1)+o3_height+' border="0" cellpadding="'+o3_border+'" cellspacing="0"'
++(o3_bgclass?' class="'+o3_bgclass+'"':o3_bgcolor+o3_bgbackground)+'><tr><td>';
+}
+function OLfgLGF(t){
+return '<table'+OLwd(0)+o3_height+' border="0" cellpadding="'+o3_textpadding
++'" cellspacing="0"'+(o3_fgclass?' class="'+o3_fgclass+'"':o3_fgcolor+o3_fgbackground)
++'><tr><td valign="top"'+(o3_fgclass?' class="'+o3_fgclass+'"':'')+'>'
++OLlgfUtil(0,0,o3_textfontclass,'div',o3_textcolor,o3_textfont,o3_textsize)+t
++(OLprintPI?OLprintFgLGF():'')+OLlgfUtil(1,0,'','div')+'</td></tr></table>';
+}
+function OLlgfUtil(end,stg,tfc,ele,col,fac,siz){
+if(end)return('</'+(OLns4?'font'+(stg?'></strong':''):ele)+'>');
+else return(tfc?'<div class="'+tfc+'">':((ele=='a'?'':'<')+(OLns4?(stg?'strong><':'')
++'font color="'+col+'" face="'+OLquoteMultiNameFonts(fac)+'" size="'+siz:(ele=='a'?'':ele)
++' style="color:'+col+(stg?';font-weight:bold':'')+';font-family:'+OLquoteMultiNameFonts(fac)
++';font-size:'+siz+';'+(ele=='span'?'text-decoration:underline;':''))+'">'));
+}
+function OLquoteMultiNameFonts(f){
+var i,v,pM=f.split(',');
+for(i=0;i<pM.length;i++){v=pM[i];v=v.replace(/^\s+/,'').replace(/\s+$/,'');
+if(/\s/.test(v) && !/['"]/.test(v)){v="\'"+v+"\'";pM[i]=v;}}return pM.join();
+}
+function OLbaseLGF(){
+return ((o3_base>0&&!o3_wrap)?('<table width="100%" border="0" cellpadding="0" cellspacing="0"'
++(o3_bgclass?' class="'+o3_bgclass+'"':'')+'><tr><td height="'+o3_base
++'"></td></tr></table>'):'')+'</td></tr></table>';
+}
+function OLwd(a){
+return(o3_wrap?'':' width="'+(!a?'100%':(a==1?o3_width:(o3_width-o3_padxl-o3_padxr)))+'"');
+}
+
+// Loads image into the div.
+function OLsetBackground(i){
+if(i==''){if(OLns4)over.background.src=null;else{if(OLns6)over.style.width='';
+over.style.backgroundImage='none';}}else{if(OLns4)over.background.src=i;else{
+if(OLns6)over.style.width=o3_width+'px';over.style.backgroundImage='url('+i+')';}}
+}
+
+/*
+ HANDLING FUNCTIONS
+*/
+// Displays layer
+function OLdisp(s){
+if(OLmodalPI)OLchkModal();if(!OLallowmove){if(OLshadowPI)OLdispShadow();
+if(OLiframePI)OLdispIfs();OLplaceLayer();if(OLndt)OLshowObject(over);
+else OLshowid=setTimeout("OLshowObject(over)",1);
+OLallowmove=(o3_sticky||o3_nofollow)?0:1;}OLndt=0;if(s!="")self.status=s;
+}
+
+// Decides placement of layer.
+function OLplaceLayer(){
+var snp,X,Y,pgLeft,pgTop,pWd=o3_width,pHt,iWd=100,iHt=100,SB=0,LM=0,CX=0,TM=0,BM=0,CY=0,
+o=OLfd(),nsb=(OLgek>=20010505&&!o3_frame.scrollbars.visible)?1:0;
+if(!OLkht&&o&&o.clientWidth)iWd=o.clientWidth;
+else if(o3_frame.innerWidth){SB=Math.ceil(1.4*(o3_frame.outerWidth-o3_frame.innerWidth));
+if(SB>20)SB=20;iWd=o3_frame.innerWidth;}
+pgLeft=(OLie4)?o.scrollLeft:o3_frame.pageXOffset;
+if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow)SB=CX=5;else
+if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowx){SB+=((o3_shadowx>0)?o3_shadowx:0);
+LM=((o3_shadowx<0)?Math.abs(o3_shadowx):0);CX=Math.abs(o3_shadowx);}
+if(o3_ref!=""||o3_fixx> -1||o3_relx!=null||o3_midx!=null){
+if(o3_ref!=""){X=OLrefXY[0];if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow){
+if(o3_refp=='UR'||o3_refp=='LR')X-=5;}
+else if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowx){
+if(o3_shadowx<0&&(o3_refp=='UL'||o3_refp=='LL'))X-=o3_shadowx;else
+if(o3_shadowx>0&&(o3_refp=='UR'||o3_refp=='LR'))X-=o3_shadowx;}
+}else{if(o3_midx!=null){
+X=parseInt(pgLeft+((iWd-pWd-SB-LM)/2)+o3_midx);
+}else{if(o3_relx!=null){
+if(o3_relx>=0)X=pgLeft+o3_relx+LM;else X=pgLeft+o3_relx+iWd-pWd-SB;
+}else{X=o3_fixx+LM;}}}
+}else{
+if(o3_hauto){
+if(o3_hpos==LEFT&&OLx-pgLeft<iWd/2&&OLx-pWd-o3_offsetx<pgLeft+LM)o3_hpos=RIGHT;else
+if(o3_hpos==RIGHT&&OLx-pgLeft>iWd/2&&OLx+pWd+o3_offsetx>pgLeft+iWd-SB)o3_hpos=LEFT;}
+X=(o3_hpos==CENTER)?parseInt(OLx-((pWd+CX)/2)+o3_offsetx):
+(o3_hpos==LEFT)?OLx-o3_offsetx-pWd:OLx+o3_offsetx;
+if(o3_snapx>1){
+snp=X % o3_snapx;
+if(o3_hpos==LEFT){X=X-(o3_snapx+snp);}else{X=X+(o3_snapx-snp);}}}
+if(!o3_nojustx&&X+pWd>pgLeft+iWd-SB)
+X=iWd+pgLeft-pWd-SB;if(!o3_nojustx&&X-LM<pgLeft)X=pgLeft+LM;
+pgTop=OLie4?o.scrollTop:o3_frame.pageYOffset;
+if(!OLkht&&!nsb&&o&&o.clientHeight)iHt=o.clientHeight;
+else if(o3_frame.innerHeight)iHt=o3_frame.innerHeight;
+if(OLbubblePI&&o3_bubble)pHt=OLbubbleHt;else pHt=OLns4?over.clip.height:over.offsetHeight;
+if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowy){TM=(o3_shadowy<0)?Math.abs(o3_shadowy):0;
+if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow)BM=CY=5;else
+BM=(o3_shadowy>0)?o3_shadowy:0;CY=Math.abs(o3_shadowy);}
+if(o3_ref!=""||o3_fixy> -1||o3_rely!=null||o3_midy!=null){
+if(o3_ref!=""){Y=OLrefXY[1];if(OLie55&&OLfilterPI&&o3_filter&&o3_filtershadow){
+if(o3_refp=='LL'||o3_refp=='LR')Y-=5;}else if((OLshadowPI)&&bkdrop&&o3_shadow&&o3_shadowy){
+if(o3_shadowy<0&&(o3_refp=='UL'||o3_refp=='UR'))Y-=o3_shadowy;else
+if(o3_shadowy>0&&(o3_refp=='LL'||o3_refp=='LR'))Y-=o3_shadowy;}
+}else{if(o3_midy!=null){
+Y=parseInt(pgTop+((iHt-pHt-CY)/2)+o3_midy);
+}else{if(o3_rely!=null){
+if(o3_rely>=0)Y=pgTop+o3_rely+TM;else Y=pgTop+o3_rely+iHt-pHt-BM;}else{
+Y=o3_fixy+TM;}}}
+}else{
+if(o3_vauto){
+if(o3_vpos==ABOVE&&OLy-pgTop<iHt/2&&OLy-pHt-o3_offsety<pgTop)o3_vpos=BELOW;else
+if(o3_vpos==BELOW&&OLy-pgTop>iHt/2&&OLy+pHt+o3_offsety+((OLns4||OLkht)?17:0)>pgTop+iHt-BM)
+o3_vpos=ABOVE;}Y=(o3_vpos==VCENTER)?parseInt(OLy-((pHt+CY)/2)+o3_offsety):
+(o3_vpos==ABOVE)?OLy-(pHt+o3_offsety+BM):OLy+o3_offsety+TM;
+if(o3_snapy>1){
+snp=Y % o3_snapy;
+if(pHt>0&&o3_vpos==ABOVE){Y=Y-(o3_snapy+snp);}else{Y=Y+(o3_snapy-snp);}}}
+if(!o3_nojusty&&Y+pHt+BM>pgTop+iHt)Y=pgTop+iHt-pHt-BM;if(!o3_nojusty&&Y-TM<pgTop)Y=pgTop+TM;
+OLrepositionTo(over,X,Y);
+if(OLshadowPI)OLrepositionShadow(X,Y);if(OLiframePI)OLrepositionIfs(X,Y);
+if(OLns6&&o3_frame.innerHeight){iHt=o3_frame.innerHeight;OLrepositionTo(over,X,Y);}
+if(OLscrollPI)OLchkScroll(X-pgLeft,Y-pgTop);
+}
+
+// Chooses body or documentElement
+function OLfd(f){
+var fd=((f)?f:o3_frame).document,fdc=fd.compatMode,fdd=fd.documentElement;
+return (!OLop7&&fdc&&fdc!='BackCompat'&&fdd&&fdd.clientWidth)?fd.documentElement:fd.body;
+}
+
+// Gets location of REFerence object
+function OLgetRefXY(r,d){
+var o=OLgetRef(r,d),ob=o,rXY=[o3_refx,o3_refy],of;if(!o)return [null,null];
+if(OLns4){if(typeof o.length!='undefined'&&o.length>1){ob=o[0];
+rXY[0]+=o[0].x+o[1].pageX;rXY[1]+=o[0].y+o[1].pageY;}else{
+if((o.toString().indexOf('Image')!= -1)||(o.toString().indexOf('Anchor')!= -1)){
+rXY[0]+=o.x;rXY[1]+=o.y;}else{rXY[0]+=o.pageX;rXY[1]+=o.pageY;}}
+}else{rXY[0]+=OLpageLoc(o,'Left');rXY[1]+=OLpageLoc(o,'Top');}
+of=OLgetRefOffsets(ob);rXY[0]+=of[0];rXY[1]+=of[1];return rXY;
+}
+
+// Seeks REFerence by id
+function OLgetRefById(l,d){
+l=(l||'overDiv');d=(d||o3_frame.document);var j,r;if(OLie4&&d.all)return d.all[l];
+if(d.getElementById)return d.getElementById(l);if(d.layers&&d.layers.length>0){
+if(d.layers[l])return d.layers[l];for(j=0;j<d.layers.length;j++){
+r=OLgetRefById(l,d.layers[j].document);if(r)return r;}}return null;
+}
+
+// Seeks REFerence by name
+function OLgetRefByName(l,d){
+d=(d||o3_frame.document);var j,r,v=OLie4?d.all.tags('iframe'):
+OLns6?d.getElementsByTagName('iframe'):null;
+if(typeof d.images!='undefined'&&d.images[l])return d.images[l];
+if(typeof d.anchors!='undefined'&&d.anchors[l])return d.anchors[l];
+if(v)for(j=0;j<v.length;j++)if(v[j].name==l)return v[j];
+if(d.layers&&d.layers.length>0)for(j=0;j<d.layers.length;j++){
+r=OLgetRefByName(l,d.layers[j].document);
+if(r&&r.length>0)return r;else if(r)return [r,d.layers[j]];}return null;
+}
+
+// Gets layer vs REFerence offsets
+function OLgetRefOffsets(o){
+var c=o3_refc.toUpperCase(),p=o3_refp.toUpperCase(),W=0,H=0,pW=0,pH=0,of=[0,0];
+pW=(OLbubblePI&&o3_bubble)?o3_width:OLns4?over.clip.width:over.offsetWidth;
+pH=(OLbubblePI&&o3_bubble)?OLbubbleHt:OLns4?over.clip.height:over.offsetHeight;
+if((!OLop7)&&o.toString().indexOf('Image')!= -1){W=o.width;H=o.height;
+}else if((!OLop7)&&o.toString().indexOf('Anchor')!= -1){c=o3_refc='UL';}else{
+W=(OLns4)?o.clip.width:o.offsetWidth;H=(OLns4)?o.clip.height:o.offsetHeight;}
+if((OLns4||(OLns6&&OLgek))&&o.border){W+=2*parseInt(o.border);H+=2*parseInt(o.border);}
+if(c=='UL'){of=(p=='UR')?[-pW,0]:(p=='LL')?[0,-pH]:(p=='LR')?[-pW,-pH]:[0,0];
+}else if(c=='UR'){of=(p=='UR')?[W-pW,0]:(p=='LL')?[W,-pH]:(p=='LR')?[W-pW,-pH]:[W,0];
+}else if(c=='LL'){of=(p=='UR')?[-pW,H]:(p=='LL')?[0,H-pH]:(p=='LR')?[-pW,H-pH]:[0,H];
+}else if(c=='LR'){of=(p=='UR')?[W-pW,H]:(p=='LL')?[W,H-pH]:(p=='LR')?[W-pW,H-pH]:[W,H];}
+return of;
+}
+
+// Gets x or y location of object
+function OLpageLoc(o,t){
+var l=0,s=o;while(o.offsetParent&&o.offsetParent.tagName.toLowerCase()!='html'){
+l+=o['offset'+t];o=o.offsetParent;}l+=o['offset'+t];while(s=s.parentNode){
+if((s['scroll'+t]>0)&&s.tagName.toLowerCase()=='div')l-=s['scroll'+t];}return l;
+}
+
+// Moves layer
+function OLmouseMove(e){
+var e=(e||event);OLcC=(OLovertwoPI&&over2&&over==over2?cClick2:cClick);
+OLx=(e.pageX||e.clientX+OLfd().scrollLeft);OLy=(e.pageY||e.clientY+OLfd().scrollTop);
+if((OLallowmove&&over)&&(o3_frame==self||over==OLgetRefById()
+||(OLovertwoPI&&over2==over&&over==OLgetRefById('overDiv2')))){
+OLplaceLayer();if(OLhidePI)OLhideUtil(0,1,1,0,0,0);}
+if(OLhover&&over&&o3_frame==self&&OLcursorOff())if(o3_offdelay<1)OLcC();else
+{if(OLtimerid>0)clearTimeout(OLtimerid);OLtimerid=setTimeout("OLcC()",o3_offdelay);}
+}
+
+// Capture mouse and chain other scripts.
+function OLmh(){
+var fN,f,j,k,s,mh=OLmouseMove,w=(OLns4&&window.onmousemove),re=/function[ ]*(\w*)\(/;
+OLdw=document;if(document.onmousemove||w){if(w)OLdw=window;f=OLdw.onmousemove.toString();
+fN=f.match(re);if(!fN||fN[1]=='anonymous'||fN[1]=='OLmouseMove'){OLchkMh=0;return;}
+if(fN[1])s=fN[1]+'(e)';else{j=f.indexOf('{');k=f.lastIndexOf('}')+1;s=f.substring(j,k);}
+s+=';OLmouseMove(e);';mh=new Function('e',s);}
+OLdw.onmousemove=mh;if(OLns4)OLdw.captureEvents(Event.MOUSEMOVE);
+}
+
+/*
+ PARSING
+*/
+function OLparseTokens(pf,ar){
+var i,v,md= -1,par=(pf!='ol_'),p=OLpar,q=OLparQuo,t=OLtoggle;OLudf=(par&&!ar.length?1:0);
+for(i=0;i<ar.length;i++){if(md<0){if(typeof ar[i]=='number'){OLudf=(par?1:0);i--;}
+else{switch(pf){case 'ol_':ol_text=ar[i];break;default:o3_text=ar[i];}}md=0;}else{
+if(ar[i]==INARRAY){OLudf=0;eval(pf+'text=ol_texts['+ar[++i]+']');continue;}
+if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+']');continue;}
+if(ar[i]==CAPTION){q(ar[++i],pf+'cap');continue;}
+if(Math.abs(ar[i])==STICKY){t(ar[i],pf+'sticky');continue;}
+if(Math.abs(ar[i])==NOFOLLOW){t(ar[i],pf+'nofollow');continue;}
+if(ar[i]==BACKGROUND){q(ar[++i],pf+'background');continue;}
+if(Math.abs(ar[i])==NOCLOSE){t(ar[i],pf+'noclose');continue;}
+if(Math.abs(ar[i])==MOUSEOFF){t(ar[i],pf+'mouseoff');continue;}
+if(ar[i]==OFFDELAY){p(ar[++i],pf+'offdelay');continue;}
+if(ar[i]==RIGHT||ar[i]==LEFT||ar[i]==CENTER){p(ar[i],pf+'hpos');continue;}
+if(ar[i]==OFFSETX){p(ar[++i],pf+'offsetx');continue;}
+if(ar[i]==OFFSETY){p(ar[++i],pf+'offsety');continue;}
+if(ar[i]==FGCOLOR){q(ar[++i],pf+'fgcolor');continue;}
+if(ar[i]==BGCOLOR){q(ar[++i],pf+'bgcolor');continue;}
+if(ar[i]==CGCOLOR){q(ar[++i],pf+'cgcolor');continue;}
+if(ar[i]==TEXTCOLOR){q(ar[++i],pf+'textcolor');continue;}
+if(ar[i]==CAPCOLOR){q(ar[++i],pf+'capcolor');continue;}
+if(ar[i]==CLOSECOLOR){q(ar[++i],pf+'closecolor');continue;}
+if(ar[i]==WIDTH){p(ar[++i],pf+'width');continue;}
+if(Math.abs(ar[i])==WRAP){t(ar[i],pf+'wrap');continue;}
+if(ar[i]==WRAPMAX){p(ar[++i],pf+'wrapmax');continue;}
+if(ar[i]==HEIGHT){p(ar[++i],pf+'height');continue;}
+if(ar[i]==BORDER){p(ar[++i],pf+'border');continue;}
+if(ar[i]==BASE){p(ar[++i],pf+'base');continue;}
+if(ar[i]==STATUS){q(ar[++i],pf+'status');continue;}
+if(Math.abs(ar[i])==AUTOSTATUS){v=pf+'autostatus';
+eval(v+'=('+ar[i]+'<0)?('+v+'==2?2:0):('+v+'==1?0:1)');continue;}
+if(Math.abs(ar[i])==AUTOSTATUSCAP){v=pf+'autostatus';
+eval(v+'=('+ar[i]+'<0)?('+v+'==1?1:0):('+v+'==2?0:2)');continue;}
+if(ar[i]==CLOSETEXT){q(ar[++i],pf+'close');continue;}
+if(ar[i]==SNAPX){p(ar[++i],pf+'snapx');continue;}
+if(ar[i]==SNAPY){p(ar[++i],pf+'snapy');continue;}
+if(ar[i]==FIXX){p(ar[++i],pf+'fixx');continue;}
+if(ar[i]==FIXY){p(ar[++i],pf+'fixy');continue;}
+if(ar[i]==RELX){p(ar[++i],pf+'relx');continue;}
+if(ar[i]==RELY){p(ar[++i],pf+'rely');continue;}
+if(ar[i]==MIDX){p(ar[++i],pf+'midx');continue;}
+if(ar[i]==MIDY){p(ar[++i],pf+'midy');continue;}
+if(ar[i]==REF){q(ar[++i],pf+'ref');continue;}
+if(ar[i]==REFC){q(ar[++i],pf+'refc');continue;}
+if(ar[i]==REFP){q(ar[++i],pf+'refp');continue;}
+if(ar[i]==REFX){p(ar[++i],pf+'refx');continue;}
+if(ar[i]==REFY){p(ar[++i],pf+'refy');continue;}
+if(ar[i]==FGBACKGROUND){q(ar[++i],pf+'fgbackground');continue;}
+if(ar[i]==BGBACKGROUND){q(ar[++i],pf+'bgbackground');continue;}
+if(ar[i]==CGBACKGROUND){q(ar[++i],pf+'cgbackground');continue;}
+if(ar[i]==PADX){p(ar[++i],pf+'padxl');p(ar[++i],pf+'padxr');continue;}
+if(ar[i]==PADY){p(ar[++i],pf+'padyt');p(ar[++i],pf+'padyb');continue;}
+if(Math.abs(ar[i])==FULLHTML){t(ar[i],pf+'fullhtml');continue;}
+if(ar[i]==BELOW||ar[i]==ABOVE||ar[i]==VCENTER){p(ar[i],pf+'vpos');continue;}
+if(ar[i]==CAPICON){q(ar[++i],pf+'capicon');continue;}
+if(ar[i]==TEXTFONT){q(ar[++i],pf+'textfont');continue;}
+if(ar[i]==CAPTIONFONT){q(ar[++i],pf+'captionfont');continue;}
+if(ar[i]==CLOSEFONT){q(ar[++i],pf+'closefont');continue;}
+if(ar[i]==TEXTSIZE){q(ar[++i],pf+'textsize');continue;}
+if(ar[i]==CAPTIONSIZE){q(ar[++i],pf+'captionsize');continue;}
+if(ar[i]==CLOSESIZE){q(ar[++i],pf+'closesize');continue;}
+if(ar[i]==TIMEOUT){p(ar[++i],pf+'timeout');continue;}
+if(ar[i]==DELAY){p(ar[++i],pf+'delay');continue;}
+if(Math.abs(ar[i])==HAUTO){t(ar[i],pf+'hauto');continue;}
+if(Math.abs(ar[i])==VAUTO){t(ar[i],pf+'vauto');continue;}
+if(Math.abs(ar[i])==NOJUSTX){t(ar[i],pf+'nojustx');continue;}
+if(Math.abs(ar[i])==NOJUSTY){t(ar[i],pf+'nojusty');continue;}
+if(Math.abs(ar[i])==CLOSECLICK){t(ar[i],pf+'closeclick');continue;}
+if(ar[i]==CLOSETITLE){q(ar[++i],pf+'closetitle');continue;}
+if(ar[i]==FGCLASS){q(ar[++i],pf+'fgclass');continue;}
+if(ar[i]==BGCLASS){q(ar[++i],pf+'bgclass');continue;}
+if(ar[i]==CGCLASS){q(ar[++i],pf+'cgclass');continue;}
+if(ar[i]==TEXTPADDING){p(ar[++i],pf+'textpadding');continue;}
+if(ar[i]==TEXTFONTCLASS){q(ar[++i],pf+'textfontclass');continue;}
+if(ar[i]==CAPTIONPADDING){p(ar[++i],pf+'captionpadding');continue;}
+if(ar[i]==CAPTIONFONTCLASS){q(ar[++i],pf+'captionfontclass');continue;}
+if(ar[i]==CLOSEFONTCLASS){q(ar[++i],pf+'closefontclass');continue;}
+if(Math.abs(ar[i])==CAPBELOW){t(ar[i],pf+'capbelow');continue;}
+if(ar[i]==LABEL){q(ar[++i],pf+'label');continue;}
+if(Math.abs(ar[i])==DECODE){t(ar[i],pf+'decode');continue;}
+if(ar[i]==DONOTHING){continue;}
+i=OLparseCmdLine(pf,i,ar);}}
+if((OLfunctionPI)&&OLudf&&o3_function)o3_text=o3_function();
+if(pf=='o3_')OLfontSize();
+}
+function OLpar(a,v){eval(v+'='+a);}
+function OLparQuo(a,v){eval(v+"='"+OLescSglQt(a)+"'");}
+function OLescSglQt(s){return s.toString().replace(/\\/g,"\\\\").replace(/'/g,"\\'");}
+function OLtoggle(a,v){eval(v+'=('+v+'==0&&'+a+'>=0)?1:0');}
+function OLhasDims(s){return /[%\-a-z]+$/.test(s);}
+function OLfontSize(){
+var i;if(OLhasDims(o3_textsize)){if(OLns4)o3_textsize="2";}else
+if(!OLns4){i=parseInt(o3_textsize);o3_textsize=(i>0&&i<8)?OLpct[i]:OLpct[0];}
+if(OLhasDims(o3_captionsize)){if(OLns4)o3_captionsize="2";}else
+if(!OLns4){i=parseInt(o3_captionsize);o3_captionsize=(i>0&&i<8)?OLpct[i]:OLpct[0];}
+if(OLhasDims(o3_closesize)){if(OLns4)o3_closesize="2";}else
+if(!OLns4){i=parseInt(o3_closesize);o3_closesize=(i>0&&i<8)?OLpct[i]:OLpct[0];}
+if(OLprintPI)OLprintDims();
+}
+function OLdecode(){
+var re=/%[0-9A-Fa-f]{2,}/,t=o3_text,c=o3_cap,u=unescape,d=!OLns4&&(!OLgek||OLgek>=20020826)
+&&typeof decodeURIComponent?decodeURIComponent:u;if(typeof(window.TypeError)=='function'){
+if(re.test(t)){eval(new Array('try{','o3_text=d(t);','}catch(e){','o3_text=u(t);',
+'}').join('\n'))};if(c&&re.test(c)){eval(new Array('try{','o3_cap=d(c);','}catch(e){',
+'o3_cap=u(c);','}').join('\n'))}}else{if(re.test(t))o3_text=u(t);if(c&&re.test(c))o3_cap=u(c);}
+}
+
+/*
+ LAYER FUNCTIONS
+*/
+// Writes to layer
+function OLlayerWrite(t){
+t+="\n";if(OLns4){over.document.write(t);over.document.close();}
+else if(typeof over.innerHTML!='undefined'){if(OLieM)over.innerHTML='';over.innerHTML=t;
+}else{var range=o3_frame.document.createRange();range.setStartAfter(over);
+var domfrag=range.createContextualFragment(t);while(over.hasChildNodes()){
+over.removeChild(over.lastChild);}over.appendChild(domfrag);}
+if(OLprintPI)over.print=o3_print?t:null;
+}
+
+// Makes object visible
+function OLshowObject(o){
+OLshowid=0;o=(OLns4)?o:o.style;
+if(((OLfilterPI)&&!OLchkFilter(o))||!OLfilterPI)o.visibility="visible";
+if(OLshadowPI)OLshowShadow();if(OLiframePI)OLshowIfs();if(OLhidePI)OLhideUtil(1,1,0);
+}
+
+// Hides object
+function OLhideObject(o){
+if(OLshowid>0){clearTimeout(OLshowid);OLshowid=0;}
+if(OLtimerid>0)clearTimeout(OLtimerid);if(OLdelayid>0)clearTimeout(OLdelayid);
+OLtimerid=0;OLdelayid=0;self.status="";o3_label=ol_label;if(o3_frame!=self)o=OLgetRefById();
+if(o){if(o.onmouseover)o.onmouseover=null;if(OLscrollPI&&o==over)OLclearScroll();
+if(OLdraggablePI)OLclearDrag();if(OLfilterPI)OLcleanupFilter(o);if(OLshadowPI)OLhideShadow();
+var os=(OLns4)?o:o.style;if(((OLfilterPI)&&!OLchkFadeOut(os))||!OLfilterPI){
+os.visibility="hidden";if(!OLie55||!OLfilterPI||!o3_filter||o3_fadeout<0)o.innerHTML='';}
+if(OLhidePI&&o==over)OLhideUtil(0,0,1);if(OLiframePI)OLhideIfs(o);}
+}
+
+// Moves layer
+function OLrepositionTo(o,xL,yL){
+o=(OLns4)?o:o.style;o.left=(OLns4?xL:xL+'px');o.top=(OLns4?yL:yL+'px');
+}
+
+// Handle NOCLOSE-MOUSEOFF
+function OLoptMOUSEOFF(c){
+if(!c)o3_close="";
+over.onmouseover=function(){OLhover=1;if(OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=0;}}
+}
+function OLcursorOff(){
+var o=(OLns4?over:over.style),pHt=OLns4?over.clip.height:over.offsetHeight,
+left=parseInt(o.left),top=parseInt(o.top),
+right=left+o3_width,bottom=top+((OLbubblePI&&o3_bubble)?OLbubbleHt:pHt);
+if(OLx<left||OLx>right||OLy<top||OLy>bottom)return true;return false;
+}
+
+/*
+ REGISTRATION
+*/
+function OLsetRunTimeVar(){
+if(OLrunTime.length)for(var k=0;k<OLrunTime.length;k++)OLrunTime[k]();
+}
+function OLparseCmdLine(pf,i,ar){
+if(OLcmdLine.length){for(var k=0;k<OLcmdLine.length;k++){
+var j=OLcmdLine[k](pf,i,ar);if(j>-1){i=j;break;}}}return i;
+}
+function OLregCmds(c){
+if(typeof c!='string')return;var pM=c.split(',');pMtr=pMtr.concat(pM);
+for(var i=0;i<pM.length;i++)eval(pM[i].toUpperCase()+'='+pmCnt++);
+}
+function OLregRunTimeFunc(f){
+if(typeof f=='object')OLrunTime=OLrunTime.concat(f);else OLrunTime[OLrunTime.length++]=f;
+}
+function OLregCmdLineFunc(f){
+if(typeof f=='object')OLcmdLine=OLcmdLine.concat(f);else OLcmdLine[OLcmdLine.length++]=f;
+}
+
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_bubble.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_bubble.js
new file mode 100644
index 00000000..94f1c796
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_bubble.js
@@ -0,0 +1,199 @@
+/*
+ overlibmws_bubble.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For support of the BUBBLE feature.
+ Initial: July 26, 2003 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLbubbleCmds='bubble,bubbletype,adjbubble';
+OLregCmds(OLbubbleCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('bubble'))var ol_bubble=0;
+if(OLud('bubbletype'))var ol_bubbletype='';
+if(OLud('adjbubble'))var ol_adjbubble=0;
+// END CONFIGURATION
+
+if(typeof OLbubbleImages=='undefined')
+var OLbubbleImages='flower,oval,square,pushpin,quotation,roundcorners';
+if(typeof OLbubbleImageDir=='undefined')var OLbubbleImageDir='./';
+OLregisterImages('flower,oval,square,pushpin,quotation,roundcorners',OLbubbleImageDir);
+var OLimgWidth=[250,330,144,202,200];
+var OLimgHeight=[150,160,190,221,66];
+var OLcontentWidth=[200,250,130,184,190];
+var OLcontentHeight=[80,85,150,176,46];
+var OLpadLeft=[30,40,7,9,5];
+var OLpadTop=[25,48,10,34,4];
+var OLarwTipX=[180,50,51,9,19];
+var OLarwTipY=[148,5,180,221,64];
+var OLbI,OLbContentWd=OLcontentWidth;
+
+var o3_bubble=0,o3_bubbletype='',o3_adjbubble=0,OLbubbleHt=0;
+
+function OLloadBubble(){
+OLload(OLbubbleCmds);OLbubbleHt=0;
+}
+
+function OLparseBubble(pf,i,ar){
+var k=i,t=OLtoggle;
+if(k<ar.length){
+if(Math.abs(ar[k])==BUBBLE){t(ar[k],pf+'bubble');return k;}
+if(ar[k]==BUBBLETYPE){OLparQuo(ar[++k],pf+'bubbletype');return k;}
+if(Math.abs(ar[k])==ADJBUBBLE){t(ar[k],pf+'adjbubble');return k;}}
+return -1;
+}
+
+function OLchkForBubbleEffect() {
+if(o3_bubble){o3_bubbletype=(o3_bubbletype)?o3_bubbletype:'flower';
+for(var i=0;i<OLbTypes.length;i++){if(OLbTypes[i]==o3_bubbletype){OLbI=i;break;}}
+// disable inappropriate parameters
+o3_bgcolor=o3_fgcolor='';
+o3_border=o3_base=0;
+o3_fgbackground=o3_bgbackground=o3_cgbackground=o3_background='';
+o3_cap='';
+if(o3_sticky)o3_noclose=1;
+o3_fullhtml=0;
+if(OLshadowPI)o3_shadow=0;
+if(o3_bubbletype!='roundcorners'){
+o3_width=OLbContentWd[OLbI];
+o3_hpos=RIGHT;
+o3_vpos=BELOW;
+o3_vauto=0;
+o3_hauto=0;
+o3_wrap=0;
+o3_nojusty=1;}}
+return true;
+}
+
+function OLregisterImages(imgStr,path) {
+if(typeof imgStr!='string')return;
+path=(path&&typeof path=='string')?path:'.';
+if(path.charAt(path.length-1)=='/')path=path.substring(0,path.length-1);
+if(typeof OLbTypes=='undefined')OLbTypes=imgStr.split(',');
+if(typeof OLbubbleImg=='undefined'){
+OLbubbleImg=new Array();
+for(var i=0;i<OLbTypes.length;i++){
+if(OLbubbleImages.indexOf(OLbTypes[i])<0)continue;
+if(OLbTypes[i]=='roundcorners'){
+OLbubbleImg[i]=new Array();
+var o=OLbubbleImg[i];
+o[0]=new Image();o[0].src=path+'/cornerTL.gif';
+o[1]=new Image();o[1].src=path+'/edgeT.gif';
+o[2]=new Image();o[2].src=path+'/cornerTR.gif';
+o[3]=new Image();o[3].src=path+'/edgeL.gif';
+o[4]=new Image();o[4].src=path+'/edgeR.gif';
+o[5]=new Image();o[5].src=path+'/cornerBL.gif';
+o[6]=new Image();o[6].src=path+'/edgeB.gif';
+o[7]=new Image();o[7].src=path+'/cornerBR.gif';
+}else{
+OLbubbleImg[i]=new Image();OLbubbleImg[i].src=path+'/'+OLbTypes[i]+'.gif';}}}
+}
+
+function OLgenerateBubble(content) {
+if(!o3_bubble)return;
+if(o3_bubbletype=='roundcorners')return OLdoRoundCorners(content);
+var ar,X,Y,fc=1.0,txt,sY,bHtDiff,bPadDiff=0,bLobj,bCobj;
+var bTopPad=OLpadTop,bLeftPad=OLpadLeft;
+var bContentHt=OLcontentHeight,bHt=OLimgHeight;
+var bWd=OLimgWidth,bArwTipX=OLarwTipX,bArwTipY=OLarwTipY;
+bHtDiff=fc*bContentHt[OLbI]-(OLns4?over.clip.height:over.offsetHeight);
+if(o3_adjbubble){
+fc=OLresizeBubble(bHtDiff,0.5,fc);
+ar=OLgetHeightDiff(fc);
+bHtDiff=ar[0];
+content=ar[1];}
+if(bHtDiff>0)bPadDiff=(bHtDiff<2)?0:parseInt(0.5*bHtDiff);
+Y=(bHtDiff<0)?fc*bTopPad[OLbI]:fc*bTopPad[OLbI]+bPadDiff;
+X=fc*bLeftPad[OLbI];
+Y=Math.round(Y);
+X=Math.round(X);
+o3_width=fc*bWd[OLbI];
+OLbubbleHt=fc*bHt[OLbI];
+txt='<img src="'+OLbubbleImg[OLbI].src+'" width="'+o3_width+'" height="'
++(bHtDiff<0?OLbubbleHt-bHtDiff:OLbubbleHt)+'" />'+(OLns4?'<div id="bContent">':
+'<div id="bContent" style="position:absolute; top:'+Y+'px; left:'+X+'px; width:'
++fc*OLbContentWd[OLbI]+'px; z-index:1;">')+content+'</div>';
+OLlayerWrite(txt);
+if(OLns4){
+bCobj=over.document.layers['bContent'];
+if(typeof bCobj=='undefined')return;
+bCobj.top=Y;
+bCobj.left=X;
+bCobj.clip.width=fc*OLbContentWd[OLbI];
+bCobj.zIndex=1;}
+if(fc*bArwTipY[OLbI]<0.5*fc*bHt[OLbI])sY=fc*bArwTipY[OLbI];
+else sY= -(fc*bHt[OLbI]+20);
+o3_offsetx -=fc*bArwTipX[OLbI];
+o3_offsety +=sY;
+}
+
+function OLdoRoundCorners(content) {
+var txt,wd,ht,o=OLbubbleImg[OLbI];
+wd=(OLns4)?over.clip.width:over.offsetWidth;
+ht=(OLns4)?over.clip.height:over.offsetHeight;
+txt='<table cellpadding="0" cellspacing="0" border="0">'
++'<tr><td align="right" valign="bottom"><img src="'+o[0].src+'" width="14" height="14"'
++(OLns6?' style="display:block;"':'')+' /></td><td valign="bottom"><img src="'+o[1].src
++'" height="14" width="'+wd+'"'+(OLns6?' style="display:block;"':'')
++' /></td><td align="left" valign="bottom"><img src="'+o[2].src+'" width="14" height="14"'
++(OLns6?' style="display:block;"':'')+' /></td></tr>'
++'<tr><td align="right"><img src="'+o[3].src+'" width="14" height="'+ht+'"'
++(OLns6?' style="display:block;"':'')+' /></td><td bgcolor="#ffffcc">'+content
++'</td><td align="left"><img src="'+o[4].src+'" width="14" height="'+ht+'"'
++(OLns6?' style="display:block;"':'')+ '/></td></tr>'+'<tr><td align="right" valign="top">'
++'<img src="'+o[5].src+'" width="14" height="14" /></td><td valign="top"><img src="'+o[6].src
++'" height="14" width="'+wd+'" /></td><td align="left" valign="top"><img src="'+o[7].src
++'" width="14" height="14" /></td></tr></table>';
+OLlayerWrite(txt);
+o3_width=wd+28;
+OLbubbleHt=ht+28;
+}
+
+function OLresizeBubble(h1,dF,fold){
+var df,h2,fnew,alpha,cnt=0;
+while(cnt<2){
+df= -OLsignOf(h1)*dF;
+fnew=fold+df;
+h2=OLgetHeightDiff(fnew)[0];
+if(Math.abs(h2)<11)break;
+if(OLsignOf(h1)!=OLsignOf(h2)){
+alpha=Math.abs(h1)/(Math.abs(h1)+Math.abs(h2));
+if(h1<0)fnew=alpha*fnew+(1.0-alpha)*fold;
+else fnew=(1.0-alpha)*fnew+alpha*fold;
+}else{
+alpha=Math.abs(h1)/(Math.abs(h2)-Math.abs(h1));
+if(h1<0)fnew=(1.0+alpha)*fold-alpha*fnew;
+else fnew=(1.0+alpha)*fnew-alpha*fold;}
+fold=fnew;
+h1=h2;
+dF*=0.5;
+cnt++;}
+return fnew;
+}
+
+function OLgetHeightDiff(f){
+var lyrhtml;
+o3_width=f*OLcontentWidth[OLbI];
+lyrhtml=OLcontentSimple(o3_text);
+OLlayerWrite(lyrhtml)
+return [f*OLcontentHeight[OLbI]-((OLns4)?over.clip.height:over.offsetHeight),lyrhtml];
+}
+
+function OLsignOf(x){
+return (x<0)? -1:1;
+}
+
+OLregRunTimeFunc(OLloadBubble);
+OLregCmdLineFunc(OLparseBubble);
+
+if(OLns4)
+document.write(
+'<style type="text/css">\n<!--\n#bContent{position:absolute;left:0px;top:0px;width:1024}\n'
++'-->\n<'+'\/style>');
+OLbubblePI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_crossframe.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_crossframe.js
new file mode 100644
index 00000000..beb468fa
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_crossframe.js
@@ -0,0 +1,44 @@
+/*
+ overlibmws_crossframe.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For support of FRAME.
+ Initial: August 3, 2003 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+OLregCmds('frame');
+
+function OLparseCrossframe(pf,i,ar){
+var k=i,v;
+if(k<ar.length){
+if(ar[k]==FRAME){v=ar[++k];if(pf=='ol_')ol_frame=v;else OLoptFRAME(v);return k;}}
+return -1;
+}
+
+function OLgetFrameRef(thisFrame,ofrm){
+var i,v,retVal='';for(i=0;i<thisFrame.length;i++){if((((thisFrame[i].length>0)))&&(((OLns4))||
+((OLie4)&&(v=thisFrame[i].document.all.tags('iframe'))!=null&&v.length==0)||
+((OLns6)&&(v=thisFrame[i].document.getElementsByTagName('iframe'))!=null&&v.length==0))){
+retVal=OLgetFrameRef(thisFrame[i],ofrm);if(retVal=='')continue;}
+else if(thisFrame[i]!=ofrm)continue;retVal='['+i+']'+retVal;break;}
+return retVal;
+}
+
+function OLoptFRAME(frm){
+o3_frame=OLmkLyr('overDiv',frm)?frm:self;if(o3_frame!=self){
+var l,tFrm=OLgetFrameRef(top.frames,o3_frame),sFrm=OLgetFrameRef(top.frames,ol_frame);
+if(sFrm.length==tFrm.length) {l=tFrm.lastIndexOf('[');if(l){
+while(sFrm.substring(0,l)!=tFrm.substring(0,l))l=tFrm.lastIndexOf('[',l-1);
+tFrm=tFrm.substr(l);sFrm=sFrm.substr(l);}}var i,k,cnt=0,p='',str=tFrm;
+while((k=str.lastIndexOf('['))!= -1){cnt++;str=str.substring(0,k);}
+for(i=0;i<cnt;i++)p=p+'parent.';OLfnRef=p+'frames'+sFrm+'.';}
+}
+
+OLregCmdLineFunc(OLparseCrossframe);
+
+OLcrossframePI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_debug.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_debug.js
new file mode 100644
index 00000000..125b290d
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_debug.js
@@ -0,0 +1,120 @@
+/*
+ overlibmws_debug.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For support of the OLshowProperties() debugging function.
+ Initial: July 26, 2003 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLzIndex;
+OLregCmds('allowdebug');
+
+// DEFAULT CONFIGURATION
+if(OLud('allowdebug'))var ol_allowdebug='';
+// END CONFIGURATION
+
+var o3_allowdebug='';
+
+function OLloadDebug(){
+OLload('allowdebug');
+}
+
+function OLparseDebug(pf,i,ar){
+var k=i;
+if(ar[k]==ALLOWDEBUG){
+if(k<(ar.length-1)&&typeof ar[k+1]=='string')OLparQuo(ar[++k],pf+'allowdebug');return k;}
+return -1;
+}
+
+function OLshowProperties(){
+var ar=arguments,sho,shoS,vis,lvl=0,istrt=0,theDiv='showProps',txt='',
+fac='Verdana,Arial,Helvetica',siz=(OLns4?'1':'67%'),
+fon='><font color="#000000" face="'+fac+'" size="'+siz,
+stl=' style="font-family:'+fac+';font-size:'+siz+';',
+sty=stl+'color:#000000;',clo=(OLns4?'</font>':'');
+if(ar.length==0)return;
+if(ar.length%2&&typeof ar[0]=='string'){istrt=1;theDiv=ar[0];}
+if(!(sho=OLmkLyr(theDiv,self)))return;
+shoS=(OLns4)?sho:sho.style;
+lvl=OLgetLayerLevel(theDiv);
+if(typeof sho.position=='undefined'){
+sho.position=new OLpageLocDebug(10+lvl*20,10,1);
+if(typeof OLzIndex=='undefined')OLzIndex=OLgetDivZindex('overDiv',self);
+shoS.zIndex=OLzIndex+1+lvl;}
+txt='<table cellpadding="1" cellspacing="0" border="0" bgcolor="#000000"><tr><td>'
++'<table cellpadding="5" border="0" cellspacing="0" bgcolor="#ffffcc">'
++'<tr><td><strong><a href="javascript:OLmoveToBack(\''+theDiv+'\');" title="Move to back"'
++(OLns4?fon:stl)+'">'+theDiv+clo
++'</a></strong></td><td align="right"><strong><a href="javascript:OLcloseLayer(\''+theDiv
++'\');" title="Close Layer"'+(OLns4?fon:stl
++'background-color:#cccccc;border:1px #333369 outset;padding:0px;')+'">X'+clo
++'</a></strong></td></tr><tr><td'+(OLns4?fon:sty)+'">'+'<strong><em>Item</em></strong>'
++clo+'</td><td'+(OLns4?fon:sty)+'">'+'<strong><em>Value</em></strong>'+clo+'</td></tr>';
+for(var i=istrt;i<ar.length-1;i++)
+txt+='<tr><td align="right"'+(OLns4?fon:sty)+'">'+'<strong>'+ar[i]+':&nbsp;</strong>'
++clo+'</td><td'+(OLns4?fon:sty)+'">'+ar[++i]+clo+'</td></tr>';
+txt+='</table></td></tr></table>';
+if(OLns4){sho.document.open();sho.document.write(txt);sho.document.close();
+}else{if(OLie4&&OLieM)sho.innerHTML='';sho.innerHTML=txt;}
+OLshowAllVisibleLayers();
+}
+
+function OLgetLayerLevel(lyr){
+var i=0;
+if(typeof document.popups=='undefined'){document.popups=new Array(lyr);
+}else{var l=document.popups;for(i=0;i<l.length;i++)if(lyr==l[i])break;
+if(i==l.length)l[l.length++]=lyr;}
+return i;
+}
+
+function OLgetDivZindex(id,f){
+if(!id)id='overDiv';if(!f)f=o3_frame;
+var o=OLgetRefById(id,f.document);
+if(o){o=OLns4?o:o.style;return o.zIndex;}
+else return 1000;
+}
+
+function OLsetDebugCanShow(){
+if(o3_allowdebug!=''){
+var i,lyr,pLyr=o3_allowdebug.replace(/[ ]/ig,'').split(',');
+for(i=0;i<pLyr.length;i++){lyr=OLgetRefById(pLyr[i],self.document);
+if(lyr&&typeof lyr.position!='undefined')lyr.position.canShow=1;}}
+}
+
+function OLpageLocDebug(x,y,canShow){
+this.x=x;this.y=y;this.canShow=(canShow==null)?0:canShow;
+}
+
+function OLshowAllVisibleLayers(){
+var i,lyr,o,l=document.popups;
+for(i=0;i<l.length;i++){if((lyr=OLgetRefById(l[i],self.document))&&lyr.position.canShow){
+o=OLns4?lyr:lyr.style;OLpositionLayer(o,lyr.position.x,lyr.position.y);o.visibility='visible';}}
+}
+
+function OLpositionLayer(o,x,y){
+o.left=x+(OLie4?OLfd(self).scrollLeft:self.pageXOffset)+(OLns4?0:'px');
+o.top=y+(OLie4?OLfd(self).scrollTop:self.pageYOffset)+(OLns4?0:'px');
+}
+
+function OLcloseLayer(id){
+var lyr=OLgetRefById(id,self.document);
+if(lyr){lyr.position.canShow=0;lyr=OLns4?lyr:lyr.style;lyr.visibility='hidden';}
+}
+
+function OLmoveToBack(layer){
+var l=document.popups,lyr,o,i,x=10,dx=20,z=OLzIndex+1;if(l.length==1)return;
+if(lyr=OLgetRefById(layer,self.document)){lyr.position.x=x;o=OLns4?lyr:lyr.style;o.zIndex=z;
+for(i=0;i<l.length;i++){if(layer==l[i])continue;
+if(!(lyr=OLgetRefById(l[i],self.document))||lyr.position.canShow==0)continue;
+o=OLns4?lyr:lyr.style;o.zIndex+=1;lyr.position.x+=dx;}OLshowAllVisibleLayers();}
+}
+
+OLregRunTimeFunc(OLloadDebug);
+OLregCmdLineFunc(OLparseDebug);
+
+OLdebugPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_draggable.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_draggable.js
new file mode 100644
index 00000000..a5696ab9
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_draggable.js
@@ -0,0 +1,85 @@
+/*
+ overlibmws_draggable.js plug-in module - Copyright Foteos Macrides 2002-2007. All rights reserved.
+ For support of the DRAGGABLE feature.
+ Initial: August 24, 2002 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLdraggableCmds='draggable,dragcap,dragid';
+OLregCmds(OLdraggableCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('draggable'))var ol_draggable=0;
+if(OLud('dragcap'))var ol_dragcap=0;
+if(OLud('dragid'))var ol_dragid='';
+// END CONFIGURATION
+
+var o3_draggable=0,o3_dragcap=0,o3_dragid='',o3_dragging=0,OLdrg=null,OLmMv,
+OLcX,OLcY,OLcbX,OLcbY;function OLloadDraggable(){OLload(OLdraggableCmds);}
+function OLparseDraggable(pf,i,ar){var t=OLtoggle,k=i;if(k<ar.length){
+if(Math.abs(ar[k])==DRAGGABLE){t(ar[k],pf+'draggable');return k;}
+if(Math.abs(ar[k])==DRAGCAP){t(ar[k],pf+'dragcap');return k;}
+if(ar[k]==DRAGID){OLparQuo(ar[++k],pf+'dragid');return k;}}return -1;
+}
+
+function OLcheckDrag(){
+if(o3_draggable){if(o3_sticky&&(o3_frame==self))OLinitDrag();else o3_draggable=0;}
+}
+function OLinitDrag(){
+OLmMv=OLdw.onmousemove;o3_dragging=0;
+if(OLns4){document.captureEvents(Event.MOUSEDOWN|Event.CLICK);
+document.onmousedown=OLgrabEl;document.onclick=function(e){return routeEvent(e);}}
+else{var dvido=(o3_dragid)?OLgetRef(o3_dragid):null,capid=(OLovertwoPI&&over==over2?
+'overCap2':'overCap');if(dvido)dvido.onscroll=function(){OLdw.onmousemove=OLmMv;
+OLinitDrag();};OLdrg=(o3_cap&&o3_dragcap)?OLgetRef(capid):over;
+if(!OLdrg||!OLdrg.style)OLdrg=over;OLdrg.onmousedown=OLgrabEl;OLsetDrgCur(1);}
+}
+function OLsetDrgCur(d){if(!OLns4&&OLdrg)OLdrg.style.cursor=(d?'move':'auto');}
+
+function OLgrabEl(e){
+var e=(e||event);
+var cKy=(OLns4?e.modifiers&Event.ALT_MASK:(e.altKey||(OLop7&&e.ctrlKey)));o3_dragging=1;
+if(cKy){OLsetDrgCur(0);document.onmouseup=function(){OLsetDrgCur(1);o3_dragging=0;}
+return(OLns4?routeEvent(e):true);}
+OLx=(e.pageX||e.clientX+OLfd().scrollLeft);OLy=(e.pageY||e.clientY+OLfd().scrollTop);
+if(OLie4)over.onselectstart=function(){return false;}
+if(OLns4){OLcX=OLx;OLcY=OLy;document.captureEvents(Event.MOUSEUP)}else{
+OLcX=OLx-(OLns4?over.left:parseInt(over.style.left));
+OLcY=OLy-(OLns4?over.top:parseInt(over.style.top));
+if((OLshadowPI)&&bkdrop&&o3_shadow){OLcbX=OLx-(parseInt(bkdrop.style.left));
+OLcbY=OLy-(parseInt(bkdrop.style.top));}}OLdw.onmousemove=OLmoveEl;
+document.onmouseup=function(){
+if(OLie4)over.onselectstart=null;o3_dragging=0;OLdw.onmousemove=OLmMv;}
+return(OLns4?routeEvent(e):false);
+}
+
+function OLmoveEl(e){
+var e=(e||event);
+OLx=(e.pageX||e.clientX+OLfd().scrollLeft);OLy=(e.pageY||e.clientY+OLfd().scrollTop);
+if(o3_dragging){if(OLns4){over.moveBy(OLx-OLcX,OLy-OLcY);
+if(OLshadowPI&&bkdrop&&o3_shadow)bkdrop.moveBy(OLx-OLcX,OLy-OLcY);}
+else{OLrepositionTo(over,OLx-OLcX,OLy-OLcY);
+if((OLiframePI)&&OLie55&&OLifsP1)OLrepositionTo(OLifsP1,OLx-OLcX,OLy-OLcY);
+if((OLshadowPI)&&bkdrop&&o3_shadow){OLrepositionTo(bkdrop,OLx-OLcbX,OLy-OLcbY);
+if((OLiframePI)&&OLie55&&OLifsSh)OLrepositionTo(OLifsSh,OLx-OLcbX,OLy-OLcbY);}}
+if(OLhidePI)OLhideUtil(0,1,1,0,0,0);}if(OLns4){OLcX=OLx;OLcY=OLy;}
+return false;
+}
+
+function OLclearDrag(){
+if(OLns4){document.releaseEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.CLICK);
+document.onmousedown=document.onclick=null;}else{
+if(OLdrg)OLdrg.onmousedown=null;over.onmousedown=null;OLsetDrgCur(0);}
+document.onmouseup=null;o3_dragging=0;
+}
+
+OLregRunTimeFunc(OLloadDraggable);
+OLregCmdLineFunc(OLparseDraggable);
+
+OLdraggablePI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_exclusive.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_exclusive.js
new file mode 100644
index 00000000..8caf3959
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_exclusive.js
@@ -0,0 +1,58 @@
+/*
+ overlibmws_exclusive.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For support of the EXCLUSIVE feature.
+ Initial: November 7, 2003 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLexclusiveCmds='exclusive,exclusivestatus,exclusiveoverride';
+OLregCmds(OLexclusiveCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('exclusive'))var ol_exclusive=0;
+if(OLud('exclusivestatus'))var ol_exclusivestatus='Please act on or close the open popup.';
+if(OLud('exclusiveoverride'))var ol_exclusiveoverride=0;
+// END CONFIGURATION
+
+var o3_exclusive=0,o3_exclusivestatus='',o3_exclusiveoverride=0;
+
+function OLloadExclusive(){
+OLload(OLexclusiveCmds);
+}
+
+function OLparseExclusive(pf,i,ar){
+var k=i,t=OLtoggle;
+if(k<ar.length){
+if(Math.abs(ar[k])==EXCLUSIVE){t(ar[k],pf+'exclusive');return k;}
+if(ar[k]==EXCLUSIVESTATUS){OLparQuo(ar[++k],pf+'exclusivestatus');return k;}
+if(Math.abs(ar[k])==EXCLUSIVEOVERRIDE){t(ar[k],pf+'exclusiveoverride');return k;}}
+return -1;
+}
+
+function OLisExclusive(args){
+if((args!=null)&&OLhasOverRide(args))o3_exclusiveoverride=(ol_exclusiveoverride==0)?1:0;
+else o3_exclusiveoverride=ol_exclusiveoverride;
+var rtnVal=(o3_exclusive&&!o3_exclusiveoverride&&OLshowingsticky&&
+over==OLgetRefById('overDiv'));
+if(rtnVal)self.status=o3_exclusivestatus;
+return rtnVal;
+}
+
+function OLhasOverRide(args){
+var rtnFlag=0;
+for(var i=0;i<args.length;i++){
+if(typeof args[i]=='number'&&args[i]==EXCLUSIVEOVERRIDE){
+rtnFlag=1;break;}}
+return rtnFlag;
+}
+
+OLregRunTimeFunc(OLloadExclusive);
+OLregCmdLineFunc(OLparseExclusive);
+
+OLexclusivePI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_filter.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_filter.js
new file mode 100644
index 00000000..160151f8
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_filter.js
@@ -0,0 +1,184 @@
+/*
+ overlibmws_filter.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For support of the FILTER feature.
+ Initial: November 27, 2003 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLfilterCmds='filter,fadein,fadeout,fadetime,filteropacity,filtershadow,filtershadowcolor';
+OLregCmds(OLfilterCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('filter'))var ol_filter=0;
+if(OLud('fadein'))var ol_fadein=52;
+if(OLud('fadeout'))var ol_fadeout=52;
+if(OLud('fadetime'))var ol_fadetime=800;
+if(OLud('filteropacity'))var ol_filteropacity=100;
+if(OLud('filtershadow'))var ol_filtershadow=0;
+if(OLud('filtershadowcolor'))var ol_filtershadowcolor="#cccccc";
+// END CONFIGURATION
+
+var o3_filter=0,o3_fadein=52,o3_fadeout=52,o3_fadetime=800,o3_filteropacity=100,
+o3_filtershadow=0,o3_filtershadowcolor="#cccccc",OLfiIdx= -1,OLfInc=5,OLfTmInc=40,OLfOp=1,
+OLfiId=0,OLfoId=0,OLfOp2=1,OLfiId2=0,OLfoId2=0,OLfInc2=5,OLfTmInc2=40;
+
+function OLloadFilter(){
+OLload(OLfilterCmds);
+}
+
+function OLparseFilter(pf,i,ar){
+var k=i,p=OLpar;
+if(k<ar.length){
+if(Math.abs(ar[k])==FILTER){OLtoggle(ar[k],pf+'filter');return k;}
+if(ar[k]==FADEIN){p(ar[++k],pf+'fadein');return k;}
+if(ar[k]==FADEOUT){p(ar[++k],pf+'fadeout');return k;}
+if(ar[k]==FADETIME){p(ar[++k],pf+'fadetime');return k;}
+if(ar[k]==FILTEROPACITY){p(ar[++k],pf+'filteropacity');return k;}
+if(ar[k]==FILTERSHADOW){p(ar[++k],pf+'filtershadow');return k;}
+if(ar[k]==FILTERSHADOWCOLOR){OLparQuo(ar[++k],pf+'filtershadowcolor');return k;}}
+return -1;
+}
+
+function OLhasOp(){
+var op=0;if(OLns4||OLieM)return op;var os=over.style,u='undefined';if(os)op=
+(typeof os.opacity!=u||typeof os.MozOpacity!=u||typeof os.KhtmlOpacity!=u||OLie4&&!OLopr)?1:0;
+return(op);
+}
+
+function OLinitFilterLyr(o2){
+if(!OLie55){if(!OLhasOp()){o3_filter=0;return;}if(parent!=self)o3_fadeout=0;}
+if(OLie55){o3_fadein-=1;o3_fadeout-=1;OLfiIdx= -1;
+if(over.style.filter){var p,s,ob=over.filters[28];for(p=28;p<31;p++){
+over.filters[p].enabled=0;}for(s=0;s<28;s++){if(over.filters[s].status)over.filters[s].stop();
+over.filters[s].enabled=0;}ob.enabled=0;ob.opacity=ol_filteropacity;return;}}
+if(OLie55&&(!o3_filter||(OLshadowPI&&o3_shadow)))return;if(!OLie55){
+var b=(OLshadowPI)?OLgetRef('backdrop2'):null;if(o2){if(OLfiId2)clearTimeout(OLfiId2);
+if(OLfoId2)clearInterval(OLfoId2);OLfiId2=OLfoId2=0;if(b)b.style.visibility='hidden';
+over2.style.visibility='hidden';OLopOv(ol_filteropacity,2);
+if(o3_filter&&(o3_fadein||o3_fadeout)){OLfInc2=o3_filteropacity/20;
+OLfOp2=(o3_fadein?1:o3_filteropacity);OLfTmInc2=parseInt(o3_fadetime/20);}}else{
+if(OLfiId)clearTimeout(OLfiId);if(OLfoId)clearInterval(OLfoId);OLfiId=OLfoId=0;
+if(OLshadowPI&&bkdrop)bkdrop.style.visibility='hidden';over.style.visibility='hidden';
+OLopOv(ol_filteropacity);if(o3_filter&&(o3_fadein||o3_fadeout)){OLfInc=o3_filteropacity/20;
+OLfOp=(o3_fadein?1:o3_filteropacity);OLfTmInc=parseInt(o3_fadetime/20);}}return;}
+var d=" progid:DXImageTransform.Microsoft.";over.style.filter="revealTrans()"
++d+"Fade(Overlap=1.00 enabled=0)"+d+"Inset(enabled=0)"
++d+"Iris(irisstyle=PLUS,motion=in enabled=0)"+d+"Iris(irisstyle=PLUS,motion=out enabled=0)"
++d+"Iris(irisstyle=DIAMOND,motion=in enabled=0)"+d+"Iris(irisstyle=DIAMOND,motion=out enabled=0)"
++d+"Iris(irisstyle=CROSS,motion=in enabled=0)"+d+"Iris(irisstyle=CROSS,motion=out enabled=0)"
++d+"Iris(irisstyle=STAR,motion=in enabled=0)"+d+"Iris(irisstyle=STAR,motion=out enabled=0)"
++d+"RadialWipe(wipestyle=CLOCK enabled=0)"+d+"RadialWipe(wipestyle=WEDGE enabled=0)"
++d+"RadialWipe(wipestyle=RADIAL enabled=0)"+d+"Pixelate(MaxSquare=35,enabled=0)"
++d+"Slide(slidestyle=HIDE,Bands=25 enabled=0)"+d+"Slide(slidestyle=PUSH,Bands=25 enabled=0)"
++d+"Slide(slidestyle=SWAP,Bands=25 enabled=0)"+d+"Spiral(GridSizeX=16,GridSizeY=16 enabled=0)"
++d+"Stretch(stretchstyle=HIDE enabled=0)"+d+"Stretch(stretchstyle=PUSH enabled=0)"
++d+"Stretch(stretchstyle=SPIN enabled=0)"+d+"Wheel(spokes=16 enabled=0)"
++d+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=forward enabled=0)"
++d+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=reverse enabled=0)"
++d+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=forward enabled=0)"
++d+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=reverse enabled=0)"
++d+"Zigzag(GridSizeX=8,GridSizeY=8 enabled=0)"+d+"Alpha(enabled=0)"
++d+"Dropshadow(OffX=5,OffY=5,Positive=true,enabled=0)"
++d+"Shadow(strength=5,direction=135,enabled=0)";
+}
+
+function OLchkFilter(o,o2){
+if(!o3_filter||o!=over.style||(OLie55&&OLshadowPI&&o3_shadow))return false;
+if(!OLie55){var op=o3_filteropacity;if(op>0&&op<100){if(o2)OLopOv(op,2);else OLopOv(op);}
+if(o3_fadein||o3_fadeout){var p=(o3_fadein)?(o2?OLfOp2:OLfOp):o3_filteropacity;if(o2){
+OLopOv(p,2);if(o3_fadein&&!OLfiId2)OLfadeIn2();}else{OLopOv(p);
+if(o3_fadein&&!OLfiId)OLfadeIn();}}return false;}
+var fi=o3_fadein,fo=o3_fadeout,fp=1,ft=o3_fadetime/1000;if(fi<0||fi>51){fi=fo;fp=0;}
+if(fi==51)fi=parseInt(Math.random()*50);var at=fi>-1&&fi<24&&ft>0,af=fi>23&&fi<51&&ft>0;
+OLfiIdx=(af?fi-23:0);var p,s,e,ob,t=over.filters[OLfiIdx];
+for(p=28;p<31;p++){over.filters[p].enabled=0;}for(s=0;s<28;s++){
+if(over.filters[s].status)over.filters[s].stop();over.filters[s].enabled=0;}
+for(e=1;e<3;e++){if(o3_filtershadowcolor&&o3_filtershadow==e){
+ob=over.filters[28+e];ob.enabled=1;ob.color=o3_filtershadowcolor;}}
+if(o3_filteropacity>0&&o3_filteropacity<100){ob=over.filters[28];
+ob.enabled=1;ob.opacity=o3_filteropacity;}if(fp&&(at||af)){if(at)over.filters[0].transition=fi;
+t.duration=ft;t.apply();o.visibility='visible';t.play();return true;}
+return false;
+}
+
+function OLopOv(op,o2){
+var o=(o2?over2:over),os=o.style;
+if(OLie4&&typeof os.filter=='string')os.filter='Alpha(opacity='+op+')';
+else if(typeof os.opacity!='undefined')os.opacity=op/100;
+else if(typeof os.MozOpacity!='undefined')os.MozOpacity=op/100;
+else if(typeof os.KhtmlOpacity!='undefined')os.KhtmlOpacity=op/100;
+}
+
+function OLopOvSh(op,o){
+if(!bkdrop&&!o)return;var os=(o)?o.style:bkdrop.style;
+if(OLie4&&typeof os.filter=='string')os.filter='Alpha(opacity='+op+')';
+else if(typeof os.opacity!='undefined')os.opacity=op/100;
+else if(typeof os.MozOpacity!='undefined')os.MozOpacity=op/100;
+else if(typeof os.KhtmlOpacity!='undefined')os.KhtmlOpacity=op/100;
+}
+
+function OLcleanupFilter(o,o2){
+if(!o3_filter||!over||o!=over||(OLie55&&OLshadowPI&&o3_shadow))return;if(!OLie55){
+if(o2){if(OLfiId2)clearTimeout(OLfiId2);if(OLfoId2)clearInterval(OLfoId2);
+OLfiId2=OLfoId2=0;var op=o3_filteropacity;if(op>0&&op<100)OLopOv(ol_filteropacity,2);}else{
+if(OLfiId)clearTimeout(OLfiId);if(OLfoId)clearInterval(OLfoId);OLfiId=OLfoId=0;
+var op=o3_filteropacity;if(op>0&&op<100)OLopOv(ol_filteropacity);}return;}
+if(typeof over.filters!='object')return;
+var os=over.style,fi=o3_fadein,fo=o3_fadeout;
+if(fi>=0&&fi<=51&&fo==fi){if(OLfiIdx<0)return;var t=over.filters[OLfiIdx];
+if(t.status)t.stop();os.visibility='visible';t.apply();
+os.visibility='hidden';t.play();
+}else{if(fo>=0&&fo<=51){fi=fo;if(fi==51)fi=parseInt(Math.random()*50);
+var ft=o3_fadetime;var at=fi>-1&&fi<24&&ft>0; var af=fi>23&&fi<51&&ft>0;
+OLfiIdx=(af?fi-23:0);t=over.filters[OLfiIdx];if(at||af){
+if(at)over.filters[0].transition=fi;if(t.status)t.stop();
+os.visibility='visible';t.apply();os.visibility='hidden';t.play();}}}
+OLfiIdx=-1;
+}
+
+function OLfadeIn(){
+if(OLfOp>=o3_filteropacity){if(OLshadowPI&&o3_shadow&&bkdrop)OLopOvSh(o3_shadowopacity);
+OLopOv(o3_filteropacity);clearTimeout(OLfiId);OLfiId=0;}else{OLopOv(OLfOp);
+if(!OLfOp&&over.style.visibility=='hidden')over.style.visibility='visible';var ops=0.3*OLfOp;
+if(OLfOp>40&&OLshadowPI&&o3_shadow&&bkdrop&&ops<o3_shadowopacity)OLopOvSh(ops);OLfOp+=OLfInc;
+OLfiId=setTimeout("OLfadeIn()",OLfTmInc);}
+}
+function OLfadeIn2(){
+if(OLfOp2>=o3_filteropacity){if(OLshadowPI&&o3_shadow&&bkdrop)OLopOvSh(o3_shadowopacity);
+OLopOv(o3_filteropacity,2);clearTimeout(OLfiId2);OLfiId2=0;}else{OLopOv(OLfOp2,2);
+if(!OLfOp2&&over2&&over2.style.visibility=='hidden')over2.style.visibility='visible';
+var ops=0.3*OLfOp2;if(OLfOp2>40&&OLshadowPI&&o3_shadow&&bkdrop&&ops<o3_shadowopacity)
+OLopOvSh(ops);OLfOp2+=OLfInc2;OLfiId2=setTimeout("OLfadeIn2()",OLfTmInc2);}
+}
+
+function OLchkFadeOut(o){
+if(OLie55||!o3_filter||!o3_fadeout||o!=over.style)return false;
+OLfoId=setInterval('OLfadeOut()',OLfTmInc);return true;
+}
+function OLfadeOut(){
+if(OLfOp<0){clearInterval(OLfoId);OLfoId=0;o3_fadeout=0;if(OLshadowPI&&o3_shadow&&bkdrop){
+bkdrop.style.visibility="hidden";OLcleanUpShadow();}OLhideObject(over);}else{var ops=0.3*OLfOp;
+if(OLfOp>40&&OLshadowPI&&o3_shadow&&bkdrop&&ops<o3_shadowopacity)OLopOvSh(ops);OLopOv(OLfOp);
+OLfOp-=OLfInc;}
+}
+function OLchkFadeOut2(o){
+if(OLie55||!o3_filter||!o3_fadeout||o!=over.style)return false;
+OLfoId2=setInterval('OLfadeOut2()',OLfTmInc2);return true;
+}
+function OLfadeOut2(){
+var b=(OLshadowPI)?OLgetRef('backdrop2'):null;if(OLfOp2<0){clearInterval(OLfoId2);if(b){
+b.style.visibility="hidden";if(over==over2)OLcleanUpShadow();}OLfoId2=0;OLhideObjectP2(over);
+over2.style.visibility='hidden';}else{var ops=0.3*OLfOp2;if(b){if(OLfOp2>40)OLopOvSh(ops,b);
+else OLopOvSh(1,b);}OLopOv(OLfOp2,2);OLfOp2-=OLfInc2;}
+}
+
+OLregRunTimeFunc(OLloadFilter);
+OLregCmdLineFunc(OLparseFilter);
+
+OLfilterPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_function.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_function.js
new file mode 100644
index 00000000..3de9ea0b
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_function.js
@@ -0,0 +1,44 @@
+/*
+ overlibmws_function.js plug-in module - Copyright Foteos Macrides 2002-2007. All rights reserved.
+ For support of the FUNCTION feature.
+ Initial: August 18, 2002 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+OLregCmds('function');
+
+// DEFAULT CONFIGURATION
+if(OLud('function'))var ol_function=null;
+// END CONFIGURATION
+
+var o3_function=null;
+
+function OLloadFunction(){
+OLload('function');
+}
+
+function OLparseFunction(pf,i,ar){
+var k=i,v=null;
+if(k<ar.length){
+if(ar[k]==FUNCTION){if(pf=='ol_'){if(typeof ar[k+1]!='number'){v=ar[++k];
+ol_function=(typeof v=='function'?v:null);}}
+else{OLudf=0;v=null;if(typeof ar[k+1]!='number')v=ar[++k];OLoptFUNCTION(v);}return k;}}
+return -1;
+}
+
+function OLoptFUNCTION(callme){
+o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):
+callme):callme()):(o3_function?o3_function():'No Function'));
+return 0;
+}
+
+OLregRunTimeFunc(OLloadFunction);
+OLregCmdLineFunc(OLparseFunction);
+
+OLfunctionPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_hide.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_hide.js
new file mode 100644
index 00000000..08b9a0b4
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_hide.js
@@ -0,0 +1,81 @@
+/*
+ overlibmws_hide.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For hiding elements.
+ Initial: November 13, 2003 - Last Revised: March 10, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLhideCmds='hideselectboxes,hidebyid,hidebyidall,hidebyidns4';
+OLregCmds(OLhideCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('hideselectboxes'))var ol_hideselectboxes=0;
+if(OLud('hidebyid'))var ol_hidebyid='';
+if(OLud('hidebyidall'))var ol_hidebyidall='';
+if(OLud('hidebyidns4'))var ol_hidebyidns4='';
+// END CONFIGURATION
+
+var o3_hideselectboxes=0,o3_hidebyid='',o3_hidebyidall='',o3_hidebyidns4='',
+OLselectOK=(OLie7||OLop7||OLgek>=20030624)?1:0;
+
+function OLloadHide(){
+OLload(OLhideCmds);
+}
+
+function OLparseHide(pf,i,ar){
+var k=i,q=OLparQuo;
+if(k<ar.length){
+if(Math.abs(ar[k])==HIDESELECTBOXES){OLtoggle(ar[k],pf+'hideselectboxes');return k;}
+if(ar[k]==HIDEBYID){q(ar[++k],pf+'hidebyid');return k;}
+if(ar[k]==HIDEBYIDALL){q(ar[++k],pf+'hidebyidall');return k;}
+if(ar[k]==HIDEBYIDNS4){q(ar[++k],pf+'hidebyidns4');return k;}}
+return -1;
+}
+
+function OLchkHide(hide){
+if(OLiframePI&&OLie55)return;if(OLmodalPI&&o3_modal)o3_hideselectboxes=0;var id,o,i;
+if(o3_hidebyid&&typeof o3_hidebyid=='string'&&!(o3_hideselectboxes&&OLns6)&&!OLop7&&!OLns4){
+id=o3_hidebyid.replace(/[ ]/ig,'').split(',');for(i=0;i<id.length;i++){
+o=(OLie4?o3_frame.document.all[id[i]]:OLns6?o3_frame.document.getElementById(id[i]):null);
+if(o)o.style.visibility=(hide?'hidden':'visible');}}
+if(o3_hidebyidall&&typeof o3_hidebyidall=='string'){
+id=o3_hidebyidall.replace(/[ ]/ig,'').split(',');for(i=0;i<id.length;i++){
+o=OLgetRefById(id[i]);if(o){o=(OLns4)?o:o.style;
+o.visibility=(hide?'hidden':'visible');}}}
+if(o3_hidebyidns4&&OLns4&&typeof o3_hidebyidns4=='string'){
+id=o3_hidebyidns4.replace(/[ ]/ig,'').split(',');for(i=0;i<id.length;i++){
+o=eval('o3_frame.document.'+id[i]);if(o)o.visibility=(hide?'hidden':'visible');}}
+}
+
+function OLselectBoxes(hide,all){
+if((OLiframePI&&OLie55)||OLselectOK||OLns4)return;var sel=OLie4?
+o3_frame.document.all.tags('select'):o3_frame.document.getElementsByTagName('select'),
+px=over.offsetLeft,py=over.offsetTop,pw=over.offsetWidth,ph=over.offsetHeight,bx=px,by=py,
+bw=pw,bh=ph,sx,sy,sw,sh,i,sp,si;if((OLshadowPI)&&bkdrop&&o3_shadow){bx=bkdrop.offsetLeft;
+by=bkdrop.offsetTop;bw=bkdrop.offsetWidth;bh=bkdrop.offsetHeight;}for(i=0;i<sel.length;i++){
+sx=0;sy=0;si=0;if(sel[i].offsetParent){sp=sel[i];while(sp.offsetParent&&
+sp.offsetParent.tagName.toLowerCase()!='body'){if(sp.offsetParent.id=='overDiv'||
+sp.offsetParent.id=='overDiv2')si=1;sp=sp.offsetParent;sx+=sp.offsetLeft;sy+=sp.offsetTop;}
+sx+=sel[i].offsetLeft;sy+=sel[i].offsetTop;sw=sel[i].offsetWidth;sh=sel[i].offsetHeight;
+if(si||(!OLie4&&sel[i].size<2))continue;else if(hide){if((px+pw>sx&&px<sx+sw&&py+ph>sy&&
+py<sy+sh)||(bx+bw>sx&&bx<sx+sw&&by+bh>sy&&by<sy+sh)){if(sel[i].style.visibility!="hidden")
+sel[i].style.visibility="hidden";}}else{if(all||(!(OLovertwoPI&&over==over2)&&(px+pw<sx||
+px>sx+sw||py+ph<sy||py>sy+sh)&&(bx+bw<sx||bx>sx+sw||by+bh<sy||by>sy+sh))){
+if(sel[i].style.visibility!="visible")sel[i].style.visibility="visible";}}}}
+}
+
+function OLhideUtil(a1,a2,a3,a4,a5,a6){
+if(a4==null){OLchkHide(a1);if(o3_hideselectboxes)OLselectBoxes(a2,a3);}else{OLchkHide(a1);
+OLchkHide(a2);if(o3_hideselectboxes){OLselectBoxes(a3,a4);OLselectBoxes(a5,a6);}}
+}
+
+OLregRunTimeFunc(OLloadHide);
+OLregCmdLineFunc(OLparseHide);
+
+OLhidePI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_iframe.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_iframe.js
new file mode 100644
index 00000000..06a59114
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_iframe.js
@@ -0,0 +1,93 @@
+/*
+ overlibmws_iframe.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ Masks system controls to prevent obscuring of popops for IE v5.5 or higher.
+ Initial: October 19, 2003 - Last Revised: April 22, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+
+var OLifsP1=null,OLifsSh=null,OLifsP2=null;
+
+// IFRAME SHIM SUPPORT FUNCTIONS
+function OLinitIfs(){
+if(!OLie55)return;
+if((OLovertwoPI)&&over2&&over==over2){
+var o=o3_frame.document.all['overIframeOvertwo'];
+if(!o||OLifsP2!=o){OLifsP2=null;OLgetIfsP2Ref();}return;}
+o=o3_frame.document.all['overIframe'];
+if(!o||OLifsP1!=o){OLifsP1=null;OLgetIfsRef();}
+if((OLshadowPI)&&o3_shadow){o=o3_frame.document.all['overIframeShadow'];
+if(!o||OLifsSh!=o){OLifsSh=null;OLgetIfsShRef();}}
+}
+
+function OLsetIfsRef(o,i,z){
+o.id=i;o.src='javascript:false;';o.scrolling='no';var os=o.style;os.position='absolute';
+os.top='0px';os.left='0px';os.width='1px';os.height='1px';os.visibility='hidden';
+os.zIndex=over.style.zIndex-z;os.filter='Alpha(style=0,opacity=0)';
+}
+
+function OLgetIfsRef(){
+if(OLifsP1||!OLie55)return;
+OLifsP1=o3_frame.document.createElement('iframe');
+OLsetIfsRef(OLifsP1,'overIframe',2);
+o3_frame.document.body.appendChild(OLifsP1);
+}
+
+function OLgetIfsShRef(){
+if(OLifsSh||!OLie55)return;
+OLifsSh=o3_frame.document.createElement('iframe');
+OLsetIfsRef(OLifsSh,'overIframeShadow',3);
+o3_frame.document.body.appendChild(OLifsSh);
+}
+
+function OLgetIfsP2Ref(){
+if(OLifsP2||!OLie55)return;
+OLifsP2=o3_frame.document.createElement('iframe');
+OLsetIfsRef(OLifsP2,'overIframeOvertwo',1);
+o3_frame.document.body.appendChild(OLifsP2);
+}
+
+function OLsetDispIfs(o,w,h){
+var os=o.style;
+os.width=w+'px';os.height=h+'px';os.clip='rect(0px '+w+'px '+h+'px 0px)';
+o.filters.alpha.enabled=true;
+}
+
+function OLdispIfs(){
+if(!OLie55)return;
+var wd=over.offsetWidth,ht=over.offsetHeight;
+if(OLfilterPI&&o3_filter&&o3_filtershadow){wd+=5;ht+=5;}
+if((OLovertwoPI)&&over2&&over==over2){
+if(!OLifsP2)return;
+OLsetDispIfs(OLifsP2,wd,ht);return;}
+if(!OLifsP1)return;
+OLsetDispIfs(OLifsP1,wd,ht);
+if((!OLshadowPI)||!o3_shadow||!OLifsSh)return;
+OLsetDispIfs(OLifsSh,wd,ht);
+}
+
+function OLshowIfs(){
+if(OLifsP1){OLifsP1.style.visibility="visible";
+if((OLshadowPI)&&o3_shadow&&OLifsSh)OLifsSh.style.visibility="visible";}
+}
+
+function OLhideIfs(o){
+if(!OLie55||o!=over)return;
+if(OLifsP1)OLifsP1.style.visibility="hidden";
+if((OLshadowPI)&&o3_shadow&&OLifsSh)OLifsSh.style.visibility="hidden";
+}
+
+function OLrepositionIfs(X,Y){
+if(OLie55){if((OLovertwoPI)&&over2&&over==over2){
+if(OLifsP2)OLrepositionTo(OLifsP2,X,Y);}
+else{if(OLifsP1){OLrepositionTo(OLifsP1,X,Y);if((OLshadowPI)&&o3_shadow&&OLifsSh)
+OLrepositionTo(OLifsSh,X+o3_shadowx,Y+o3_shadowy);}}}
+}
+
+OLiframePI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_modal.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_modal.js
new file mode 100644
index 00000000..394c3dac
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_modal.js
@@ -0,0 +1,149 @@
+/*
+ overlibmws_modal.js plug-in module - Copyright Foteos Macrides 2006-2007. All rights reserved.
+ For support of the MODAL feature.
+ Initial: November 15, 2006 - Last Revised: September 22, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;var OLmodalCmds='modal,modalcolor,modalopacity';OLregCmds(OLmodalCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('modal'))var ol_modal=0;
+if(OLud('modalcolor'))var ol_modalcolor="#bbbbbb";
+if(OLud('modalopacity'))var ol_modalopacity=40;
+// END CONFIGURATION
+
+var o3_modal=0,o3_modalcolor="#bbbbbb",o3_modalopacity=40;
+
+function OLloadModal(){
+OLload(OLmodalCmds);
+}
+
+function OLparseModal(pf,i,ar){
+var k=i;if(k<ar.length){
+if(Math.abs(ar[k])==MODAL){OLtoggle(ar[k],pf+'modal');return k;}
+if(ar[k]==MODALCOLOR){OLparQuo(ar[++k],pf+'modalcolor');return k;}
+if(ar[k]==MODALOPACITY){OLpar(ar[++k],pf+'modalopacity');return k;}}
+return -1;
+}
+
+var OLmMask=null,OLmIframe=null,OLmMaskOn=0,OLmSelectOK=(OLie55||OLop7||OLgek>=20030624)?1:0,
+OLmRoot='html',OLmGotSc=0,OLmScLeft=0,OLmScTop=0,OLmKDH=null,OLmTI=new Array(),
+OLmTT=new Array("a","button","iframe","input","select","textarea"),OLmEdit=0;
+
+function OLchkModal(){
+if(o3_modal){if(o3_sticky&&!OLns4)OLmInitMask();else o3_modal=0;}
+}
+function OLclearModal(){
+if(OLmMaskOn)OLmHideMask();
+}
+
+function OLsetModalIframe(o,i,z){
+o.id=i;o.src='javascript:false;';o.scrolling='no';var os=o.style;
+os.position='absolute';os.zIndex=z;os.filter='Alpha(style=0,opacity=0)';
+}
+
+function OLmInitMask(){
+OLmRoot=(o3_frame.document.compatMode&&o3_frame.document.compatMode=='BackCompat')?'body':'html';
+var doCss=(!OLgetRef('modalMask'))?1:0,zI=(over)?over.style.zIndex-2:998;OLmMask=OLmkLyr('modalMask',o3_frame);
+OLmMask.style.zIndex=zI;if(OLie55){if(!OLgetRef('modalIframe')){OLmIframe=o3_frame.document.createElement('iframe');
+OLsetModalIframe(OLmIframe,'modalIframe',(zI-1));o3_frame.document.body.appendChild(OLmIframe);}
+else OLmIframe.style.zIndex=(zI-1);}var o=OLmMask.style,op=o3_modalopacity;op=(op<=100&&op>0?op:100);
+o.backgroundColor=o3_modalcolor;if(doCss){o.display='none';o.top='0px';o.left='0px';o.width='100%';o.height='100%';
+o.visibility='visible';if(OLie55){var oi=o3_frame.document.all['modalIframe'].style;oi.display='none';oi.top='0px';
+oi.left='0px';oi.width='100%';oi.height='100%';oi.visibility='visible';}}if(OLie4&&!OLieM&&typeof o.filter=='string'){
+o.filter='Alpha(opacity='+op+')';if(OLie55)OLmMask.filters.alpha.enabled=1;}else{op=op/100;if(typeof o.opacity!='undefined')
+o.opacity=op;else if(typeof o.MozOpacity!='undefined')o.MozOpacity=op;else if(typeof o.KhtmlOpacity!='undefined')
+o.KhtmlOpacity=op;}OLmAddEv(window,"resize",OLmHandleMask);OLmShowMask();
+}
+function OLmShowMask(){
+OLmMaskOn=1;if(!OLie4||OLop7){OLmKDH=document.onkeypress?document.onkeypress.toString():null;
+document.onkeypress=OLmKeyDownHandler;}else OLmDisableTI();OLmMask.style.display="block";
+if(OLie55)OLmIframe.style.display="block";OLmHandleMask();OLmSetMaskSize();
+if(!OLmSelectOK)OLmHideSB();
+}
+function OLmHandleMask(){
+if(OLmMaskOn){if(!OLmGotSc){OLmScLeft=parseInt((OLie4&&!OLop7?OLfd(o3_frame).scrollLeft:
+o3_frame.pageXOffset),10);OLmScTop=parseInt((OLie4&&!OLop7?OLfd(o3_frame).scrollTop:
+o3_frame.pageYOffset),10);OLmGotSc=1;}
+var root=o3_frame.document.getElementsByTagName(OLmRoot)[0];if(root.style.overflow!=
+'hidden')root.style.overflow='hidden';var scLeft=parseInt((OLie4&&!OLop7?
+OLfd(o3_frame).scrollLeft:o3_frame.pageXOffset),10),scTop=parseInt((OLie4&&!OLop7?
+OLfd(o3_frame).scrollTop:o3_frame.pageYOffset),10),o=OLmMask.style,oi=(OLie55&&OLmIframe)?
+OLmIframe.style:null;o.top=scTop+"px";o.left=scLeft+"px";o.top=scTop+"px";o.left=scLeft+"px";
+if(oi){oi.top=scTop+"px";oi.left=scLeft+"px";oi.top=scTop+"px";oi.left=scLeft+"px";}
+OLmSetMaskSize();}
+}
+function OLmSetMaskSize(){
+var root=o3_frame.document.getElementsByTagName(OLmRoot)[0],mHt,fullWd=OLmViewportWd(),
+fullHt=OLmViewportHt();if(fullHt>root.scrollHeight)mHt=fullHt;else mHt=root.scrollHeight;
+OLmMask.style.height=mHt+'px';OLmMask.style.width=root.scrollWidth+'px';if(OLie55&&OLmIframe){
+OLmIframe.style.height=mHt+'px';OLmIframe.style.width=root.scrollWidth+'px';}
+}
+function OLmHideMask(){
+OLmMaskOn=0;var root=o3_frame.document.getElementsByTagName(OLmRoot)[0];root.style.overflow=
+(OLop7?'auto':'');if(!OLie4||OLop7){document.onkeypress=OLmKDH;OLmKDH=null;}else OLmRestoreTI();
+if(!OLmSelectOK)OLmShowSB();OLmRemoveEv(window,"resize",OLmHandleMask);
+if(o3_frame.scrollTo&&OLmGotSc){o3_frame.scrollTo(OLmScLeft,OLmScTop);OLmGotSc=0;}
+if(OLgetRef('modalMask')&&OLmMask){OLmMask.style.display='none';if(OLie55)
+OLmIframe.style.display='none';}OLmEdit=0;
+}
+
+function OLmKeyDownHandler(e){
+var ev=(e||event),k=ev.keyCode,c=ev.charCode;
+if(OLmMaskOn&&!OLmEdit&&(k==9||c==32||(OLgek&&k==13)||(k>=32&&k<=40)))return false;
+}
+
+function OLmAddEv(obj,evType,fn){
+if(obj.addEventListener){obj.addEventListener(evType,fn,false);return true;}
+else if(obj.attachEvent){var r=obj.attachEvent("on"+evType,fn);return r;}else return false;
+}
+function OLmRemoveEv(obj,evType,fn){
+if(obj.removeEventListener){obj.removeEventListener(evType,fn,false);return true;}
+else if(obj.detachEvent){var r=obj.detachEvent("on"+evType,fn);return r;}else return false;
+}
+
+function OLmViewportWd(){
+if(o3_frame.innerWidth!=o3_frame.undefined){return o3_frame.innerWidth;}
+if(o3_frame.document.compatMode=='CSS1Compat'){
+return o3_frame.document.documentElement.clientWidth;}
+if(o3_frame.document.body)return o3_frame.document.body.clientWidth;return o3_frame.undefined;
+}
+function OLmViewportHt(){
+if(o3_frame.innerHeight!=o3_frame.undefined)return o3_frame.innerHeight;
+if(o3_frame.document.compatMode=='CSS1Compat')
+return o3_frame.document.documentElement.clientHeight;
+if(o3_frame.document.body)return o3_frame.document.body.clientHeight;return o3_frame.undefined;
+}
+
+function OLmHideSB(){
+var s=over.innerHTML;over.innerHTML='';var sel=OLie4?o3_frame.document.all.tags('select'):
+o3_frame.document.getElementsByTagName('select');for(i=0;i<sel.length;i++)
+sel[i].style.visibility="hidden";over.innerHTML=s;
+}
+function OLmShowSB(){
+var s=over.innerHTML;over.innerHTML='';var sel=OLie4?o3_frame.document.all.tags('select'):
+o3_frame.document.getElementsByTagName('select');for(i=0;i<sel.length;i++)
+sel[i].style.visibility="visible";over.innerHTML=s;
+}
+
+function OLmDisableTI(){
+if(OLie4&&!OLop7){var i=0;for(var j=0;j<OLmTT.length;j++){
+var tagE=o3_frame.document.getElementsByTagName(OLmTT[j]);for(var k=0;k<tagE.length; k++){
+OLmTI[i]=tagE[k].tabIndex;tagE[k].tabIndex="-1";i++;}}}
+}
+function OLmRestoreTI(){
+if(OLie4&&!OLop7){var i=0;for(var j=0;j<OLmTT.length;j++){
+var tagE=o3_frame.document.getElementsByTagName(OLmTT[j]);for(var k=0;k<tagE.length;k++){
+tagE[k].tabIndex=OLmTI[i];tagE[k].tabEnabled=true;i++;}}}
+}
+
+OLregRunTimeFunc(OLloadModal);
+OLregCmdLineFunc(OLparseModal);
+
+OLmodalPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_overtwo.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_overtwo.js
new file mode 100644
index 00000000..72ba9dfc
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_overtwo.js
@@ -0,0 +1,129 @@
+/*
+ overlibmws_overtwo.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For support of the popups-within-a-popup feature.
+ Initial: July 14, 2003 - Last Revised: July 7, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+OLregCmds('label2');
+
+// DEFAULT CONFIGURATION
+if(OLud('label2'))var ol_label2="";
+// END CONFIGURATION
+
+var o3_label2="",OLshowingsticky2=0,over2=null,OLp1over=null,bkdrop2=null,OLp1bkdrop=null,
+OLp1scroll=0,OLp1X=0,OLp1Y=0,OLp1If=null,OLp1IfShadow=null,OLp1bubbleHt=0,OLp1exclusive=0,
+OLp1modal=0,OLp1fiIdx= -1,OLp1Hover=0;
+
+function OLloadOvertwo(){
+OLload('label2');
+}
+
+function OLparseOvertwo(pf,i,ar){
+var k=i,q=OLparQuo;
+if(k<ar.length){
+if(ar[k]==LABEL2){q(ar[++k],pf+'label2');return k;}}
+return -1;
+}
+
+// PUBLIC FUNCTIONS
+function overlib2(){
+var ar=arguments;if(over2)cClick2();if(!OLshowingsticky||ar.length==0)return false;
+if(OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=0;};if(OLshowid>0){clearTimeout(OLshowid);
+OLshowid=0;}if(OLdelayid>0){clearTimeout(OLdelayid);OLdelayid=0;}
+if(typeof over.onmouseover!='undefined'&&over.onmouseover!=null){OLp1Hover=1;OLhover=0;
+over.onmouseover=null;}else OLp1Hover=0;OLp1over=null;OLp1scroll=(OLscrollPI&&o3_scroll?1:0);
+if(OLp1scroll){OLp1X=over.scroll.x;OLp1Y=over.scroll.y;OLclearScroll();o3_scroll=0;}
+if(OLfunctionPI)o3_function=ol_function;if(OLdraggablePI&&o3_draggable)OLclearDrag();
+OLp1exclusive=(OLexclusivePI&&o3_exclusive?1:0);OLp1modal=(OLmodalPI&&o3_modal?1:0);
+if((OLiframePI)&&OLifsP1){OLp1If=OLifsP1;OLifsP1=null;if(OLifsSh){OLp1IfShadow=OLifsSh;
+OLifsSh=null;}}else{OLp1If=null;OLp1IfSh=null}OLpullP1(OLo2c(1));
+if(OLbubblePI)OLp1bubbleHt=OLbubbleHt;if(OLfilterPI){OLp1fiIdx=OLfiIdx;
+if(!OLie55&&o3_filter)OLopOv(o3_filteropacity);}
+OLload(OLo2c(0));o3_label2=ol_label2;OLparseTokens('o3_',ar);OLpushP1(OLp1co);
+if(OLexclusivePI)o3_exclusive=OLp1exclusive;if(o3_decode)OLdecode();
+if(OLbubblePI)OLchkForBubbleEffect();if(o3_autostatus==2&&o3_cap!="")o3_status=o3_cap;
+else if(o3_autostatus==1&&o3_text!="")o3_status=o3_text;
+if(o3_delay==0)OLdispP2();else OLdelayid=setTimeout("OLdispP2()",o3_delay);
+if(o3_status!=""){self.status=o3_status;return true;}
+else if(!(OLop7&&event&&event.type=='mouseover'))return false;
+}
+
+function nd2(){
+if(OLshowingsticky2)return false;return cClick2();
+}
+
+function cClick2(){
+if(!over2||over!=over2)return false;
+if(OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=0;}
+if(OLshowid>0){clearTimeout(OLshowid);OLshowid=0;}
+if(OLp1over&&OLp1over!=OLmkLyr()){OLp1over=null;over2=null;return false;}
+OLhover=0;over.onmouseover=null;OLhideObjectP2(over);
+OLshowingsticky2=0;if(OLp1bkdrop){bkdrop=OLp1bkdrop;OLp1bkdrop=null;}
+if(OLp1over){over=OLp1over;OLp1over=null;}
+if((OLiframePI)&&OLp1If){OLifsP1=OLp1If;OLp1If=null;
+if(OLp1IfShadow){OLifsSh=OLp1IfShadow;OLp1IfShadow=null;}}
+OLpushP1(OLo2c(1));if(OLbubblePI){OLbubbleHt=OLp1bubbleHt;OLp1BubbleHt=0;}
+if(OLfilterPI)OLfiIdx=OLp1fiIdx;var o=OLgetRefById();if(o&&o==over){
+if(OLp1scroll){o3_scroll=1;OLp1scroll=0;OLchkScroll(OLp1X,OLp1Y);}else o3_scroll=0;
+if(OLdraggablePI)OLcheckDrag();if(OLp1exclusive){o3_exclusive=1;OLp1exclusive=0;}
+if(OLhidePI)OLhideUtil(0,1,1,0,0,0);
+if(o3_autostatus==2&&o3_cap!="")o3_status=o3_cap;
+else if(o3_autostatus==1&&o3_text!="")o3_status=o3_text;
+if(OLp1Hover){OLoptMOUSEOFF(1);OLp1Hover=0;OLhover=1;}
+if(o3_status!="")self.status=o3_status;}
+if(OLmodalPI&&!OLp1modal)OLclearModal();OLp1modal=0;
+return false;
+}
+
+// SUPPORT FUNCTIONS
+function OLpullP1(c){var i,m=c.split(',');for(i=0;i<m.length;i++)eval('OLp1'+m[i]+'=o3_'+m[i]);}
+function OLpushP1(c){var i,m=c.split(',');for(i=0;i<m.length;i++)eval('o3_'+m[i]+'=OLp1'+m[i]);}
+function OLo2c(a){return OLp1or2+(a?','+OLp1:'')+(OLbubblePI?','+OLbubbleCmds:'')
++(OLdraggablePI?','+OLdraggableCmds:'')+(OLfilterPI?','+OLfilterCmds:'')+(OLmodalPI?','
++OLmodalCmds:'')+(OLprintPI?','+OLprintCmds:'')+(OLshadowPI?','+OLshadowCmds:'');}
+
+function OLdispP2(){
+var o=(OLns4?over:over.style),zI=parseInt(o.zIndex)+2;
+o3_delay=0;if(!(over2=OLmkLyr('overDiv2',o3_frame,zI)))return;
+OLp1over=over;over=over2;if(OLmodalPI&&!OLp1modal)OLchkModal();if(OLbubblePI)OLbubbleHt=0;
+if(o3_frame==self){if(o3_noclose)OLoptMOUSEOFF(0);else if(o3_mouseoff)OLoptMOUSEOFF(1);}
+if(o3_sticky)OLshowingsticky2=1;OLdoLyr();
+if(o3_timeout>0){if(OLtimerid>0)clearTimeout(OLtimerid);
+OLtimerid=setTimeout("cClick2()",o3_timeout);o3_timeout=0;}
+if(o3_ref){OLrefXY=OLgetRefXY(o3_ref);if(OLrefXY[0]==null){o3_ref='';o3_midx=0;o3_midy=0;}}
+if(OLshadowPI&&o3_shadow){OLp1bkdrop=bkdrop;bkdrop=bkdrop2;OLinitShadow();}
+if(OLiframePI){OLinitIfs();OLdispIfs();}if(OLfilterPI)OLinitFilterLyr(2);
+if(OLshadowPI&&o3_shadow)OLdispShadow();OLplaceLayer();
+OLshowid=setTimeout("OLshowObjectP2(over2)",1);OLallowmove=(o3_sticky||o3_nofollow)?0:1;
+}
+
+function OLshowObjectP2(o){
+OLshowid=0;if(o)o=(OLns4?o:o.style);
+if(((OLfilterPI)&&!OLchkFilter(o,2))||!OLfilterPI)o.visibility="visible";
+if(OLshadowPI)OLshowShadow();if(OLiframePI&&OLifsP2)OLifsP2.style.visibility="visible";
+if(OLhidePI)OLhideUtil(1,1,0);if(OLdraggablePI)OLcheckDrag();
+}
+
+function OLhideObjectP2(o){
+if(OLshowid>0){clearTimeout(OLshowid);OLshowid=0;}
+if(OLtimerid>0){clearTimeout(OLtimerid);OLtimerid=0;}o3_timeout=0;
+if(OLdelayid>0){clearTimeout(OLdelayid);OLdelayid=0;}o3_delay=0;
+if(o&&o==OLgetRefById('overDiv2')){if(OLscrollPI)OLclearScroll();if(OLdraggablePI)OLclearDrag();
+if(OLfilterPI)OLcleanupFilter(o,2);if(OLshadowPI)OLhideShadow();var os=(OLns4)?o:o.style;
+if(((OLfilterPI)&&!OLchkFadeOut2(os))||!OLfilterPI){os.visibility="hidden";
+if(!OLie55||!OLfilterPI||!o3_filter||o3_fadeout<0)o.innerHTML='';}
+if(OLiframePI&&OLifsP2)OLifsP2.style.visibility="hidden";}
+OLallowmove=o3_nofollow=0;o3_label2=ol_label2;
+}
+
+OLregRunTimeFunc(OLloadOvertwo);
+OLregCmdLineFunc(OLparseOvertwo);
+
+OLovertwoPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_print.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_print.js
new file mode 100644
index 00000000..75659c46
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_print.js
@@ -0,0 +1,141 @@
+/*
+ overlibmws_print.js plug-in module - Copyright Foteos Macrides 2002-2007. All rights reserved.
+ For support of the PRINT feature.
+ Initial: April 25, 2005 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLprintCmds='print,printbutton,noautoprint,printcolor,printfont,printsize,printtext,'
++'printbuttontext,printtitle,printfontclass,printcssfile,printxml,printdoctype,printroot,'
++'printtype,printcharset,printurl,printjob',OLprJob=null;OLregCmds(OLprintCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('print'))var ol_print=0;
+if(OLud('printbutton'))var ol_printbutton=0;
+if(OLud('noautoprint'))var ol_noautoprint=0;
+if(OLud('printcolor'))var ol_printcolor="#eeeeff";
+if(OLud('printfont'))var ol_printfont="Verdana,Arial,Helvetica";
+if(OLud('printsize'))var ol_printsize=1;
+if(OLud('printtext'))var ol_printtext='Print';
+if(OLud('printbuttontext'))var ol_printbuttontext='Print';
+if(OLud('printtitle'))var ol_printtitle="Click to Print";
+if(OLud('printfontclass'))var ol_printfontclass="";
+if(OLud('printcssfile'))var ol_printcssfile="";
+if(OLud('printxml'))var ol_printxml="";
+if(OLud('printdoctype'))var ol_printdoctype=
+ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" '
++'"http://www.w3.org/TR/html4/loose.dtd">';
+if(OLud('printroot'))var ol_printroot="<html>";
+if(OLud('printtype'))var ol_printtype="text/html";
+if(OLud('printcharset'))var ol_printcharset="iso-8859-1";
+if(OLud('printurl'))var ol_printurl="";
+if(OLud('printjob'))var ol_printjob="";
+// END CONFIGURATION
+
+var o3_print=0,o3_printbutton=0,o3_noautoprint,o3_printcolor="",o3_printfont="",o3_printsize=1,
+o3_printtext="",o3_printbuttontext="",o3_printtitle="",o3_printfontclass="",o3_printcssfile="",
+o3_printxml="",o3_printdoctype="",o3_printroot="",o3_printtype="",o3_printcharset="",
+o3_printurl="",o3_printjob="";
+
+function OLloadPrint(){
+OLload(OLprintCmds);
+}
+
+function OLparsePrint(pf,i,ar){
+var k=i,t=OLtoggle,q=OLparQuo;
+if(k<ar.length){
+if(Math.abs(ar[k])==PRINT){t(ar[k],pf+'print');return k;}
+if(Math.abs(ar[k])==PRINTBUTTON){t(ar[k],pf+'printbutton');return k;}
+if(Math.abs(ar[k])==NOAUTOPRINT){t(ar[k],pf+'noautoprint');return k;}
+if(ar[k]==PRINTCOLOR){q(ar[++k],pf+'printcolor');return k;}
+if(ar[k]==PRINTFONT){q(ar[++k],pf+'printfont');return k;}
+if(ar[k]==PRINTSIZE){q(ar[++k],pf+'printsize');return k;}
+if(ar[k]==PRINTTEXT){q(ar[++k],pf+'printtext');return k;}
+if(ar[k]==PRINTBUTTONTEXT){q(ar[++k],pf+'printbuttontext');return k;}
+if(ar[k]==PRINTTITLE){q(ar[++k],pf+'printtitle');return k;}
+if(ar[k]==PRINTFONTCLASS){q(ar[++k],pf+'printfontclass');return k;}
+if(ar[k]==PRINTCSSFILE){q(ar[++k],pf+'printcssfile');return k;}
+if(ar[k]==PRINTXML){q(ar[++k],pf+'printxml');return k;}
+if(ar[k]==PRINTDOCTYPE){q(ar[++k],pf+'printdoctype');return k;}
+if(ar[k]==PRINTROOT){q(ar[++k],pf+'printroot');return k;}
+if(ar[k]==PRINTTYPE){q(ar[++k],pf+'printtype');return k;}
+if(ar[k]==PRINTCHARSET){q(ar[++k],pf+'printcharset');return k;}
+if(ar[k]==PRINTURL){q(ar[++k],pf+'printurl');return k;}
+if(ar[k]==PRINTJOB){q(ar[++k],pf+'printjob');return k;}}
+return -1;
+}
+
+function OLprintDims(){
+if(OLhasDims(o3_printsize)){if(OLns4)o3_printsize="2";}else
+if(!OLns4){var i=parseInt(o3_printsize);o3_printsize=(i>0&&i<8)?OLpct[i]:OLpct[0];}
+}
+
+function OLchkPrint(){if(!o3_sticky)o3_print=0;else over.print=null;}
+
+function OLprintCapLGF(){
+var n=(OLovertwoPI&&over2&&over==over2)?2:1;
+return(o3_print&&!o3_printbutton?'<td align="right"><a href="javascript:'+OLfnRef
++'return OLprint('+n+');" '+(o3_printtitle?'title="'+o3_printtitle+'" ':'')+'onclick="'
++OLfnRef+'return OLprint('+n+');"'+(o3_printfontclass?' class="'+o3_printfontclass+'">':
+(OLns4?'><':'')+OLlgfUtil(0,1,'','a',o3_printcolor,o3_printfont,o3_printsize))+o3_printtext
++(o3_printfontclass?'':(OLns4?OLlgfUtil(1,1,'','a'):''))+'</a></td>':'');
+}
+
+function OLprintFgLGF(){
+var n=(OLovertwoPI&&over2&&over==over2)?2:1;return (o3_print&&(!o3_cap||o3_printbutton)?
+'<div align="center"><form action="javascript:void(0);"><input type="button" '
++(OLns4?'':'style="font-family:Verdana;font-size:11px;color:#000000;" ')+'value="'
++o3_printbuttontext+'" title="'+o3_printtitle+'" '+(OLgek?'autocomplete="off" ':'')
++'onclick="'+OLfnRef+'return OLprint('+n+');" /></form></div>':'');
+}
+
+function OLprint(n){
+if(n!=2&&OLovertwoPI&&over2&&over==over2)cClick2();
+if(!(over&&over.print))return false;if(o3_printjob){eval(o3_printjob);return false;}
+if(o3_printurl){if(!window.print||o3_noautoprint)
+alert('Print (Control-P) the OLprint Window when it appears, then close it.');OLprJob=
+window.open(o3_printurl,'OLurlJob','resizable=1,status=1,screenX=0,left=0,screenY=0,top=0');
+OLprJob.focus();if(OLprJob){if(window.print&&!o3_noautoprint){OLprJob.print();
+setTimeout("OLprJob.close();OLprJob=null;",2);}}return false;}
+var sx=(OLshadowPI&&o3_shadow?o3_shadowx:0),sy=(OLshadowPI&&o3_shadow?o3_shadowy:0),
+lm=20+(sx<0?Math.abs(sx):0),rm=20+(sx>0?sx:0),tm=20+(sy<0?Math.abs(sy):0),bm=20+(sy>0?sy:0),
+pWd=o3_width,pHt=(OLns4?over.clip.height:over.offsetHeight),iWd=pWd+lm+rm,iHt=pHt+tm+bm,
+fs=(OLfilterPI&&OLie55&&o3_filter?o3_filtershadow:0),Fn='{return false;}',
+o2=(OLovertwoPI?OLp1or2c+','+OLp1or2co+','+OLp1co+',scroll,function':'');
+t=o3_printxml+o3_printdoctype+o3_printroot+'<head><meta http-equiv="content-Type" content="'
++o3_printtype+'; charset='+o3_printcharset+'" /><title>OLprint Job</title>'
++(o3_printcssfile?'<link rel="stylesheet" type="text/css" href="'+o3_printcssfile+'" />':'')
++'<script type="text/javascript">var OLfnRef="",OLna='+o3_noautoprint+',OLo2="'+o2+'";'
++'function OLprintAndClose(){if(window.print&&!OLna){self.print();setTimeout("self.close()",2);}'
++'else{alert("Print (Control-P) the OLprint Window, then close it.");}}'
++'function OLprint(){if(window.print)self.print();}function cClick(){self.close();}'
++'function nd()'+Fn+'function overlib2()'+Fn+'function nd2()'+Fn+'if(OLo2){'
++'var i,m=OLo2.split(",");for(i=0;i<m.length;i++)eval(m[i].toUpperCase()+"="+0);}</script>'
++'</head><body onLoad="self.focus();OLprintAndClose()">'
++(sx||sy?'<div id="printBackdrop" style="position:absolute;z-index:999;visibility:visible;'
++'width:'+o3_width+(OLns4?';':'px;')+'height:'+pHt+(OLns4?';':'px;')
++(o3_shadowimage?'background-image:url('+o3_shadowimage+');':'background-color:'
++o3_shadowcolor+';')+'left:'+(lm+sx).toString()+(OLns4?';':'px;')+'top:'+(tm+sy).toString()
++(OLns4?';':'px;')+'"></div>':'')
++'<div id="overPrintDiv" style="position:absolute;z-index:1000;visibility:visible;width:'
++o3_width+(OLns4?';':'px;')+(o3_background?'background-image:url('+o3_background+');':'')
++'left:'+lm.toString()+(OLns4?';':'px;')+'top:'+tm.toString()+(OLns4?';':'px;')
++(fs?'filter:progid:DXImageTransform.Microsoft.':'')
++(fs==2?'Shadow(color=\''+o3_filtershadowcolor+'\',direction=135,strength=5);':'')
++(fs==1?'Dropshadow(color=\''+o3_filtershadowcolor+'\');':'')+'">'+over.print
++'</div></body></html>';
+OLprJob=window.open('','OLprintJob','resizable=0,width='+iWd+',height='+iHt
++',status=0,location=0,toolbar=0,menubar=0,scrolling=0,screenX=0,left=0,screenY=0,top=0');
+OLprJob.document.write(t);OLprJob.document.close();return false;
+}
+
+OLregRunTimeFunc(OLloadPrint);
+OLregCmdLineFunc(OLparsePrint);
+
+OLprintPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_regCore.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_regCore.js
new file mode 100644
index 00000000..3c079f71
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_regCore.js
@@ -0,0 +1,75 @@
+/*
+ overlibmws_regCore.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ Import this file to declare the core command constants in frame documents which do not
+ import the core module, overlibmws.js, but point to the overlib() and nd() commands in
+ another document of the frameset, e.g. parent.scene.overlib(...) and parent.scene.nd()
+ in a frame document named "scene" which does import the core module. You can then use
+ this file's OLregisterPlugins() function via a script block to declare pre-existing
+ plugin modules, or it's OLregisterCommands() function for new plugins whose
+ commands are not yet defined as string variables in this file. The order of
+ entries in those functions should parallel the order of importing the plugins.
+ Initial: August 3, 2003 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+var OLloaded=0,OLpmCnt=1,OLpMtr=new Array();
+OLregisterCommands('inarray,caparray,caption,closetext,right,left,center,autostatuscap,padx,'
++'pady,below,above,vcenter,donothing,nofollow,background,offsetx,offsety,fgcolor,bgcolor,'
++'cgcolor,textcolor,capcolor,width,wrap,wrapmax,height,border,base,status,autostatus,snapx,'
++'snapy,fixx,fixy,relx,rely,midx,midy,ref,refc,refp,refx,refy,fgbackground,bgbackground,'
++'cgbackground,fullhtml,capicon,textfont,captionfont,textsize,captionsize,timeout,delay,hauto,'
++'vauto,nojustx,nojusty,fgclass,bgclass,cgclass,capbelow,textpadding,textfontclass,'
++'captionpadding,captionfontclass,sticky,noclose,mouseoff,offdelay,closecolor,closefont,'
++'closesize,closeclick,closetitle,closefontclass,decode,label');
+
+var CSSOFF=DONOTHING,CSSCLASS=DONOTHING;
+var OLpluginBUBBLE='bubble,bubbletype,adjbubble';
+var OLpluginCROSSFRAME='frame';
+var OLpluginDEBUG='allowdebug';
+var OLpluginDRAGGABLE='draggable,dragcap,dragid';
+var OLpluginEXCLUSIVE='exclusive,exclusivestatus,exclusiveoverride';
+var OLpluginFILTER='filter,fadein,fadeout,fadetime,filteropacity,filtershadow,filtershadowcolor';
+var OLpluginFUNCTION='function';
+var OLpluginHIDE='hideselectboxes,hidebyid,hidebyidall,hidebyidns4';
+var OLpluginMODAL='modal';
+var OLpluginOVERTWO='label2';
+var OLpluginPRINT='print,printbutton,noautoprint,printcolor,printfont,printsize,printtext,'
++'printbuttontext,printtitle,printfontclass,printcssfile,printxml,printdoctype,printroot,'
++'printtype,printcharset,printurl,printjob';
+var OLpluginSCROLL='scroll';
+var OLpluginSHADOW='shadow,shadowx,shadowy,shadowcolor,shadowimage,shadowopacity';
+
+// PUBLIC FUNCTIONS
+function OLregisterCommands(cmdStr){
+if(typeof cmdStr!='string')return;
+var pM=cmdStr.split(',');
+OLpMtr=OLpMtr.concat(pM);
+for(var i=0;i<pM.length;i++)
+eval(pM[i].toUpperCase()+'='+OLpmCnt++);
+}
+
+function OLregisterPlugins(){
+var ar=arguments;
+for(var i=0;i<ar.length;i++){
+if(ar[i].toUpperCase()=='BUBBLE'){OLregisterCommands(OLpluginBUBBLE);continue;}
+if(ar[i].toUpperCase()=='CROSSFRAME'){OLregisterCommands(OLpluginCROSSFRAME);continue;}
+if(ar[i].toUpperCase()=='DEBUG'){OLregisterCommands(OLpluginDEBUG);continue;}
+if(ar[i].toUpperCase()=='DRAGGABLE'){OLregisterCommands(OLpluginDRAGGABLE);continue;}
+if(ar[i].toUpperCase()=='EXCLUSIVE'){OLregisterCommands(OLpluginEXCLUSIVE);continue;}
+if(ar[i].toUpperCase()=='FILTER'){OLregisterCommands(OLpluginFILTER);continue;}
+if(ar[i].toUpperCase()=='FUNCTION'){OLregisterCommands(OLpluginFUNCTION);continue;}
+if(ar[i].toUpperCase()=='HIDE'){OLregisterCommands(OLpluginHIDE);continue;}
+if(ar[i].toUpperCase()=='IFRAME')continue;
+if(ar[i].toUpperCase()=='MODAL'){OLregisterCommands(OLpluginMODAL);continue;}
+if(ar[i].toUpperCase()=='OVERTWO'){OLregisterCommands(OLpluginOVERTWO);continue;}
+if(ar[i].toUpperCase()=='PRINT'){OLregisterCommands(OLpluginPRINT);continue;}
+if(ar[i].toUpperCase()=='REGCORE')continue;
+if(ar[i].toUpperCase()=='SCROLL'){OLregisterCommands(OLpluginSCROLL);continue;}
+if(ar[i].toUpperCase()=='SHADOW'){OLregisterCommands(OLpluginSHADOW);continue;}}
+}
+
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_scroll.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_scroll.js
new file mode 100644
index 00000000..40f344eb
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_scroll.js
@@ -0,0 +1,70 @@
+/*
+ overlibmws_scroll.js plug-in module - Copyright Foteos Macrides 2002-2007. All rights reserved.
+ For support of the SCROLL feature.
+ Initial: October 20, 2002 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+OLregCmds('scroll');
+
+// DEFAULT CONFIGURATION
+if(OLud('scroll'))var ol_scroll=0;
+// END CONFIGURATION
+
+var o3_scroll=0,OLscrollRefresh=100;
+
+function OLloadScroll(){
+OLload('scroll');
+}
+
+function OLparseScroll(pf,i,ar){
+var k=i;
+if(k<ar.length){if(Math.abs(ar[k])==SCROLL){OLtoggle(ar[k],pf+'scroll');return k;}}
+return -1;
+}
+
+function OLchkScroll(X,Y){
+if(o3_scroll){if(!OLshowingsticky||
+(OLovertwoPI&&over==over2&&!OLshowingsticky2)||
+(OLdraggablePI&&o3_draggable&&o3_frame==self)||
+(o3_relx==null&&o3_midx==null)||(o3_rely==null&&o3_midy==null))o3_scroll=0;
+else if(typeof over.scroll=='undefined'||over.scroll.canScroll)
+over.scroll=new OLsetScroll(X,Y,OLscrollRefresh);}
+}
+
+function OLsetScroll(X,Y,refresh){
+if(o3_scroll){this.canScroll=0;this.refresh=refresh;this.x=X;this.y=Y;
+this.timer=setTimeout("OLscrollReposition()",this.refresh);}
+}
+
+function OLclearScroll(){
+if(o3_scroll){if(typeof over.scroll=='undefined'){o3_scroll=0;return;}
+over.scroll.canScroll=1;if(over.scroll.timer){
+clearTimeout(over.scroll.timer);over.scroll.timer=null;}}
+}
+
+function OLscrollReposition(){
+var o=over,oD=(OLovertwoPI&&over==over2?'overDiv2':'overDiv');
+if(o3_scroll&&o&&o==OLgetRefById(oD)){var X,Y,pgLeft,pgTop;
+pgLeft=(OLie4)?OLfd().scrollLeft:o3_frame.pageXOffset;
+pgTop=(OLie4)?OLfd().scrollTop:o3_frame.pageYOffset;
+X=(o.pageX?o.pageX:o.style.left?o.style.left:0)-pgLeft;
+Y=(o.pageY?o.pageY:o.style.top?o.style.top:0)-pgTop;
+if(X!=o.scroll.x||Y!=o.scroll.y){
+OLrepositionTo(o,pgLeft+o.scroll.x,pgTop+o.scroll.y);
+if(OLshadowPI)OLrepositionShadow(pgLeft+o.scroll.x,pgTop+o.scroll.y);
+if(OLiframePI)OLrepositionIfs(pgLeft+o.scroll.x,pgTop+o.scroll.y);
+if(OLhidePI)OLhideUtil(0,1,1,0,0,0);}
+o.scroll.timer=setTimeout("OLscrollReposition()",o.scroll.refresh);}
+}
+
+OLregRunTimeFunc(OLloadScroll);
+OLregCmdLineFunc(OLparseScroll);
+
+OLscrollPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmws_shadow.js b/src/extras/sos-html-logs/share/html/overlib/overlibmws_shadow.js
new file mode 100644
index 00000000..a85f98e0
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmws_shadow.js
@@ -0,0 +1,113 @@
+/*
+ overlibmws_shadow.js plug-in module - Copyright Foteos Macrides 2003-2007. All rights reserved.
+ For support of the SHADOW feature.
+ Initial: July 14, 2003 - Last Revised: January 1, 2007
+ See the Change History and Command Reference for overlibmws via:
+
+ http://www.macridesweb.com/oltest/
+
+ Published under an open source license: http://www.macridesweb.com/oltest/license.html
+*/
+
+OLloaded=0;
+var OLshadowCmds='shadow,shadowx,shadowy,shadowcolor,shadowimage,shadowopacity';
+OLregCmds(OLshadowCmds);
+
+// DEFAULT CONFIGURATION
+if(OLud('shadow'))var ol_shadow=0;
+if(OLud('shadowx'))var ol_shadowx=5;
+if(OLud('shadowy'))var ol_shadowy=5;
+if(OLud('shadowcolor'))var ol_shadowcolor="#666666";
+if(OLud('shadowimage'))var ol_shadowimage="";
+if(OLud('shadowopacity'))var ol_shadowopacity=60;
+// END CONFIGURATION
+
+var o3_shadow=0,o3_shadowx=5,o3_shadowy=5,o3_shadowcolor="#666666",o3_shadowimage="";
+var o3_shadowopacity=60,bkdrop=null;
+
+function OLloadShadow(){
+OLload(OLshadowCmds);
+}
+
+function OLparseShadow(pf,i,ar){
+var k=i,p=OLpar,q=OLparQuo;
+if(k<ar.length){
+if(Math.abs(ar[k])==SHADOW){OLtoggle(ar[k],pf+'shadow');return k;}
+if(ar[k]==SHADOWX){p(ar[++k],pf+'shadowx');return k;}
+if(ar[k]==SHADOWY){p(ar[++k],pf+'shadowy');return k;}
+if(ar[k]==SHADOWCOLOR){q(ar[++k],pf+'shadowcolor');return k;}
+if(ar[k]==SHADOWIMAGE){q(ar[++k],pf+'shadowimage');return k;}
+if(ar[k]==SHADOWOPACITY){p(ar[++k],pf+'shadowopacity');return k;}}
+return -1;
+}
+
+function OLdispShadow(){
+if(o3_shadow){OLgetShadowLyrRef();if(bkdrop)OLgenerateShadowLyr();}
+}
+
+function OLinitShadow(){
+if(OLie55&&OLfilterPI&&o3_filter){if(o3_shadow){o3_shadow=0;
+if(!o3_filtershadow){o3_filtershadow=2;o3_filtershadowcolor=o3_shadowcolor;}}return;}
+var o;if(!(o=OLmkLyr((OLovertwoPI&&over2&&over==over2?'backdrop2':'backdrop'),
+o3_frame,999))||bkdrop!=o){bkdrop=null;OLgetShadowLyrRef();}
+}
+
+function OLgetShadowLyrRef(){
+if(bkdrop||!o3_shadow)return;
+bkdrop=OLgetRefById((OLovertwoPI&&over2&&over==over2?'backdrop2':'backdrop'));
+if(!bkdrop){o3_shadow=0;bkdrop=null;}
+}
+
+function OLgenerateShadowLyr(){
+var wd=(OLns4?over.clip.width:over.offsetWidth),hgt=(OLns4?over.clip.height:over.offsetHeight);
+if(OLns4){bkdrop.clip.width=wd;bkdrop.clip.height=hgt;
+if(o3_shadowimage)bkdrop.background.src=o3_shadowimage;
+else{bkdrop.bgColor=o3_shadowcolor;bkdrop.zIndex=over.zIndex -1;}
+}else{var o=bkdrop.style;o.width=wd+'px';o.height=hgt+'px';
+if(o3_shadowimage)o.backgroundImage="url("+o3_shadowimage+")";
+else o.backgroundColor=o3_shadowcolor;
+o.clip='rect(0px '+wd+'px '+hgt+'px 0px)';o.zIndex=over.style.zIndex -1;
+if(o3_shadowopacity){var op=o3_shadowopacity;op=(op<=100&&op>0?op:100);
+if(OLie4&&!OLieM&&typeof o.filter=='string'){
+o.filter='Alpha(opacity='+op+')';if(OLie55&&typeof bkdrop.filters=='object')
+bkdrop.filters.alpha.enabled=1;}else{op=op/100;OLopBk(op);}}}
+}
+
+function OLopBk(op){
+var o=bkdrop.style;
+if(typeof o.opacity!='undefined')o.opacity=op;
+else if(typeof o.MozOpacity!='undefined')o.MozOpacity=op;
+else if(typeof o.KhtmlOpacity!='undefined')o.KhtmlOpacity=op;
+}
+
+function OLcleanUpShadow(){
+if(!bkdrop)return;
+if(OLns4){bkdrop.bgColor=null;bkdrop.background.src=null;}else{
+var o=bkdrop.style;o.backgroundColor='transparent';o.backgroundImage='none';
+if(OLie4&&!OLieM&&typeof o.filter=='string'){
+o.filter='Alpha(opacity=100)';if(OLie55&&typeof bkdrop.filters=='object')
+bkdrop.filters.alpha.enabled=0;}else OLopBk(1.0);
+if(OLns6){o.width=1+'px';o.height=1+'px';
+OLrepositionTo(bkdrop,o3_frame.pageXOffset,o3_frame.pageYOffset);}}
+}
+
+function OLshowShadow(){if(bkdrop&&o3_shadow){var o=(OLns4?bkdrop:bkdrop.style);
+if(!OLns4&&!OLieM&&(OLfilterPI&&o3_filter&&o3_fadein))OLopOvSh(1);o.visibility="visible";}
+}
+
+function OLhideShadow(){
+if(bkdrop&&o3_shadow){var o=OLgetRefById((OLovertwoPI&&over2&&over==over2?
+'backdrop2':'backdrop'));if(o&&o==bkdrop){var os=(OLns4?bkdrop:bkdrop.style);
+if(OLns4||OLieM||!OLfilterPI||((OLfilterPI)&&(!o3_filter||!o3_fadeout||!OLhasOp()))){
+os.visibility="hidden";OLcleanUpShadow();}}}
+}
+
+function OLrepositionShadow(X,Y){
+if(bkdrop&&o3_shadow)OLrepositionTo(bkdrop,X+o3_shadowx,Y+o3_shadowy);
+}
+
+OLregRunTimeFunc(OLloadShadow);
+OLregCmdLineFunc(OLparseShadow);
+
+OLshadowPI=1;
+OLloaded=1;
diff --git a/src/extras/sos-html-logs/share/html/overlib/overlibmwslogo.gif b/src/extras/sos-html-logs/share/html/overlib/overlibmwslogo.gif
new file mode 100644
index 00000000..f7b55084
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/overlibmwslogo.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/print.gif b/src/extras/sos-html-logs/share/html/overlib/print.gif
new file mode 100644
index 00000000..f1270a2f
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/print.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/pushpin.gif b/src/extras/sos-html-logs/share/html/overlib/pushpin.gif
new file mode 100644
index 00000000..79c0dbdb
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/pushpin.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/quotation.gif b/src/extras/sos-html-logs/share/html/overlib/quotation.gif
new file mode 100644
index 00000000..45a01edc
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/quotation.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/semitrans.gif b/src/extras/sos-html-logs/share/html/overlib/semitrans.gif
new file mode 100644
index 00000000..df1bc223
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/semitrans.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/showCalendar.gif b/src/extras/sos-html-logs/share/html/overlib/showCalendar.gif
new file mode 100644
index 00000000..68d10f1b
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/showCalendar.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/share/html/overlib/sprintf.js b/src/extras/sos-html-logs/share/html/overlib/sprintf.js
new file mode 100644
index 00000000..f5170ab3
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/sprintf.js
@@ -0,0 +1,133 @@
+ /* Function printf(format_string,arguments...)
+ * Javascript emulation of the C printf function (modifiers and argument types
+ * "p" and "n" are not supported due to language restrictions)
+ *
+ * Copyright 2003 K&L Productions. All rights reserved
+ * http://www.klproductions.com
+ *
+ * Terms of use: This function can be used free of charge IF this header is not
+ * modified and remains with the function code.
+ *
+ * Legal: Use this code at your own risk. K&L Productions assumes NO resposibility
+ * for anything.
+ ********************************************************************************/
+function sprintf(fstring)
+ { var pad = function(str,ch,len)
+ { var ps='';
+ for(var i=0; i<Math.abs(len); i++) ps+=ch;
+ return len>0?str+ps:ps+str;
+ }
+ var processFlags = function(flags,width,rs,arg)
+ { var pn = function(flags,arg,rs)
+ { if(arg>=0)
+ { if(flags.indexOf(' ')>=0) rs = ' ' + rs;
+ else if(flags.indexOf('+')>=0) rs = '+' + rs;
+ }
+ else
+ rs = '-' + rs;
+ return rs;
+ }
+ var iWidth = parseInt(width,10);
+ if(width.charAt(0) == '0')
+ { var ec=0;
+ if(flags.indexOf(' ')>=0 || flags.indexOf('+')>=0) ec++;
+ if(rs.length<(iWidth-ec)) rs = pad(rs,'0',rs.length-(iWidth-ec));
+ return pn(flags,arg,rs);
+ }
+ rs = pn(flags,arg,rs);
+ if(rs.length<iWidth)
+ { if(flags.indexOf('-')<0) rs = pad(rs,' ',rs.length-iWidth);
+ else rs = pad(rs,' ',iWidth - rs.length);
+ }
+ return rs;
+ }
+ var converters = new Array();
+ converters['c'] = function(flags,width,precision,arg)
+ { if(typeof(arg) == 'number') return String.fromCharCode(arg);
+ if(typeof(arg) == 'string') return arg.charAt(0);
+ return '';
+ }
+ converters['d'] = function(flags,width,precision,arg)
+ { return converters['i'](flags,width,precision,arg);
+ }
+ converters['u'] = function(flags,width,precision,arg)
+ { return converters['i'](flags,width,precision,Math.abs(arg));
+ }
+ converters['i'] = function(flags,width,precision,arg)
+ { var iPrecision=parseInt(precision);
+ var rs = ((Math.abs(arg)).toString().split('.'))[0];
+ if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
+ return processFlags(flags,width,rs,arg);
+ }
+ converters['E'] = function(flags,width,precision,arg)
+ { return (converters['e'](flags,width,precision,arg)).toUpperCase();
+ }
+ converters['e'] = function(flags,width,precision,arg)
+ { iPrecision = parseInt(precision);
+ if(isNaN(iPrecision)) iPrecision = 6;
+ rs = (Math.abs(arg)).toExponential(iPrecision);
+ if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs.replace(/^(.*)(e.*)$/,'$1.$2');
+ return processFlags(flags,width,rs,arg);
+ }
+ converters['f'] = function(flags,width,precision,arg)
+ { iPrecision = parseInt(precision);
+ if(isNaN(iPrecision)) iPrecision = 6;
+ rs = (Math.abs(arg)).toFixed(iPrecision);
+ if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs + '.';
+ return processFlags(flags,width,rs,arg);
+ }
+ converters['G'] = function(flags,width,precision,arg)
+ { return (converters['g'](flags,width,precision,arg)).toUpperCase();
+ }
+ converters['g'] = function(flags,width,precision,arg)
+ { iPrecision = parseInt(precision);
+ absArg = Math.abs(arg);
+ rse = absArg.toExponential();
+ rsf = absArg.toFixed(6);
+ if(!isNaN(iPrecision))
+ { rsep = absArg.toExponential(iPrecision);
+ rse = rsep.length < rse.length ? rsep : rse;
+ rsfp = absArg.toFixed(iPrecision);
+ rsf = rsfp.length < rsf.length ? rsfp : rsf;
+ }
+ if(rse.indexOf('.')<0 && flags.indexOf('#')>=0) rse = rse.replace(/^(.*)(e.*)$/,'$1.$2');
+ if(rsf.indexOf('.')<0 && flags.indexOf('#')>=0) rsf = rsf + '.';
+ rs = rse.length<rsf.length ? rse : rsf;
+ return processFlags(flags,width,rs,arg);
+ }
+ converters['o'] = function(flags,width,precision,arg)
+ { var iPrecision=parseInt(precision);
+ var rs = Math.round(Math.abs(arg)).toString(8);
+ if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
+ if(flags.indexOf('#')>=0) rs='0'+rs;
+ return processFlags(flags,width,rs,arg);
+ }
+ converters['X'] = function(flags,width,precision,arg)
+ { return (converters['x'](flags,width,precision,arg)).toUpperCase();
+ }
+ converters['x'] = function(flags,width,precision,arg)
+ { var iPrecision=parseInt(precision);
+ arg = Math.abs(arg);
+ var rs = Math.round(arg).toString(16);
+ if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
+ if(flags.indexOf('#')>=0) rs='0x'+rs;
+ return processFlags(flags,width,rs,arg);
+ }
+ converters['s'] = function(flags,width,precision,arg)
+ { var iPrecision=parseInt(precision);
+ var rs = arg;
+ if(rs.length > iPrecision) rs = rs.substring(0,iPrecision);
+ return processFlags(flags,width,rs,0);
+ }
+ farr = fstring.split('%');
+ retstr = farr[0];
+ fpRE = /^([-+ #]*)(\d*)\.?(\d*)([cdieEfFgGosuxX])(.*)$/;
+ for(var i=1; i<farr.length; i++)
+ { fps=fpRE.exec(farr[i]);
+ if(!fps) continue;
+ if(arguments[i]!=null) retstr+=converters[fps[4]](fps[1],fps[2],fps[3],arguments[i]);
+ retstr += fps[5];
+ }
+ return retstr;
+ }
+/* Function sprintf() END */ \ No newline at end of file
diff --git a/src/extras/sos-html-logs/share/html/overlib/square.gif b/src/extras/sos-html-logs/share/html/overlib/square.gif
new file mode 100644
index 00000000..9d43ad7e
--- /dev/null
+++ b/src/extras/sos-html-logs/share/html/overlib/square.gif
Binary files differ
diff --git a/src/extras/sos-html-logs/sos-html-logs b/src/extras/sos-html-logs/sos-html-logs
new file mode 100755
index 00000000..aca754b5
--- /dev/null
+++ b/src/extras/sos-html-logs/sos-html-logs
@@ -0,0 +1,670 @@
+#!/usr/bin/env python
+
+#from optparse import OptionParser, Option
+import time, sys, os, glob
+import getopt, traceback
+try: import cherrypy
+except: print "python-cherrypy is missing. Exiting."; sys.exit(1)
+from cherrypy.lib import cptools
+import pdb
+
+sys.path.append("lib")
+
+import soshtmllogs.database
+from soshtmllogs.logs_abstraction import *
+
+class Root:
+ def header(self):
+ return """
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+<head>
+<title></title>
+<script type="text/javascript" src="overlib/overlibmws.js"></script>
+<script type="text/javascript" src="overlib/overlibmws_draggable.js"></script>
+<script type="text/javascript" src="overlib/overlibmws_filter.js"></script>
+<script type="text/javascript" src="overlib/overlibmws_overtwo.js"></script>
+<script type="text/javascript" src="overlib/overlibmws_shadow.js"></script>
+<script type="text/javascript" src="overlib/overlibmws_scroll.js"></script>
+
+<script TYPE="text/javascript">
+<!--
+var ol_width=300;
+var ol_fgcolor='#ffffcc';
+var ol_bgcolor='#666666';
+//-->
+</script>
+
+<script type="text/javascript">
+<!--
+OLpageDefaults(BGCLASS,'olbg', CGCLASS,'olcg', FGCLASS,'olfg',
+ CAPTIONFONTCLASS,'olcap', CLOSEFONTCLASS,'olclo', TEXTFONTCLASS,'oltxt');
+
+function OLiframeContent(src, width, height, name, frameborder, scrolling) {
+ return ('<iframe src="'+src+'" width="'+width+'" height="'+height+'"'
+ +(name!=null?' name="'+name+'" id="'+name+'"':'')
+ +(frameborder!=null?' frameborder="'+frameborder+'"':'')
+ +' scrolling="'+(scrolling!=null?scrolling:'auto')+'">'
+ +'<div>[iframe not supported]</div></iframe>');
+}
+//-->
+</script>
+
+<style type="text/css">
+<!--
+.olbg {background-color:#333399;}
+.olcg {background-color:#aa0000; text-align:center;} # title
+.olcgif {background-color:#333399; text-align:center;}
+.olfg {background-color:#ecf5ff; text-align:center;} # body bg
+.olfgif {background-color:#bbddff; text-align:center;}
+.olcap {font-family:Arial; font-size:12px; font-weight:bold; color:#ffffff;}
+a.olclo {font-family:Verdana; font-size:11px; font-weight:bold; color:#ddddff;}
+a.olclo:hover {color:#ffffff;}
+.oltxt {font-family:Arial; font-size:12px; color:#000000;}
+-->
+</style>
+
+<script type="text/javascript">
+<!--
+
+function log_toggle_color(obj) {
+ if (obj.style.color == '') {
+ obj.style.color = 'red';
+ obj.style.fontWeight='bolder';
+ } else {
+ obj.style.color = '';
+ obj.style.fontWeight='normal';
+ }
+ return True;
+}
+
+function get_selection_text() {
+ var txt = '';
+ if (window.getSelection) {
+ txt = window.getSelection();
+ } else if (document.getSelection) {
+ txt = document.getSelection();
+ } else if (document.selection) {
+ txt = document.selection.createRange().text;
+ } else return;
+ return txt;
+}
+
+//-->
+</script>
+
+<style type="text/css">
+<!--
+
+body {
+ font: normal 11px auto "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+ color: #4f6b72;
+ background: #E6EAE9;
+}
+
+a {
+ color: #c75f3e;
+}
+
+#mytable {
+ width: 97%;
+ padding: 0;
+ margin: 0;
+}
+
+caption {
+ padding: 0 0 5px 0;
+ width: 97%;
+ font: italic 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+ text-align: right;
+}
+
+th {
+ font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+ color: #4f6b72;
+ letter-spacing: 2px;
+ text-transform: uppercase;
+ text-align: left;
+ padding: 6px 6px 6px 12px;
+ background: #a50000;
+ color: white;
+}
+
+th.nobg {
+ border-top: 0;
+ border-left: 0;
+ border-right: 1px solid #C1DAD7;
+ background: none;
+ color: black;
+}
+
+td {
+ border-right: 1px solid #C1DAD7;
+ border-bottom: 1px solid #C1DAD7;
+ background: #fff;
+ color: #4f6b72;
+ letter-spacing: -1px;
+ white-space:pre-wrap;
+ font-family: monospace;
+}
+
+pre {
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+}
+
+td.alt {
+ background: #ffbaba;
+ color: #797268;
+}
+
+th.newday {
+ text-align: right;
+ padding: 2px;
+}
+
+th.spec {
+ border-left: 1px solid #C1DAD7;
+ border-right: 1px solid #C1DAD7;
+ border-top: 0;
+ background: #fff;
+ font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+ color: #797268;
+ vertical-align: top;
+}
+
+th.specalt {
+ border-left: 1px solid #C1DAD7;
+ border-right: 1px solid #C1DAD7;
+ border-top: 0;
+ background: #cecfce;
+ font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+ color: #797268;
+ vertical-align: top;
+}
+
+.log_invalid_date {
+ color: dark green;
+ font-weight: bold;
+ background-color: yellow;
+}
+
+input {
+ border: 1px solid #cc0000;
+ background: red;
+ color: white;
+}
+
+#fixme { position: fixed; right: 0px; top: 0px; z-index: 2; }
+
+#navigation_enabled {
+ border: 1px solid #cc0000;
+ background: red;
+ color: white;
+ cursor: pointer;
+}
+
+#navigation_disabled {
+ border: 1px solid #cc0000;
+ background: gray;
+ color: white;
+ cursor: not-allowed;
+}
+
+.progressbar {
+ border: 2px solid black;
+ background: #ffa;
+ position: relative;
+ width: 500px;
+ height: 4.5em;
+ margin-bottom: 4px;
+ -moz-border-radius-topright: 2em;
+ -moz-border-radius-bottomright: 2em;
+}
+
+.progressbar div {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ height: 99%;
+ background-color: #cf5;
+}
+
+.progressbar div p {
+ white-space: nowrap;
+ display: block;
+ height: 100%;
+ margin: 0;
+ padding: 0 1em;
+ line-height: 2em;
+ font-weight: bold;
+ font-size: x-large;
+}
+
+.progressbar p span {
+ display: none;
+}
+
+A:link { font-weight: normal; text-decoration: none; }
+A:visited { font-weight: normal; text-decoration: none; }
+
+-->
+</style>
+
+</head>
+<body>
+
+<a href="/">Index</a> <a href="/browse">Browse</a><p>
+
+"""
+ def footer(self):
+ return """</body></html>"""
+
+ def browse(self):
+ position = cherrypy.session.get('position')
+ dates_per_page = cherrypy.session.get('dates_per_page', 300)
+ filter_daemons = cherrypy.session.get('filter_daemons', [])
+
+ cluster = cluster_master.instance()
+
+ if position:
+ cluster.seek(position)
+ else:
+ cluster.seek_beginning()
+ position = cluster.tell()
+
+ yield self.header()
+
+ yield """<table id="mytable" cellspacing="0" summary="">
+<caption>Generated by sos-logs2html 1.0 on %s</caption>
+<ul id="toc">
+</ul>""" % (time.strftime("%B %d %H:%M:%S"))
+
+ first_date = None
+ prev_date = None
+ line = 0
+ log_lines = 0
+
+ for date in cluster:
+
+ events = myDB.execute_and_fetch("""select host, position, message, css_style from events where date = %d""" % (time.mktime(date.date)))
+
+ lines = {}
+ line_has_content = False
+
+ for host in cluster.host_names():
+ lines[host] = []
+ try:
+ for log in date[host]:
+
+ if log.daemon() in filter_daemons:
+ continue
+
+ lines[host].append(log)
+ line_has_content = True
+
+ except "Eof":
+ pass
+
+ if not line_has_content:
+ continue
+
+ if line == 0 or line % 200 == 0:
+ yield """<tr><th scope="col" abbr="Date/Time" class="nobg">Time</th>"""
+
+ for host in cluster.host_names():
+ yield """<th scope="col" abbr="%s">%s</th>""" % (host, host)
+
+ yield """</tr>"""
+
+ if line == 0 or line % 200 == 0 or time.strftime("%b %d", prev_date) != time.strftime("%b %d", date.date):
+ yield("""<tr><th scope="row" class="newday" colspan=%d>%s</th></tr>""" % (len(cluster.hosts) + 2, time.strftime("%A, %B %d", date.date)))
+
+ if line % 2 == 0: row_class = "spec"
+ else: row_class = "specalt"
+
+ color_shades = [(181,193,255), (76,102,236), (255,191,100), (255,232,200)]
+ color_shades.append(color_shades[0])
+
+ if date.date[3] in range(0, 6):
+ shade_idx, shade_div = 0, 6
+ elif date.date[3] in range(6, 12):
+ shade_idx, shade_div = 1, 12
+ elif date.date[3] in range(12, 18):
+ shade_idx, shade_div = 2, 18
+ elif date.date[3] in range(18, 24):
+ shade_idx, shade_div = 3, 24
+
+ color_hour = rgb_to_hex(color_gradient(color_shades[shade_idx], color_shades[shade_idx+1], (date.date[3] + (date.date[4]/60)) * 100 / shade_div))
+
+ yield("""<TR><th scope="row" class="%s" style="background-color: #%s"><a href="/goto/%s">%s</a></th>""" % (row_class, color_hour, time.strftime("%Y%m%d%H%M%S", date.date), time.strftime("%H:%M:%S", date.date)))
+
+ for host in cluster.host_names():
+ yield """<td style="vertical-align:top">"""
+ if lines.has_key(host):
+ for log in lines[host]:
+ css_class = None
+ css_style = None
+
+ for event_host, event_position, message, event_css_style in events:
+ if event_host == host and event_position == log.position:
+ css_style = event_css_style
+
+ yield """<span style="cursor:pointer;%s" """ % css_style
+
+ if not log.date() or log.date() != date.date:
+ yield """class="log_invalid_date" """
+
+ yield """onclick="javascript:log_toggle_color(this);">%s</span><br>""" % log.message()
+
+ yield "</td>\n"
+
+ yield "</tr>"
+
+ line += 1
+ prev_date = date.date
+
+ if not first_date:
+ first_date = date.date
+
+ if line > dates_per_page:
+ break
+
+ yield "</table>"
+
+ cherrypy.session['first_date_on_page'] = first_date
+ cherrypy.session['last_date_on_page'] = date.date
+
+ cherrypy.session['position'] = position
+ cherrypy.session['dates_per_page'] = dates_per_page
+
+ yield self.navigation()
+
+ yield self.footer()
+
+ def draw_progressbar(self, percent):
+ yield """<div class="progressbar"><div style="width: %d%%;"><p>Parsing in progress (%d%% done)</p></div></div>""" % (percent, percent)
+
+ def index(self):
+
+ cluster = cluster_master.instance()
+
+ yield self.header()
+
+ percent = 100 * cluster_master.tell_sum() / cluster_master.size()
+ if percent < 100:
+ yield self.draw_progressbar(100 * cluster_master.tell_sum() / cluster_master.size())
+
+ yield """<table id="mytable" cellspacing="0" summary="">
+<caption>Generated by sos-logs2html 1.0 on %s</caption>
+""" % (time.strftime("%B %d %H:%M:%S"))
+
+ line = 0
+ prev_date = None
+ prev_host = None
+
+ results = myDB.execute_and_fetch("""select eid, parser, date, host, message, css_style, count(message) as count_m from events group by date, host, message order by date, host""")
+
+ html_row = {}
+
+ for row in results:
+
+ date = time.localtime(row["date"])
+
+ if prev_date and prev_date != date:
+
+ if line == 0 or line % 200 == 0:
+ yield """<tr><th scope="col" abbr="Date/Time" class="nobg" style="width: 100px">Time</th>"""
+
+ for host in cluster.host_names():
+ yield """<th scope="col" abbr="%s">%s</th>""" % (host, host)
+
+ yield """</tr>"""
+
+ if line == 0 or line % 200 == 0 or time.strftime("%b %d", prev_date) != time.strftime("%b %d", prev_prev_date):
+ yield("""<tr><th scope="row" class="newday" colspan=%d>%s</th></tr>""" % (len(cluster.hosts) + 1, time.strftime("%A, %B %d", prev_date)))
+
+ if line % 2 == 0: row_class = "spec"
+ else: row_class = "specalt"
+
+ color_shades = [(181,193,255), (76,102,236), (255,191,100), (255,232,200)]
+ color_shades.append(color_shades[0])
+
+ if prev_date[3] in range(0, 6):
+ shade_idx, shade_div = 0, 6
+ elif prev_date[3] in range(6, 12):
+ shade_idx, shade_div = 1, 12
+ elif prev_date[3] in range(12, 18):
+ shade_idx, shade_div = 2, 18
+ elif prev_date[3] in range(18, 24):
+ shade_idx, shade_div = 3, 24
+
+ color_hour = rgb_to_hex(color_gradient(color_shades[shade_idx], color_shades[shade_idx+1], (prev_date[3] + (prev_date[4]/60)) * 100 / shade_div))
+
+ yield("""<TR><th scope="row" class="%s" style="background-color: #%s"><a style="font-weight:normal;color:black;font-size:larger" href="/goto/%s">%s</a></th>""" % (row_class, color_hour, time.strftime("%Y%m%d%H%M%S", prev_date), time.strftime("%H:%M:%S", prev_date)))
+
+ tab = 0
+ while tab < len(cluster.host_names()):
+ yield "<td><ul>"
+ if html_row.has_key(tab):
+ for out in html_row[tab]:
+ yield "<li>" + out + "</li>"
+ yield "</ul></td>"
+ tab+=1
+
+ line += 1
+
+ html_row = {}
+ prev_prev_date = prev_date
+
+ if not html_row.has_key(cluster.host_names().index(row["host"])):
+ html_row[cluster.host_names().index(row["host"])] = []
+
+ toadd = '<a href="javascript:void(0);"'
+ toadd+= ' name="sample%d"' % line
+ toadd+= ' id="sample" style="cursor:pointer;%s"' % row["css_style"]
+ toadd+= """ onclick="overlib(OLiframeContent('/event_tooltip?eid=%d', 510, 145, 'if1', 0, 'auto'), TEXTPADDING,6, CAPTION,'Event #%d - %s',""" % (row["eid"], row["eid"], row["message"])
+ toadd+= """ SCROLL, STICKY, BASE,2, REF,'sample%d', REFC,'UR', REFX,10, REFY,-25,""" % line
+ toadd+= """ DRAGGABLE, SHADOW, SHADOWX,3, SHADOWY,3, STATUS,'Example of Secondary Popups');" onmouseout="nd(); return false;">%s</a>""" % row["message"]
+
+ if row["count_m"] > 1:
+ toadd+= " (repeated %d times)" % row["count_m"]
+
+ html_row[cluster.host_names().index(row["host"])].append(toadd)
+
+ prev_date = date
+
+ if not len(results):
+ yield """<tr><td>No event logged yet, click <a href="/browse">here</a> to start viewing the logs or <a href="/">refresh this page</a>.</td></tr>"""
+
+ yield "</table>"
+
+ yield self.footer()
+
+ def event_tooltip(self, eid):
+ cluster = cluster_master.instance()
+
+ results = myDB.execute_and_fetch("""select eid, host, position, parser, message from events where eid = %d""" % int(eid))
+
+ yield """<html><body>"""
+
+ for row in results:
+ line = cluster.get_host(row["host"]).seek_and_read(row["position"])
+
+ parser = cluster.get_parser(row["parser"])
+ yield parser.analyse_line(log_line_class(None, row["host"], row["position"], line))
+
+ yield """</body></html>"""
+
+ cherrypy.config.update({'logDebugInfoFilter.logBuildTime': False})
+ cherrypy.config.update({'logDebugInfoFilter.logPageSize': False})
+
+ def navigation(self):
+ yield """<a href="/previous">Previous</a> <a href="/next">Next</a>"""
+
+ def previous(self):
+ cluster = cluster_master.instance()
+ dates = ksort(cluster.index)
+ idx = dates.index(cherrypy.session.get('first_date_on_page'))
+ idx = idx - cherrypy.session.get('dates_per_page')
+ if idx < 0: idx = 0
+ cherrypy.session['position'] = cluster.get_position_by_date(dates[idx])
+ raise cherrypy.HTTPRedirect('/browse')
+
+ def next(self):
+ cluster = cluster_master.instance()
+ cherrypy.session['position'] = cluster.get_position_by_date(cherrypy.session.get('last_date_on_page'))
+ raise cherrypy.HTTPRedirect('/browse')
+
+ def _goto(self, goto_date):
+ cluster = cluster_master.instance()
+
+ try:
+ cherrypy.session['position'] = cluster.get_position_by_date(time.strptime(goto_date, "%Y%m%d%H%M%S"))
+ except:
+ # some other exception, redirect to /
+ raise cherrypy.HTTPRedirect('/browse')
+
+ yield self.browse()
+
+ def default(self, url, value):
+ if url == "goto":
+ yield self._goto(value)
+
+ index.exposed = True
+ browse.exposed = True
+ previous.exposed = True
+ next.exposed = True
+ event_tooltip.exposed = True
+ default.exposed = True
+
+class Filters:
+ def index(self):
+
+ cluster = cluster_master.instance()
+
+ filter_daemons = cherrypy.session.get('filter_daemons', [])
+
+ yield cherrypy.root.header()
+
+ # Daemons to filter out
+ #
+
+ yield """<DIV>Filter out the following daemons from the output"""
+
+ yield """<FORM action="update_filters" method="POST">"""
+
+ yield """<SELECT STYLE="width: 200px" MULTIPLE="true" SIZE=10 NAME="daemons">"""
+ for daemon, occurs in cluster.daemon_log_counter:
+ if daemon in filter_daemons: continue
+ yield """<OPTION VALUE="%s">%s (%d lines)""" % (daemon, daemon, occurs)
+ yield """</SELECT>"""
+
+ yield """<SELECT STYLE="width: 200px" MULTIPLE="true" SIZE=10 NAME="daemons_ex">"""
+ for daemon in filter_daemons:
+ yield """<OPTION VALUE="%s">%s""" % (daemon, daemon)
+ yield """</SELECT>"""
+
+ yield """<INPUT TYPE="submit" VALUE="Update">"""
+
+ yield """</FORM>"""
+
+ yield """</DIV>"""
+
+ yield cherrypy.root.footer()
+
+ def update_filters(self, daemons = None, daemons_ex = None):
+ filter_daemons = cherrypy.session.get('filter_daemons', [])
+
+ if daemons:
+ if type(daemons) == str:
+ filter_daemons.append(daemons)
+ else:
+ for daemon in daemons:
+ filter_daemons.append(daemon)
+
+ if daemons_ex:
+ if type(daemons_ex) == str:
+ filter_daemons.remove(daemons_ex)
+ else:
+ for daemon in daemons_ex:
+ filter_daemons.remove(daemon)
+
+ cherrypy.session['filter_daemons'] = filter_daemons
+
+ raise cherrypy.HTTPRedirect('/')
+
+ index.exposed = True
+ update_filters.exposed = True
+
+def usage():
+ print "ciao"
+
+try:
+ opts, args = getopt.getopt(sys.argv[1:], "hve:", ["help", "input="])
+except getopt.GetoptError:
+ # print help information and exit:
+ usage()
+ sys.exit(2)
+
+cmdline = {}
+cmdline["exclude_regex"] = []
+cmdline["include_regex"] = []
+cmdline["verbose"] = 0
+
+for o, a in opts:
+ if o == "-v":
+ cmdline["verbose"] += 1
+ if o in ("-h", "--help"):
+ usage()
+ sys.exit()
+ if o in ("-e", "--exclude-regex"):
+ cmdline["exclude_regex"].append(re.compile(a))
+ if o in ("-i", "--include-regex"):
+ cmdline["include_regex"].append(re.compile(a))
+
+if __name__ != "__main__":
+ sys.exit()
+
+myDB = soshtmllogs.database.myDB_class()
+
+cluster_master = cluster_class()
+
+sys.stderr.write("adding logs\n")
+for log in args:
+ cluster_master.add_log(log)
+
+from soshtmllogs.parsers.simple_parser import *
+from soshtmllogs.parsers.dmapper_parser import *
+from soshtmllogs.parsers.crazyclock_parser import *
+
+cluster_master.register_parser(simple_Parser(cluster_master, myDB))
+cluster_master.register_parser(dmapper_Parser(cluster_master, myDB))
+#cluster_master.register_parser(crazyclock_Parser(cluster_master, myDB))
+
+cluster_master.parse(threaded = True)
+
+sys.stderr.write("finished adding logs\n")
+
+if len(cluster_master.hosts) == 0:
+ sys.stderr.write("no valid data to parse was found. exiting.\n")
+ sys.exit(1)
+
+cherrypy.root = Root()
+cherrypy.root.filters = Filters()
+cherrypy.config.update({'session_filter.on': True})
+cherrypy.config.update({'autoreload.on': False})
+#cherrypy.config.update({'server.environment': "production"})
+
+cherrypy.config.update({
+ "/":{'static_filter.root': "/usr/share/sos-html-logs"},
+ "/overlib":{'static_filter.on': True, "static_filter.dir":"html/overlib"}
+})
+
+cherrypy.server.start()
+
diff --git a/src/extras/sysreport/functions b/src/extras/sysreport/functions
index 74061d18..fff52ccd 100755
--- a/src/extras/sysreport/functions
+++ b/src/extras/sysreport/functions
@@ -48,14 +48,14 @@ getpciinfo() {
catiffile() {
if [ -d $1 ]; then
- /bin/cp -x --parents -R $1 $ROOT 2>>$ROOT/$log
+ /bin/cp -p -x --parents -R $1 $ROOT 2>>$ROOT/$log
find $ROOT/$1 -type b -o -type c | xargs rm -f 2>/dev/null || :
echo -n $STATUS
echo_success
return 1
fi
if [ -f $1 ]; then
- /bin/cp --parents $1 $ROOT 2>>$ROOT/$log
+ /bin/cp -p --parents $1 $ROOT 2>>$ROOT/$log
echo -n $STATUS
echo_success
return 1
diff --git a/src/extras/sysreport/sysreport.legacy b/src/extras/sysreport/sysreport.legacy
index 4a41f803..043ba026 100755
--- a/src/extras/sysreport/sysreport.legacy
+++ b/src/extras/sysreport/sysreport.legacy
@@ -13,6 +13,7 @@ umask 0077
UTILDIR=/usr/share/sysreport
VER=`/bin/uname -r`
PATH=""
+PROGNAME="sysreport"
DATE=`/bin/date -u +%G%m%d%k%M%S | /usr/bin/tr -d ' '`
function usage {
@@ -26,17 +27,24 @@ function usage {
echo " -help : show help"
echo " -norpm : omit collecting information about currently installed packages"
echo " -dmidecode: enable dmidecode, getting information about the hardware"
+ echo " -firewall : collecting the system firewall rules"
+ echo " -home : place sysreport outputs within home directory"
+ echo " -usesysrq : collecting information about sysrq-trigger"
echo
exit 0
}
-[ $# -lt 3 ] || usage
+[ $# -lt 6 ] || usage
for i
do
case "$i" in
-help) usage;;
-norpm) NORPM=yes;;
-dmidecode) DMIDECODE=yes;;
+ -firewall) FIREWALL=yes;;
+ -home) HOMEDIR=yes;;
+ -sysrq) SYSRQ_TRIGGER=yes;;
+ -usesysrq) SYSRQ_TRIGGER=yes;;
*) usage;;
esac
done
@@ -52,8 +60,15 @@ if [ $UID != 0 ]; then
exit 1
fi
-ROOT=$HOME/sysreport-$DATE
-if ( ! mkdir $ROOT >& /dev/null ) ; then
+if [ "$HOMEDIR" = yes ] ; then
+ TEMPDIR=$HOME
+ ROOT=$HOME/sysreport-$DATE
+ /bin/mkdir $ROOT >& /dev/null
+else
+ TEMPDIR=/tmp
+ ROOT=`/bin/mktemp -dq /tmp/sysreport.XXXXXXXX`
+fi
+if [ $? != 0 ] ; then
echo "Cannot make temp dir"
exit 1
fi
@@ -197,7 +212,7 @@ STATUS="Collecting information about X:"
catiffile "/etc/X11"
STATUS="Gathering sysctl information (/proc/sys):"
-catiffile "/proc/sys"
+catifexec "/sbin/sysctl" "-a"
STATUS="Gathering sysctl information (/etc/sysctl.conf):"
catiffile "/etc/sysctl.conf"
@@ -380,6 +395,9 @@ catiffile "/etc/auto.net"
STATUS="Collecting LVM information:"
catifexec "/usr/sbin/vgdisplay" "-vv"
+STATUS="Gathering LVM setup"
+catiffile "/etc/lvm"
+
STATUS="Collecting SCSI Tape information (/etc/stinit.def)"
catiffile "/etc/stinit.def"
@@ -424,23 +442,25 @@ done
STATUS="Collecting information about ypbind configuration:"
catiffile "/etc/yp.conf"
-KERNELMIN=`/bin/uname -r | /bin/sed -e 's,[^\.]*\.,,' -e 's,\..*,,'`
-ipchainsmod=`/sbin/lsmod 2>/dev/null| /bin/grep ipchains`
-
-if [ "$KERNELMIN" -lt 3 ] || [ -n "${ipchainsmod}" ] ; then
- STATUS="Getting ipchains information:"
- catifexec "/sbin/ipchains" "-nvL"
-elif [ "$KERNELMIN" -gt 3 ]; then
- STATUS="Getting iptables information:"
- if [ -f /etc/sysconfig/iptables-config ] ; then
- catiffile "/etc/sysconfig/iptables-config"
+if [ "$FIREWALL" == "yes" ]; then
+ KERNELMIN=`/bin/uname -r | /bin/sed -e 's,[^\.]*\.,,' -e 's,\..*,,'`
+ ipchainsmod=`/sbin/lsmod 2>/dev/null| /bin/grep ipchains`
+
+ if [ "$KERNELMIN" -lt 3 ] || [ -n "${ipchainsmod}" ] ; then
+ STATUS="Getting ipchains information:"
+ catifexec "/sbin/ipchains" "-nvL"
+ elif [ "$KERNELMIN" -gt 3 ]; then
+ STATUS="Getting iptables information:"
+ if [ -f /etc/sysconfig/iptables-config ] ; then
+ catiffile "/etc/sysconfig/iptables-config"
+ fi
+ STATUS="Getting iptables information (filter):"
+ catifexec "/sbin/iptables" "-t filter -nvL"
+ STATUS="Getting iptables information (mangle):"
+ catifexec "/sbin/iptables" "-t mangle -nvL"
+ STATUS="Getting iptables information (nat):"
+ catifexec "/sbin/iptables" "-t nat -nvL"
fi
- STATUS="Getting iptables information (filter):"
- catifexec "/sbin/iptables" "-t filter -nvL"
- STATUS="Getting iptables information (mangle):"
- catifexec "/sbin/iptables" "-t mangle -nvL"
- STATUS="Getting iptables information (nat):"
- catifexec "/sbin/iptables" "-t nat -nvL"
fi
# ldap client and server config
@@ -583,23 +603,22 @@ for x in `/bin/ls -d /etc/cups/*.conf 2>/dev/null` ; do
catiffile "$x"
done
-STATUS="Getting information about printcap"
-catiffile "/etc/printcap"
-
echo
echo "Gathering information from system logs"
echo
STATUS="Collecting information from dmesg:"
catiffile "/var/log/dmesg"
-STATUS="Collecting information from /proc/sysrq-trigger"
-if [ -f /proc/sysrq-trigger -a -f /proc/sys/kernel/sysrq ] ; then
- sysr_state="$(/bin/cat /proc/sys/kernel/sysrq)"
- echo 1 > /proc/sys/kernel/sysrq
- for key in m p t ; do
- echo $key > /proc/sysrq-trigger
- done
- echo $sysr_state > /proc/sys/kernel/sysrq
+if [ "$SYSRQ_TRIGGER" == "yes" ]; then
+ STATUS="Collecting information from /proc/sysrq-trigger"
+ if [ -f /proc/sysrq-trigger -a -f /proc/sys/kernel/sysrq ] ; then
+ sysr_state="$(/bin/cat /proc/sys/kernel/sysrq)"
+ echo 1 > /proc/sys/kernel/sysrq
+ for key in m p t ; do
+ echo $key > /proc/sysrq-trigger
+ done
+ echo $sysr_state > /proc/sys/kernel/sysrq
+ fi
fi
for x in `/bin/ls /var/log/messages*` ; do
@@ -683,6 +702,7 @@ if [ -f $RHNDIR/systemid ] ; then
catiffile "$RHNDIR/systemid"
fi
fi
+
# Get hardware profile information (for verification with system state and RHN)
if [ -x /usr/share/rhn/up2date_client/hardware.py ] ; then
STATUS="Gathering RHN hardware profile information"
@@ -697,6 +717,7 @@ if [ -x /usr/bin/rhn-charsets ] ; then
catifexec "/usr/bin/rhn-charsets"
fi
+# Get SELinux information
echo
echo "Gathering information on SELinux setup"
echo
@@ -705,14 +726,25 @@ catifexec "/usr/sbin/sestatus"
catifexec "rpm" "-q -V selinux-policy-targeted"
catifexec "rpm" "-q -V selinux-policy-strict"
-cd $HOME
+cd $TEMPDIR
/bin/echo
/bin/echo -n "Please enter your case number (if you have one): "
-read CASENUM
+
+while read CASENUM
+do
+ case $CASENUM in
+ *[^0-9]*)
+ /bin/echo -e "\nError: Your input contains non-numeric characters!"
+ /bin/echo -e "Please enter your case number (if you have one): "
+ ;;
+ *)
+ break ;;
+ esac
+done
if [ ! $CASENUM ]; then
- NAME=$HOSTNAME.$DATE
+ NAME=$PROGNAME-$HOSTNAME.$DATE
else
- NAME="$HOSTNAME-$CASENUM.$DATE"
+ NAME="$PROGNAME-$HOSTNAME-$CASENUM.$DATE"
fi
/bin/rm -Rf $NAME
/bin/mv $ROOT $NAME
@@ -727,7 +759,7 @@ fi
/bin/rm -Rf $NAME
/bin/echo
-/bin/echo "Please send $HOME/${NAME}.${SUFFIX} to your support"
+/bin/echo "Please send $TEMPDIR/${NAME}.${SUFFIX} to your support"
/bin/echo "representative."
/bin/echo
diff --git a/src/lib/sos/plugins/cluster.py b/src/lib/sos/plugins/cluster.py
index 1ef4fe2a..b536512d 100644
--- a/src/lib/sos/plugins/cluster.py
+++ b/src/lib/sos/plugins/cluster.py
@@ -147,6 +147,16 @@ class cluster(sos.plugintools.PluginBase):
xml = libxml2.parseFile("/etc/cluster/cluster.conf")
xpathContext = xml.xpathNewContext()
+ # make sure that the node names are valid according to RFC 2181
+ for hostname in xpathContext.xpathEval('/cluster/clusternodes/clusternode/@name'):
+ if not re.match('^[a-zA-Z]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*$', hostname.content):
+ self.addDiagnose("node name (%s) contains invalid characters" % hostname.content)
+
+ # do not rely on DNS to resolve node names, must have them in /etc/hosts
+ for hostname in xpathContext.xpathEval('/cluster/clusternodes/clusternode/@name'):
+ if len(self.fileGrep(r'^.*\W+%s' % hostname.content , "/etc/hosts")) == 0:
+ self.addDiagnose("node %s is not defined in /etc/hosts" % hostname.content)
+
# check fencing (warn on no fencing)
if len(xpathContext.xpathEval("/cluster/clusternodes/clusternode[not(fence/method/device)]")):
if self.has_gfs():
diff --git a/src/lib/sos/plugins/general.py b/src/lib/sos/plugins/general.py
index c124c001..434bfdaa 100644
--- a/src/lib/sos/plugins/general.py
+++ b/src/lib/sos/plugins/general.py
@@ -26,6 +26,8 @@ class general(sos.plugintools.PluginBase):
def setup(self):
self.addCopySpec("/etc/redhat-release")
self.addCopySpec("/etc/fedora-release")
+ self.addCopySpec("/etc/inittab")
+ self.addCopySpec("/etc/sos.conf")
self.addCopySpec("/etc/sysconfig")
self.addCopySpec("/proc/stat")
self.addCopySpec("/var/log/dmesg")
diff --git a/src/lib/sos/plugins/kdump.py b/src/lib/sos/plugins/kdump.py
new file mode 100644
index 00000000..254f15dd
--- /dev/null
+++ b/src/lib/sos/plugins/kdump.py
@@ -0,0 +1,30 @@
+### 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.
+
+import sos.plugintools
+import os
+
+class kdump(sos.plugintools.PluginBase):
+ """Kdump related information
+ """
+ def checkenabled(self):
+ if len(self.fileGrep(".* crashkernel=", "/proc/cmdline")) > 0:
+ return True
+ return False
+
+ def setup(self):
+ self.addCopySpec("/etc/kdump.conf")
+ self.addCopySpec("/etc/sysconfig/kdump")
+ return
+
diff --git a/src/lib/sos/plugins/kernel.py b/src/lib/sos/plugins/kernel.py
index 9a662fe7..d7f3e833 100644
--- a/src/lib/sos/plugins/kernel.py
+++ b/src/lib/sos/plugins/kernel.py
@@ -18,7 +18,7 @@ import commands, os, re
class kernel(sos.plugintools.PluginBase):
"""kernel related information
"""
- optionList = [("modinfo", 'gathers module information on all modules', 'fast', True),
+ optionList = [("modinfo", 'gathers information on all kernel modules', 'fast', True),
('sysrq', 'trigger sysrq+[m,p,t] dumps', 'fast', False)]
moduleFile = ""
taintList = [
diff --git a/src/lib/sos/plugins/systemtap.py b/src/lib/sos/plugins/systemtap.py
index b99ce0cf..beab832c 100644
--- a/src/lib/sos/plugins/systemtap.py
+++ b/src/lib/sos/plugins/systemtap.py
@@ -17,13 +17,18 @@
import sos.plugintools
class systemtap(sos.plugintools.PluginBase):
- """SystemTap pre-requisites information
+ """SystemTap information
"""
+ def checkenabled(self):
+ self.files = [ "/usr/bin/stap" ]
+ self.packages = [ "systemtap", "systemtap-runtime" ]
+ return sos.plugintools.PluginBase.checkenabled(self)
+
def setup(self):
# requires systemtap, systemtap-runtime, kernel-devel,
# kernel-debuginfo, kernel-debuginfo-common
+ # FIXME: do not use rpm -qa
self.collectExtOutput("/bin/rpm -qa | /bin/egrep -e kernel.*`uname -r` -e systemtap -e elfutils | sort")
self.collectExtOutput("/usr/bin/stap -V 2")
- self.collectExtOutput("/bin/uname -r")
return
diff --git a/src/lib/sos/plugintools.py b/src/lib/sos/plugintools.py
index 2501c450..3e195b4d 100644
--- a/src/lib/sos/plugintools.py
+++ b/src/lib/sos/plugintools.py
@@ -35,17 +35,23 @@ import shutil
from stat import *
from time import time
-# RHEL3 doesn't have a logging module
+# RHEL3 doesn't have a logging module, activate work-around
try:
import logging
except ImportError:
import sos.rhel3_logging
logging = sos.rhel3_logging
-# RHEL3 doesn't have format_exc
-if sys.version_info[0] <= 2 and sys.version_info[1] <= 2:
+# python < 2.4 (RHEL3 and RHEL4) doesn't have format_exc, activate work-around
+if sys.version_info[0] <= 2 and sys.version_info[1] < 4:
def format_exc():
- return "ciao"
+ import StringIO
+
+ output = StringIO.StringIO()
+ traceback.print_exc(file = output)
+ toret = output.getvalue()
+ output.close()
+ return toret
traceback.format_exc = format_exc
diff --git a/src/lib/sos/policyredhat.py b/src/lib/sos/policyredhat.py
index 2f65dd39..c8bec998 100755
--- a/src/lib/sos/policyredhat.py
+++ b/src/lib/sos/policyredhat.py
@@ -102,14 +102,6 @@ class SosPolicy:
pass
return None
- def pkgDictByName(self, name):
- # FIXME: what does this do?
- pkgName = self.pkgByName(name)
- if pkgName and len(pkgName) > len(name):
- return pkgName[len(name)+1:].split("-")
- else:
- return None
-
def allPkgs(self, ds = None, value = None):
# if possible return the cached values
try: return self._cache_rpm[ "%s-%s" % (ds,value) ]
@@ -260,7 +252,18 @@ class SosPolicy:
print _("Encrypting archive...")
gpgname = self.report_file + ".gpg"
- status, output = commands.getstatusoutput("/usr/bin/gpg --trust-model always --batch --keyring /usr/share/sos/rhsupport.pub --no-default-keyring --compress-level 0 --encrypt --recipient support@redhat.com --output %s %s" % (gpgname,self.report_file))
+
+ try:
+ keyring = self.cInfo['config'].get("general", "gpg_keyring")
+ except:
+ keyring = "/usr/share/sos/rhsupport.pub"
+
+ try:
+ recipient = self.cInfo['config'].get("general", "gpg_recipient")
+ except:
+ recipient = "support@redhat.com"
+
+ status, output = commands.getstatusoutput("""/usr/bin/gpg --trust-model always --batch --keyring "%s" --no-default-keyring --compress-level 0 --encrypt --recipient "%s" --output "%s" "%s" """ % (keyring, recipient, gpgname, self.report_file))
if status == 0:
os.unlink(self.report_file)
self.report_file = gpgname
@@ -307,13 +310,49 @@ class SosPolicy:
except:
return False
+ # read ftp URL from configuration
+ try:
+ upload_url = self.cInfo['config'].get("general", "upload_url")
+ except:
+ upload_url = "ftp://dropbox.redhat.com/incoming"
+
+ from urlparse import urlparse
+ url = urlparse(upload_url)
+
+ if url[0] != "ftp":
+ print _("Cannot upload to specified URL.")
+ return
+
+ # extract username and password from URL, if present
+ if url[1].find("@") > 0:
+ username, host = url[1].split("@", 1)
+ if username.find(":") > 0:
+ username, passwd = username.split(":", 1)
+ else:
+ passwd = None
+ else:
+ username, passwd, host = None, None, url[1]
+
+ # extract port, if present
+ if host.find(":") > 0:
+ host, port = host.split(":", 1)
+ port = int(port)
+ else:
+ port = 21
+
+ path = url[2]
+
try:
from ftplib import FTP
upload_name = os.path.basename(self.report_file)
- ftp = FTP('dropbox.redhat.com')
- ftp.login()
- ftp.cwd("/incoming")
+ ftp = FTP()
+ ftp.connect(host, port)
+ if username and passwd:
+ ftp.login(username, passwd)
+ else:
+ ftp.login()
+ ftp.cwd(path)
ftp.set_pasv(True)
ftp.storbinary('STOR %s' % upload_name, fp)
ftp.quit()
diff --git a/src/locale/af/LC_MESSAGES/sos.po b/src/locale/af/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..755d47b8
--- /dev/null
+++ b/src/locale/af/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Afrikaans translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/am/LC_MESSAGES/sos.po b/src/locale/am/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..2fda8a60
--- /dev/null
+++ b/src/locale/am/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Amharic translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/as/LC_MESSAGES/sos.po b/src/locale/as/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..25b4a528
--- /dev/null
+++ b/src/locale/as/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Assamese translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/be/LC_MESSAGES/sos.po b/src/locale/be/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..16c8f3a9
--- /dev/null
+++ b/src/locale/be/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Belarusian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/bg/LC_MESSAGES/sos.po b/src/locale/bg/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f9ff3df3
--- /dev/null
+++ b/src/locale/bg/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Bulgarian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/bn/LC_MESSAGES/sos.po b/src/locale/bn/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..938bd950
--- /dev/null
+++ b/src/locale/bn/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Bengali translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/bn_IN/LC_MESSAGES/sos.po b/src/locale/bn_IN/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f11f705b
--- /dev/null
+++ b/src/locale/bn_IN/LC_MESSAGES/sos.po
@@ -0,0 +1,192 @@
+# translation of bn_IN.po to Bengali INDIA
+# Bengali translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Runa Bhattacharjee <runab@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: bn_IN\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-06 13:09+0530\n"
+"Last-Translator: Runa Bhattacharjee <runab@redhat.com>\n"
+"Language-Team: Bengali INDIA\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "অনুগ্রহ করে নামের অদ্যাক্ষর ও পদবি লিখুন [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "বর্তমান রিপোর্ট নির্মাণের জন্য অনুগ্রহ করে প্রযোজ্য কেস সংখ্যা উল্লেখ করুন: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "কমপ্রেস করা আর্কাইভ নির্মাণ করুন..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "আর্কাইভ এনক্রিপ্ট করা হচ্ছে..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "রিপোর্ট এনক্রিপ্ট করতে সমস্যা।"
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"আপনার sosreport নির্মাণ করে নিম্নলিখিত স্থানে সংরক্ষিত হয়েছে:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum হল: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "অনুগ্রহ করে সহায়তা প্রতিনিধিকে এই ফাইলটি পাঠিয়ে দিন।"
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "উল্লিখিত URL-এ আপলোড করতে ব্যর্থ।"
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "আপনার রিপোর্টটি Red Hat সহায়তা ব্যবস্থায় আপলোড করতে সমস্যা।"
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "আপনার প্রদত্ত রিপোর্টটি সাফল্যের সাথে Red Hat-র ftp সার্ভারে নিম্নলিখিত নামে আপলোড করা হয়েছে:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "অনুগ্রহ করে সহায়তা প্রতিনিধিকে এই নামটি জানিয়ে দিন।"
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "অস্থায়ী ডিরেক্টরি নির্মাণ করতে ব্যর্থ।"
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (সংস্করণ %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "প্লাগ-ইন %s অনুমোদন করা যায়নি, উপেক্ষা করা হচ্ছে"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "প্লাগ-ইন %s উপেক্ষা করা হয়েছে (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "প্লাগ-ইন %s সক্রিয় নয় (সক্রিয় করার জন্য -e অথবা -o ব্যবহার করুন)।"
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "--only-plugins তালিকায় প্লাগ-ইন %s উল্লিখিত হয়নি"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "প্লাগ-ইন %s ইনস্টল করা যায়নি, উপেক্ষা করা হচ্ছে "
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "প্লাগ-ইন থেকে বিকল্প প্রক্রিয়াকরণ হচ্ছে: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "কোনো বৈধ প্লাগ-ইন পাওয়া যায়নি"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "নিম্নলিখিত প্লাগ-ইনগুলি বর্তমানে সক্রিয় করা হয়েছে:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "কোনো প্লাগ-ইন সক্রিয় নেই।"
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "নিম্নলিখিত প্লাগ-ইনগুলি বর্তমানে নিষ্ক্রিয় অবস্থায় রয়েছে:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "প্লাগ-ইন সংক্রান্ত নিম্নলিখিত বিকল্পগুলি উপলব্ধ রয়েছে:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "প্লাগ-ইন সংক্রান্ত কোনো বিকল্প উপলব্ধ নয়।"
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport সঞ্চালনের জন্য root ব্যবহারকারীর অনুমতি আবশ্যক।"
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "কোনো বৈধ প্লাগ-ইন সক্রিয় করা হয়নি"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"এই সামগ্রীর সাহায্যে হার্ডওয়্যার ও Red Hat Enterprise Linux\n"
+"সিস্টেমের পরিকাঠামো সম্পর্কে বিশদ তথ্য সংগ্রহ করা হবে।\n"
+"তথ্য সংগ্রহের পরে /tmp ডিরেক্টরির অধীন একটি আর্কাইভ নির্মিত হয়।\n"
+"এই আর্কাইভটি আপনি সহায়তা প্রতিনিধির কাছে পাঠিয়ে দিতে পারবেন।\n"
+"Red Hat দ্বারা এই তথ্য শুধমাত্র সমস্যার কারণ নির্ণয় করার জন্য ব্যবহার করা হবে\n"
+"এবং এর গোপনীয়তা বজায় রাখা হবে।\n"
+"\n"
+"এই কর্ম সম্পন্ন হতে কিছু সময় ব্যয় হতে পারে।\n"
+"এর ফলে সিস্টেমে কোনো ধরনের পরিবর্তন করা হবে না।\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "এগিয়ে চলার জন্য ENTER টিপুন অথবা প্রস্থান করতে CTRL-C টিপুন।\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "এক অথবা অধিক প্লাগ-ইন দ্বারা আপনার কনফিগারেশনে সমস্যা সনাক্ত করা হয়েছে।"
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "অনুগ্রহ করে নিম্নলিখিত বার্তাগুলি পরিদর্শন করুন:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "আপনি কি নিয়্চিতরূপে এগিয়ে যেতে ইচ্ছুক (y/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/bs/LC_MESSAGES/sos.po b/src/locale/bs/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..369d768c
--- /dev/null
+++ b/src/locale/bs/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Bosnian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ca/LC_MESSAGES/sos.po b/src/locale/ca/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..978d1d5a
--- /dev/null
+++ b/src/locale/ca/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Catalan translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/cs/LC_MESSAGES/sos.po b/src/locale/cs/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..a38459da
--- /dev/null
+++ b/src/locale/cs/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Czech translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/cy/LC_MESSAGES/sos.po b/src/locale/cy/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f58bc815
--- /dev/null
+++ b/src/locale/cy/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Welsh translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/da/LC_MESSAGES/sos.po b/src/locale/da/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..3a06b425
--- /dev/null
+++ b/src/locale/da/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Danish translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/de/LC_MESSAGES/sos.po b/src/locale/de/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f6e67226
--- /dev/null
+++ b/src/locale/de/LC_MESSAGES/sos.po
@@ -0,0 +1,192 @@
+# translation of de.po to
+# German translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# PGP-KeyID: 0x037FD3CF <ttrinks@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: de\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-07 08:45+1000\n"
+"Last-Translator: PGP-KeyID: 0x037FD3CF <ttrinks@redhat.com>\n"
+"Language-Team: <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "Bitte geben Sie Ihren Vor- und Nachnamen ein [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "Bitte geben Sie die Fallnummer an, für die Sie diesen Bericht generieren: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "Erstelle komprimiertes Archiv..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "Verschlüssele Archiv..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "Beim Verschlüsseln Ihres Berichts trat ein Fehler auf."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"Ihr \"sosreport\" wurde erstellt und gespeichert unter:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "Die md5sum lautet: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "Bitte senden Sie diese Datei an Ihren Support-Vertreter."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "Hochladen zu spezieller URL scheiterte."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "Beim Hochladen Ihres Berichts zum Red Hat Support trat ein Fehler auf."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "Ihr Bericht wurde erfolgreich auf den Red Hat FTP-Server hochgeladen, mit dem Namen:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "Bitte teilen Sie diesen Namen Ihrem Support-Vertreter mit."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "Temporäres Verzeichnis konnte nicht erstellt werden."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (version %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "Plugin %s validiert nicht, wird ausgelassen"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "Plugin %s ausgelassen (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "Plugin %s ist inaktiv (verwenden Sie -e oder -o, um es zu aktivieren)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "Plugin %s nicht in der --only-plugins-Liste angegeben"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "Plugin %s installiert sich nicht, wird ausgelassen"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "Verarbeitung von Optionen des Plugins: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "keine gültigen Plugins gefunden"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "Die folgenden Plugins sind derzeit aktiviert:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "Kein Plugin aktiviert."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "Die folgenden Plugins sind derzeit deaktiviert:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "Die folgenden Plugin-Optionen stehen zur Verfügung:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "Keine Plugin-Optionen verfügbar."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport benötigt zur Ausführung Root-Berechtigungen."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "keine gültigen Plugins wurden aktiviert"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"Dieses Dienstprogramm sammelt einige detaillierte Informationen\n"
+"zur Hardware und Einrichtung Ihres Red Hat Enterprise Linux Systems.\n"
+"Die Informationen werden gesammelt und in einem Archiv unter /tmp\n"
+"zusammengefasst, welches Sie an einen Support-Vertreter schicken\n"
+"können. Red Hat verwendet diese Informationen AUSSCHLIEßLICH zu\n"
+"Diagnosezwecken und behandelt sie als vertrauliche Informationen.\n"
+"\n"
+"Die Fertigstellung dieses Prozesses kann eine Weile dauern.\n"
+"Es werden keinerlei Änderungen an Ihrem System vorgenommen.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "Drücken Sie die EINGABETASTE, um fortzufahren, oder STRG-C, um abzubrechen.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "Ein oder mehrere Plugins haben ein Problem in Ihrer Konfiguration entdeckt."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "Bitte überprüfen Sie die folgenden Meldungen erneut:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "Möchten Sie wirklich fortfahren (j/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "J"
+
+#: sosreport:672
+msgid "y"
+msgstr "j"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/el/LC_MESSAGES/sos.po b/src/locale/el/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..6ea7ac4f
--- /dev/null
+++ b/src/locale/el/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Greek translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/en_GB/LC_MESSAGES/sos.po b/src/locale/en_GB/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..a4edc5b9
--- /dev/null
+++ b/src/locale/en_GB/LC_MESSAGES/sos.po
@@ -0,0 +1,190 @@
+# English translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "Please enter your first initial and last name [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "Please enter the case number that you are generating this report for: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "Creating compressed archive..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "Encrypting archive..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "There was a problem encrypting your report."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "The md5sum is: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "Please send this file to your support representative."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "Cannot upload to specified URL."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "There was a problem uploading your report to Red Hat support."
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "Please communicate this name to your support representative."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "Could not create temporary directory."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (version %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "plugin %s does not validate, skipping"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "plugin %s skipped (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "plugin %s is inactive (use -e or -o to enable)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "plugin %s not specified in --only-plugins list"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "plugin %s does not install, skipping"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "processing options from plugin: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "no valid plugins found"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "The following plugins are currently enabled:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "No plugin enabled."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "The following plugins are currently disabled:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "The following plugin options are available:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "No plugin options available."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport requires root permissions to run."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "no valid plugins were enabled"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "Press ENTER to continue, or CTRL-C to quit.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "One or more plugins have detected a problem in your configuration."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "Please review the following messages:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "Are you sure you would like to continue (y/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
diff --git a/src/locale/es/LC_MESSAGES/sos.po b/src/locale/es/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..175c6c19
--- /dev/null
+++ b/src/locale/es/LC_MESSAGES/sos.po
@@ -0,0 +1,192 @@
+# translation of es.po to Español
+# Spanish translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Manuel Ospina <mospina@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: es\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-07 09:08+1000\n"
+"Last-Translator: Manuel Ospina <mospina@redhat.com>\n"
+"Language-Team: Español <en@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "Por favor introduzca la inicial de su primer nombre y su apellido [%s]:"
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "Por favor introduzca el número de caso para el cual está generando este reporte:"
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "Creando un archivo comprimido..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "Encriptando el archivo..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "Hubo un problema mientras se encriptaba el reporte."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"Su reporte sos ha sido generado y guardado en:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "El md5sum es:"
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "Por favor envíe este archivo a su representante de soporte."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "No se puede cargar a la URL especificada."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "Hubo un problema al cargar su reporte al equipo de asistencia de Red Hat"
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "Su reporte ha sido cargado satisfactoriamente a los servidores ftp e Red Hat con el nombre:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "Por favor comunique este nombre a su representante de soporte."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "No se pudo crear un directorio temporal."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (versión %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "no se validó el plugin %s, ignorándolo"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "plugin %s ignorado (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "plugin %s no está activo (use -e o -o para activarlo)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "plugin %s no está especificado en la lista --only-plugins"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "no se instaló el plugin %s, ignorándolo"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "procesando las opciones del plugin: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "no se encontró un plugin válido"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "Los siguientes plugins están activados actualmente:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "Ningún plugin está activado."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "Los siguientes plugins no están activados:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "Las siguientes opciones del plugin están disponibles:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "No hay opciones de plugin disponibles."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport requiere privilegios de root para ser ejecutado."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "ningún plugin válido fue activado"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"Esta utilidad recogerá alguna información detallada sobre el\n"
+"hardware y la configuración de su sistema Red Hat Enterprise Linux.\n"
+"La información es recolectada y un archivo es creado bajo /tmp.\n"
+"Éste puede ser enviado a su representante de soporte.\n"
+"Red Hat utilizará está información para diagnosticar el sistema\n"
+"únicamente y considerará esta información como confidencial.\n"
+"\n"
+"Este proceso tomará un rato para ser completado.\n"
+"Ningún cambio se realizará en su sistema.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "Presione INTRO para continuar o CTRL-C para salir.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "Uno o más plugins han detectado un problema en su configuración."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "Por favor revise los siguientes mensajes:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "¿Está seguro que desea continuar (s/n)?"
+
+#: sosreport:672
+msgid "Y"
+msgstr "S"
+
+#: sosreport:672
+msgid "y"
+msgstr "s"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/et/LC_MESSAGES/sos.po b/src/locale/et/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..616eb47d
--- /dev/null
+++ b/src/locale/et/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Estonian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/eu_ES/LC_MESSAGES/sos.po b/src/locale/eu_ES/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..79661522
--- /dev/null
+++ b/src/locale/eu_ES/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Basque translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/fa/LC_MESSAGES/sos.po b/src/locale/fa/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..b76962c2
--- /dev/null
+++ b/src/locale/fa/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Persian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/fi/LC_MESSAGES/sos.po b/src/locale/fi/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f3d66dbf
--- /dev/null
+++ b/src/locale/fi/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Finnish translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/fr/LC_MESSAGES/sos.po b/src/locale/fr/LC_MESSAGES/sos.po
index cbc0634e..752355ab 100644
--- a/src/locale/fr/LC_MESSAGES/sos.po
+++ b/src/locale/fr/LC_MESSAGES/sos.po
@@ -1,160 +1,192 @@
-# sosreport Fench translation file
-# Copyright (C) Red Hat UK, Ltd.
-# Imed Chihi <ichihi@redhat.com>, 2007.
+# translation of fr.po to French
+# French translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
#
+# Automatically generated, 2007.
+# Decroux Fabien <fdecroux@redhat.com>, 2007.
msgid ""
msgstr ""
-"Project-Id-Version: sos 1.7\n"
-"POT-Creation-Date: 2007-08-02 10:20\n"
-"PO-Revision-Date: 2007-08-02 13:00+01\n"
-"Last-Translator: Imed Chihi <ichihi@redhat.com>\n"
-"Language-Team: FR <navid@redhat.com>\n"
+"Project-Id-Version: fr\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-08 10:11+1000\n"
+"Last-Translator: Decroux Fabien <fdecroux@redhat.com>\n"
+"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: KBabel 1.11.4\n"
-#: lib/sos/policyredhat.py:127
+#: lib/sos/policyredhat.py:203
msgid "Please enter your first initial and last name [%s]: "
-msgstr "Prière d'entrer votre première initiale et votre nom [%s]: "
+msgstr "Veuillez saisir votre premier prénom (si vous en avez plusieurs) et votre nom [%s] :"
-#: lib/sos/policyredhat.py:132
+#: lib/sos/policyredhat.py:206
msgid "Please enter the case number that you are generating this report for: "
-msgstr "Prière de donner le numéro de ticket pour lequel vous avez généré ce rapport: "
+msgstr "Veuillez saisir le numéro de cas pour lequel vous générez ce rapport :"
-#: lib/sos/policyredhat.py:155
+#: lib/sos/policyredhat.py:231
msgid "Creating compressed archive..."
-msgstr "Création de l'archive compressée en cours..."
+msgstr "Création d'une archive compressée..."
-#: lib/sos/policyredhat.py:185
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "Cryptage de l'archive..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "Une erreur s'est produire lors du cryptage de votre rapport."
+
+#: lib/sos/policyredhat.py:292
msgid ""
"Your sosreport has been generated and saved in:\n"
" %s"
-"Votre sosreport a été généré et copié dans:\n"
+msgstr ""
+"Votre rapport sos a été généré et enregistré dans :\n"
" %s"
-#: lib/sos/policyredhat.py:188
+#: lib/sos/policyredhat.py:295
msgid "The md5sum is: "
-msgstr "La somme md5sum est: "
+msgstr "Le md5sum est :"
-#: lib/sos/policyredhat.py:190
+#: lib/sos/policyredhat.py:297
msgid "Please send this file to your support representative."
-msgstr "Prière d'envoyer ce rapport à votre représentant de Support."
+msgstr "Veuillez envoyer ce fichier à votre représentant de support."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "Impossible de le télécharger vers l'URL spécifié."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "Une erreur s'est produite lors du téléchargement de votre rapport vers le support Red Hat."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "Votre rapport a été téléchargé avec succès vers le serveur ftp de Red Hat avec le nom :"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "Veuillez communiquer ce nom à votre représentant de support."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "Impossible de créer un répertoire temporaire."
-#: sosreport:370
+#: sosreport:451
msgid "sosreport (version %s)"
-msgstr ""
+msgstr "sosreport (version %s)"
-#: sosreport:388
+#: sosreport:468
msgid "plugin %s does not validate, skipping"
-msgstr "plugin %s ne s'applique pas, desactivé"
+msgstr "le plugin %s n'a pas été validé, ignoré"
-#: sosreport:392
+#: sosreport:474
msgid "plugin %s skipped (--skip-plugins)"
-msgstr "plugin %s desactivé (--skip-plugins)"
+msgstr "le plugin %s a été ignoré (--skip-plugins)"
-#: sosreport:396
+#: sosreport:478
msgid "plugin %s is inactive (use -e or -o to enable)."
-msgstr "plugin %s a été desactivé (utiliser -e ou -o pour réactiver)."
+msgstr "le plugin %s est inactif (utilisez -e ou -o pour l'activer)."
-#: sosreport:404
+#: sosreport:486
msgid "plugin %s not specified in --only-plugins list"
-msgstr "plugin %s non specifié dans la liste --only-plugins"
+msgstr "le plugin %s n'a pas été spécifié dans la liste --only-plugins"
-#: sosreport:409
+#: sosreport:491
msgid "plugin %s does not install, skipping"
-msgstr "Plugin %s ne s'installe pas, déscativé"
-
-#: sosreport:412
-msgid "could not load plugin %s"
-msgstr "Echec du chargement du plugin %s"
+msgstr "le plugin %s ne s'installe pas, ignoré"
-#: sosreport:455
+#: sosreport:554
msgid "processing options from plugin: %s"
-msgstr "Traitement des options du plugin: %s"
+msgstr "traitement des options du plugin : %s"
-#: sosreport:466
+#: sosreport:565
msgid "no valid plugins found"
-msgstr "Aucun plugin valide trouvé"
+msgstr "aucun plugin valide n'a été trouvé"
-#: sosreport:471
+#: sosreport:570
msgid "The following plugins are currently enabled:"
-msgstr "Les plugins suivants sont actuellement activés:"
+msgstr "Les plugins suivants sont activés :"
-#: sosreport:476
+#: sosreport:575
msgid "No plugin enabled."
-msgstr "Aucun plugin activé."
+msgstr "Aucun plugin n'est activé."
-#: sosreport:480
+#: sosreport:579
msgid "The following plugins are currently disabled:"
-msgstr "Les plugins suivants sont actuellment déscativés:"
+msgstr "Les plugins suivants sont désactivés :"
-#: sosreport:487
+#: sosreport:586
msgid "The following plugin options are available:"
-msgstr "Les options de plugin suivantes sont disponibles:"
+msgstr "Les options du plugin suivant sont disponibles :"
-#: sosreport:507
+#: sosreport:606
msgid "No plugin options available."
-msgstr "Pas d'options de plugin configurables."
+msgstr "Aucune option n'est disponible pour ce plugin."
-#: sosreport:515
+#: sosreport:614
msgid "sosreport requires root permissions to run."
-msgstr "sosreport doit être lancé avec les privilèges root."
+msgstr "sosreport requiert des permissions root pour démarrer."
-#: sosreport:522
+#: sosreport:621
msgid "no valid plugins were enabled"
-msgstr "Aucun plugin valide n'a été activé"
+msgstr "aucun plugin valide n'a été activé"
-#: sosreport:526
+#: sosreport:624
msgid ""
"This utility will collect some detailed information about the\n"
"hardware and setup of your Red Hat Enterprise Linux system.\n"
"The information is collected and an archive is packaged under\n"
-"/tmp, which you can send to a support rappresentative.\n"
+"/tmp, which you can send to a support representative.\n"
"Red Hat will use this information for diagnostic purposes ONLY\n"
"and it will be considered confidential information.\n"
"\n"
"This process may take a while to complete.\n"
"No changes will be made to your system.\n"
"\n"
-"Press ENTER to continue, or CTRL-C to quit.\n"
msgstr ""
-"Cet outil va collecter des informations détaillées sur le matériel\n"
-"et la configuration de votre système Red Hat Enterprise Linux.\n"
-"Les informations seront assemblées dans une archive sous /tmp,\n"
-"que vous pouvez renvoyer à un représentant du Support Red Hat.\n"
-"Red Hat utilisera ces informations à fin d'anaylser les problèmes UNIQUEMENT\n"
-"et elles seront considérées comme confidentielles.\n"
+"Cet utilitaire collectera des informations détaillées à propos du\n"
+"matériel et de l'installation de votre système Red Hat Enterprise Linux.\n"
+"Les informations sont collectées et une archive est créée sous /tmp.\n"
+"Vous pouvez l'envoyer à un représentant de support.\n"
+"Red Hat utilisera ces informations à des fins de diagnostique SEULEMENT\n"
+"et elles seront considérées commes des informations confidentielles.\n"
"\n"
-"Ce processus pourrait prendre du temps pour finir.\n"
-"Aucun changement ne sera apporté à votre système.\n"
+"Ce processus peut prendre un certain temps avant d'être terminé.\n"
+"Aucun changement ne sera effectué sur votre système.\n"
"\n"
-"Tapez ENTREE pour continuer, ou CTRL-C pour quitter.\n.\n"
-#: sosreport:555
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "Appuyez sur Entrée pour continuer ou CTRL-C pour quitter.\n"
+
+#: sosreport:654
msgid "One or more plugins have detected a problem in your configuration."
-msgstr "Un ou plusieurs plugins ont détecté un problème avec votre configuration."
+msgstr "Un ou plusieurs plugins ont détecté un problème dans votre configuration."
-#: sosreport:556
+#: sosreport:655
msgid "Please review the following messages:"
-msgstr "Prière de vérifier les messages suivants:"
+msgstr "Veuillez revoir les messages suivants :"
-#: sosreport:571
+#: sosreport:671
msgid "Are you sure you would like to continue (y/n) ? "
-msgstr "Voulez vous continuer (y/n)?"
+msgstr "Êtes-vous sûr de vouloir continuer (y/n) ?"
-#: sosreport:572
+#: sosreport:672
msgid "Y"
-msgstr "O"
+msgstr "Y"
-#: sosreport:572
+#: sosreport:672
msgid "y"
-msgstr "o"
+msgstr "y"
-#: sosreport:575
+#: sosreport:675
msgid "N"
msgstr "N"
-#: sosreport:575
+#: sosreport:675
msgid "n"
msgstr "n"
+
diff --git a/src/locale/gl/LC_MESSAGES/sos.po b/src/locale/gl/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..895450bd
--- /dev/null
+++ b/src/locale/gl/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Galician translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/gu/LC_MESSAGES/sos.po b/src/locale/gu/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..cb6bf9b4
--- /dev/null
+++ b/src/locale/gu/LC_MESSAGES/sos.po
@@ -0,0 +1,192 @@
+# translation of gu.po to Gujarati
+# Gujarati translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Ankit Patel <ankit@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: gu\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-06 16:53+0530\n"
+"Last-Translator: Ankit Patel <ankit@redhat.com>\n"
+"Language-Team: Gujarati <fedora-trans-gu@redhat.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "મહેરબાની કરીને તમારું પ્રથમ અને છેલ્લું નામ દાખલ કરો [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "મહેરબાની કરીને તમારો કેસ નંબર દાખલ કરો કે જેમાંથી તમે આ અહેવાલ બનાવી રહ્યા છો: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "સંકુચિત પેટી બનાવી રહ્યા છીએ..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "પેટી એનક્રિપ્ટ કરી રહ્યા છીએ..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "તમારો અહેવાલ એનક્રિપ્ટ કરવામાં સમસ્યા હતી."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"તમારો sosreport બની ગયેલ છે અને આમાં સંગ્રહાયેલ છે:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum આ છે: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "મહેરબાની કરીને આ ફાઈલ તમારા આધાર રજૂઆતકને મોકલો."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "સ્પષ્ટ કરેલ URL અપલોડ કરી શકતા નથી."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "તમારા અહેવાલને Red Hat આધારમાં અપલોડ કરવામાં સમસ્યા હતી."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "તમારો અહેવાલ Red Hat ના ftp સર્વરમાં આ નામ સાથે સફળતાપૂર્વક અપલોડ થયો હતો:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "મહેરબાની કરીને આ નામ તમારા આધાર રજૂઆતકને મોકલો."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "કામચલાઉ ડિરેક્ટરી બનાવી શક્યા નહિં."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (આવૃત્તિ %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "પ્લગઈન %s માન્ય થઈ શક્યું નહિં, અવગણી રહ્યા છીએ"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "પ્લગઈન %s છોડી દેવામાં આવ્યું (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "પ્લગઈન %s અસક્રિય છે (સક્રિય કરવા માટે -e અથવા -o વાપરો)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "પ્લગઈન %s --only-plugins યાદીમાં સ્પષ્ટ થયેલ નથી"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "પ્લગઈન %s સ્થાપિત થતું નથી, અવગણી રહ્યા છીએ"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "આ પ્લગઈનમાંથી પ્રક્રિયાકરણ વિકલ્પો: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "કોઈ માન્ય પ્લગઈનો મળ્યા નહિં"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "નીચેના પ્લગઈનો વર્તમાનમાં સક્રિય કરવામાં આવેલ છે:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "કોઈ પ્લગઈન સક્રિય કરેલ નથી."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "નીચેના પ્લગઈનો વર્તમાનમાં નિષ્ક્રિય કરેલ છે:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "નીચેના પ્લગઈન વિકલ્પો ઉપલબ્ધ છે:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "કોઈ પ્લગઈન વિકલ્પો ઉપલબ્ધ નથી."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport ને ચલાવવા માટે રુટ પરવાનગીઓ જરૂરી છે."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "કોઈ માન્ય પ્લગઈનો સક્રિય કરેલ હતા નહિં"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"આ ઉપયોગીતા હાર્ડવેર વિશે અમુક વિગતવાર જાણકારી\n"
+"ભેગી કરશે અને તમારી Red Hat Enterprise Linux સિસ્ટમ સુયોજીત કરશે.\n"
+"જાણકારી ભેગી થયેલ છે અને પેટી એ /tmp ડિરેક્ટરી હેઠળ પેકેજ\n"
+"થયેલ છે, કે જેને તમે આધાર રજૂઆતકને મોકલી શકો છો.\n"
+"Red Hat આ જાણકારીનો માત્ર તપાસ હેતુઓ માટે જ ઉપયોગ કરશે\n"
+"અને તે ખાનગી જાણકારી તરીકે ધ્યાનમાં લેવામાં આવશે.\n"
+"\n"
+"આ પ્રક્રિયા સમાપ્ત થવા માટે થોડો સમય લેશે.\n"
+"તમારી સિસ્ટમમાં કોઈ ફેરફારો કરવામાં આવશે નહિં.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "ચાલુ રાખવા માટે ENTER દબાવો, અથવા બંધ કરવા માટે CTRL-C દબાવો.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "એક અથવા વધુ પ્લગઈનોને તમારા રૂપરેખાંકનમાં સમસ્યા મળી આવી."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "મહેરબાની કરીને નીચેના સંદેશાઓ રીવ્યુ કરો:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "શું તમે ખરેખર ચાલુ રાખવા ઈચ્છો છો (y/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/he/LC_MESSAGES/sos.po b/src/locale/he/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..083dc7b4
--- /dev/null
+++ b/src/locale/he/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Hebrew translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/hi/LC_MESSAGES/sos.po b/src/locale/hi/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..8ce09410
--- /dev/null
+++ b/src/locale/hi/LC_MESSAGES/sos.po
@@ -0,0 +1,192 @@
+# translation of hi.po to Hindi
+# Hindi translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Rajesh Ranjan <rranjan@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: hi\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-06 17:17+0530\n"
+"Last-Translator: Rajesh Ranjan <rranjan@redhat.com>\n"
+"Language-Team: Hindi <hindi.sf.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "कृपया अपना आरंभिक व अंतिम नाम [%s] दें: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "कृपया केस संख्या दें जो आप इस रिपोर्ट के लिए बना रहे हैं: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "संकुचित अभिलेख बना रहा है..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "अभिलेख गोपित कर रहा है..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "आपके रिपोर्ट के गोपन में समस्या थी."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"आपका sosreport को यहां उत्पन्न व सहेजा गया है:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum है: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "कृपया इस फाइल को अपने समर्थन प्रतिनिधि को भेजें."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "निर्दिष्ट URL अपलोड नहीं कर सकता है."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "आपके रिपोर्ट को Red Hat समर्थन में अपलोड करने में समस्या थी."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "आपका रिपोर्ट Red Hat के ftp सर्वर में नाम के साथ सफलतापूर्वक अपलोड किया गया:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "कृपया इस नाम का अपने समर्थन प्रतिनिधि से संचार करें."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "अस्थायी निर्देशिका नहीं बना सका."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (संस्करण %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "प्लगिन %s वैध नहीं कर सकता है, छोड़ रहा है"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "प्लगिन %s छोड़ा गया (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "प्लगिन %s निष्क्रिय है (-e या -o को सक्रिय करने के लिए प्रयोग करें)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "%s प्लगिन --only-plugins सूची में निर्दिष्ट नहीं है"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "प्लगिन %s अधिष्ठापित नहीं कर रहा है, छोड़ रहा है"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "प्लगिन से विकल्प की प्रक्रिया कर रहा है: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "कोई वैध प्लगिन नहीं मिला"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "निम्नलिखित प्लगिन अभी सक्रिय है:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "कोई प्लगिन सक्रिय नहीं है."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "निम्न प्लगिन अभी निष्क्रिय है:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "निम्नलिखित प्लगिन विकल्प उपलब्ध है:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "कोई प्लगिन विकल्प उपलब्ध नहीं."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport के लिए रूट अनुमति को चलाने की जरूरत है."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "कोई वैध प्लगिन सक्रिय नहीं था"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"यह उपयोगिता कुछ विस्तृत सूचना को जमा करेगा\n"
+"हार्डवेयर और आपके Red Hat Enterprise Linux सिस्टम के बारे में.\n"
+"सूचना जमा की जाती है और एक अभिलेख को पैकेज किया जाता है\n"
+"/tmp के अंदर, जिसे आप समर्थन प्रतिनिधि के पास भेज सकते हैं.\n"
+"Red Hat इस सूचना को निदानार्थ सिर्फ प्रयोग करेगा\n"
+"और इसे गोपनीय सूचना माना जायेगा.\n"
+"\n"
+"यह प्रक्रिया पूरा करने के लिए कुछ समय लेगा.\n"
+"कोई बदलाव आपके सिस्टम में नहीं बनाया जायेगा.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "ENTER को जारी रखने के लिए दबाएं, या CTRL-C छोड़ने के लिए.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "एक या अधिक प्लगिन ने आपके विन्यास में समस्या पाया है."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "कृपया निम्नलिखित संदेश की समीक्षा करें:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "क्या आप निश्चित हैं कि आप जारी रखना चाहते हैं (y/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/hr/LC_MESSAGES/sos.po b/src/locale/hr/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..cce1263a
--- /dev/null
+++ b/src/locale/hr/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Croatian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/hu/LC_MESSAGES/sos.po b/src/locale/hu/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..9febfbac
--- /dev/null
+++ b/src/locale/hu/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Hungarian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/hy/LC_MESSAGES/sos.po b/src/locale/hy/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..05b68c82
--- /dev/null
+++ b/src/locale/hy/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Armenian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/id/LC_MESSAGES/sos.po b/src/locale/id/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..616b5d6e
--- /dev/null
+++ b/src/locale/id/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Indonesian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ilo/LC_MESSAGES/sos.po b/src/locale/ilo/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..fd19366a
--- /dev/null
+++ b/src/locale/ilo/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Language ilo translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/is/LC_MESSAGES/sos.po b/src/locale/is/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..4402f77d
--- /dev/null
+++ b/src/locale/is/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Icelandic translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/it/LC_MESSAGES/sos.po b/src/locale/it/LC_MESSAGES/sos.po
index cafd4c42..7e6ee4c2 100644
--- a/src/locale/it/LC_MESSAGES/sos.po
+++ b/src/locale/it/LC_MESSAGES/sos.po
@@ -1,33 +1,41 @@
-# SOME DESCRIPTIVE TITLE.
+# translation of it.po to
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2007-08-03 09:39\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Project-Id-Version: it\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-06 15:02+1000\n"
+"Last-Translator: \n"
+"Language-Team: <it@li.org>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
-
-#: lib/sos/policyredhat.py:127
+#: lib/sos/policyredhat.py:203
msgid "Please enter your first initial and last name [%s]: "
msgstr "Inserire l'iniziale del nome e il cognome [%s]: "
-#: lib/sos/policyredhat.py:132
+#: lib/sos/policyredhat.py:206
msgid "Please enter the case number that you are generating this report for: "
msgstr "Inserire il numero del caso a cui si riferisce questo report: "
-#: lib/sos/policyredhat.py:155
+#: lib/sos/policyredhat.py:231
msgid "Creating compressed archive..."
msgstr "Creazione di un archivio compresso in corso..."
-#: lib/sos/policyredhat.py:185
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "Cifratura archivio in corso..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "Si è verificato un problema durante la cifratura di questo report."
+
+#: lib/sos/policyredhat.py:292
msgid ""
"Your sosreport has been generated and saved in:\n"
" %s"
@@ -35,129 +43,147 @@ msgstr ""
"Il sosreport é stato creato e salvato in:\n"
" %s"
-#: lib/sos/policyredhat.py:188
+#: lib/sos/policyredhat.py:295
msgid "The md5sum is: "
msgstr "L'md5sum é: "
-#: lib/sos/policyredhat.py:190
+#: lib/sos/policyredhat.py:297
msgid "Please send this file to your support representative."
-msgstr "E' pregato di inviare questo file al rappresentante del supporto tecnico."
+msgstr "Si prega di inviare questo file al rappresentante del supporto tecnico."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "Impossibile caricare sull'URL specificato."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "Si è verificato un problema durante il caricamento del vostro report su Red Hat support."
-#: sosreport:372
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "Il vostro report è stato caricato con successo sul server ftp di Red Hat con il nome:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "Si prega di inviare questo nome al rappresentante del supporto tecnico."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "Impossibile creare le directory temporanea."
+
+#: sosreport:451
msgid "sosreport (version %s)"
msgstr "sosreport (versione %s)"
-#: sosreport:390
+#: sosreport:468
msgid "plugin %s does not validate, skipping"
msgstr "la plugin %s non é valida e verrà ignorata"
-#: sosreport:394
+#: sosreport:474
msgid "plugin %s skipped (--skip-plugins)"
msgstr "plugin %s disattivata (--skip-plugins)"
-#: sosreport:398
+#: sosreport:478
msgid "plugin %s is inactive (use -e or -o to enable)."
msgstr "plugin %s non é attiva (utilizzare -e o -o per riattivarla)."
-#: sosreport:406
+#: sosreport:486
msgid "plugin %s not specified in --only-plugins list"
msgstr "plugin %s non specificata nella lista --only-plugins"
-#: sosreport:411
+#: sosreport:491
msgid "plugin %s does not install, skipping"
msgstr "non é stato possibile installare la plugin %s"
-#: sosreport:414
-msgid "could not load plugin %s"
-msgstr "impossibile caricare la plugin %s"
-
-#: sosreport:457
+#: sosreport:554
msgid "processing options from plugin: %s"
msgstr "sto processando le opzioni della plugin: %s"
-#: sosreport:468
+#: sosreport:565
msgid "no valid plugins found"
msgstr "nessuna plugin valida é stata trovata"
-#: sosreport:473
+#: sosreport:570
msgid "The following plugins are currently enabled:"
msgstr "Le seguenti plugin sono attive:"
-#: sosreport:478
+#: sosreport:575
msgid "No plugin enabled."
msgstr "Nessuna plugin abilitata."
-#: sosreport:482
+#: sosreport:579
msgid "The following plugins are currently disabled:"
msgstr "Le seguenti plugin sono disattivate:"
-#: sosreport:489
+#: sosreport:586
msgid "The following plugin options are available:"
msgstr "Sono disponibili le seguenti opzioni per la plugin:"
-#: sosreport:509
+#: sosreport:606
msgid "No plugin options available."
msgstr "Nessuna opzione disponibile per le plugins attive."
-#: sosreport:517
+#: sosreport:614
msgid "sosreport requires root permissions to run."
msgstr "sosreport necessita dei permessi di root"
-#: sosreport:524
+#: sosreport:621
msgid "no valid plugins were enabled"
msgstr "non é stata attivata nessuna plugin valida"
-#: sosreport:528
+#: sosreport:624
msgid ""
"This utility will collect some detailed information about the\n"
"hardware and setup of your Red Hat Enterprise Linux system.\n"
"The information is collected and an archive is packaged under\n"
-"/tmp, which you can send to a support rappresentative.\n"
+"/tmp, which you can send to a support representative.\n"
"Red Hat will use this information for diagnostic purposes ONLY\n"
"and it will be considered confidential information.\n"
"\n"
"This process may take a while to complete.\n"
"No changes will be made to your system.\n"
"\n"
-"Press ENTER to continue, or CTRL-C to quit.\n"
msgstr ""
-"Questo programma collezionerà delle informazioni dettagliate\n"
-"su hardware e configurazione del vostro sistema Red Hat\n"
-"Enterprise Linux. Queste informazioni verranno usate per\n"
-"diagnosticare i problemi del vostro sistema e sono considerate\n"
-"strettamente confidenziali. Red Hat utilizzerà questi dati\n"
-"ESCLUSIVAMENTE per scopi diagnostici.\n"
+"Questa utilità raccoglierà alcune informazioni dettagliate\n"
+"sull'hardware e sulla impostazione del vostro sistema Red Hat\n"
+"Enterprise Linux. Queste informazioni verranno archiviate in\n"
+"/tmp, e possono essere inviate ad un rappresentante del supporto tecnico.\n"
+"Red Hat utilizzerà questi dati ESCLUSIVAMENTE per scopi diagnostici e\n"
+"verranno considerate informazioni riservate\n"
"\n"
"Questo processo potrebbe durare alcuni minuti.\n"
-"Non verrà apportata nessuna modifica al vostro sistema.\n"
+"Non verrà apportata alcuna modifica al vostro sistema.\n"
"\n"
-"Premere ENTER per continuare, o CTRL-C per uscire.\n"
-#: sosreport:555
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "Premere INVIO per continuare, o CTRL-C per usicre.\n"
+
+#: sosreport:654
msgid "One or more plugins have detected a problem in your configuration."
-msgstr "Una o più plugin hanno determinato problemi nella configurazione del sistema:"
+msgstr "Una o più plugin hanno causato problemi nella configurazione del sistema:"
-#: sosreport:556
+#: sosreport:655
msgid "Please review the following messages:"
-msgstr "Verifichi i seguenti messaggi:"
+msgstr "Si prega di verificare i seguenti messaggi:"
-#: sosreport:571
+#: sosreport:671
msgid "Are you sure you would like to continue (y/n) ? "
msgstr "E' sicuro di voler continuare (s/n) ? "
-#: sosreport:572
+#: sosreport:672
msgid "Y"
msgstr "S"
-#: sosreport:572
+#: sosreport:672
msgid "y"
msgstr "s"
-#: sosreport:575
+#: sosreport:675
msgid "N"
-msgstr ""
+msgstr "N"
-#: sosreport:575
+#: sosreport:675
msgid "n"
-msgstr ""
+msgstr "n"
diff --git a/src/locale/ja/LC_MESSAGES/sos.po b/src/locale/ja/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..c8bfc5c3
--- /dev/null
+++ b/src/locale/ja/LC_MESSAGES/sos.po
@@ -0,0 +1,191 @@
+# translation of ja.po to Japanese
+# Japanese translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Kiyoto Hashida <khashida@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: ja\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-25 15:42+1000\n"
+"Last-Translator: Kiyoto Hashida <khashida@redhat.com>\n"
+"Language-Team: Japanese <jp@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "名前のイニシャルと姓を記入してください [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "作成しているレポートのケース番号を記入してください :"
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "アーカイブを圧縮しています..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "アーカイブを暗号化しています..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "このレポートの暗号化に問題がありました。"
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"sos レポートが生成されて、以下の場所に保存されました:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum は :"
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "このファイルを担当のサポート代表者に送信してください。"
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "指定された URL にアップロードできません。"
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "レポートを Red Hat サポートにアップロードするのに問題がありました。"
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "レポートは以下の名前で正常に Red Hat の ftp サーバーにアップロードされました:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "担当のサポート代表者とはこの名前を使用して通信してください。"
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "一時ディレクトリを作成できませんでした。"
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sos レポート (バージョン %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "プラグイン %s は認証できません、スキップします"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "プラグイン %s スキップ済み (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "プラグイン %s は休止中です。(-e か -o を使用して有効にします)"
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "プラグイン %s は --only-plugins リストで指定されていません。"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "プラグイン %s は インストールできません。スキップします"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "プラグインからのオプションをプロセスしています: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "有効なプラグインは見付かりません"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "以下のプラグインが現在有効になっています:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "有効なプラグインはありません"
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "以下のプラグインは現在無効になっています:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "以下のプラグインオプションが使用できます:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "プラグインオプションは使用できません。"
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sos レポートは実行するのに root 権限が必要です。"
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "有効な正当プラグインはありませんでした"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"このユーティリティは、ご使用のハードウェアと Red Hat Enterprise Linux システムの \n"
+"セットアップに関する詳細情報を収集します。情報は収集されて、\n "
+"そのアーカイブが /tmp にパッケージされますので、 それをサポート代表者に \n "
+"送信することが出来ます。Red Hat では、この情報を分析の為にのみ使用し、\n "
+"これは個人の内密情報として扱われます。\n"
+"\n"
+"このプロセスは完了するまでしばらく時間がかかるかも知れません。\n "
+"ご使用のシステムは変更されません。\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "ENTER を押して継続するか、又は CTRL-C で終了します。\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "1つ、又は複数のプラグインが現在の設定に問題を検知しています。"
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "以下のメッセージを確認してください:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "本当に継続したいですか (y/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/ka/LC_MESSAGES/sos.po b/src/locale/ka/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..81661a75
--- /dev/null
+++ b/src/locale/ka/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Georgian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/kn/LC_MESSAGES/sos.po b/src/locale/kn/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..15449598
--- /dev/null
+++ b/src/locale/kn/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Kannada translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ko/LC_MESSAGES/sos.po b/src/locale/ko/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..e0d39239
--- /dev/null
+++ b/src/locale/ko/LC_MESSAGES/sos.po
@@ -0,0 +1,191 @@
+# translation of ko.po to
+# Korean translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ko\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-07 09:56+1000\n"
+"Last-Translator: \n"
+"Language-Team: <ko@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "영문 이름의 첫 글자와 성을 입력하십시오[%s]:"
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "이 리포트에 해당하는 문제 번호를 입력하십시오:"
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "압축 아카이브를 생성 중입니다..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "아카이브를 암호화하고 있습니다..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "리포트를 암호화하는 데 문제가 발생했습니다."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"sos 리포트가 생성되었으며 아래에 저장되었습니다:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "이 파일을 지원 담당자에게 보내주시기 바랍니다."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "지정된 URL에서 업로드할 수 없습니다."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "리포트를 Red Hat 지원 센터로 업로드하는 데 문제가 발생했습니다."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "리포트가 다음과 같은 이름으로 Red Hat FTP 서버에 성공적으로 업로드되었습니다:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "지원 담당자와 연락할 때 이 이름을 사용하시기 바랍니다."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "임시 디렉토리를 생성할 수 없습니다."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sos 리포트 (버전 %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "%s 플러그인이 유효하지 않아 생략합니다."
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "%s 플러그인을 생략합니다. (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "%s 플러그인이 비활성화되어 있습니다. (-e 또는 -o 옵션으로 활성화할 수 있습니다.)"
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "%s 플러그인은 --only-plugins 목록에 지정되어 있지 않습니다."
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "%s 플러그인이 설치되지 않아 생략합니다."
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "%s 플러그인 옵션을 처리 중입니다."
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "사용 가능한 플러그인이 없습니다."
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "현재 다음과 같은 플러그인이 활성화되어 있습니다:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "활성화된 플러그인이 없습니다:"
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "현재 다음과 같은 플러그인이 비활성화되어 있습니다:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "다음과 같은 플러그인 옵션을 사용할 수 있습니다:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "사용 가능한 플러그인 옵션이 없습니다:"
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sos 리포트를 실행하려면 루트 권한이 필요합니다."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "활성화된 사용 가능한 플러그인이 없습니다."
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"이 유틸리티는 Red Hat Enterprise Linux 시스템의 하드웨어와 \n"
+"시스템 설정 사항에 대한 상세 정보를 수집하게 됩니다. 수집된 \n"
+"정보는 지원 담당자에게 보낼 수 있도록 /tmp 디렉토리 안에 \n"
+"아카이브로 저장됩니다. "
+"Red Hat은 이 정보를 문제 해결 목적으로만 사용하며 기밀 정보로 \n"
+"취급할 것입니다. \n"
+"\n"
+"이 과정을 모두 완료하는 데 약간의 시간이 소요될 수 있으며, \n"
+"시스템에 아무런 영향을 주지 않습니다. \n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "계속하려면 ENTER를 입력하고, 종료하려면 CTRL-C를 입력하십시오.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "하나 이상의 플러그인이 사용자 설정에서 문제를 발견했습니다."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "다음 메시지를 다시 살펴보시기 바랍니다:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "계속 진행하시겠습니까? (y/n)"
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/ku/LC_MESSAGES/sos.po b/src/locale/ku/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..01927c3d
--- /dev/null
+++ b/src/locale/ku/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Kurdish translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/lo/LC_MESSAGES/sos.po b/src/locale/lo/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..1814dec5
--- /dev/null
+++ b/src/locale/lo/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Laotian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/lt/LC_MESSAGES/sos.po b/src/locale/lt/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..865a1c24
--- /dev/null
+++ b/src/locale/lt/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Lithuanian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
+"100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/lv/LC_MESSAGES/sos.po b/src/locale/lv/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..1dca496c
--- /dev/null
+++ b/src/locale/lv/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Latvian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/mk/LC_MESSAGES/sos.po b/src/locale/mk/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..93a9073f
--- /dev/null
+++ b/src/locale/mk/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Macedonian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ml/LC_MESSAGES/sos.po b/src/locale/ml/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..e570171d
--- /dev/null
+++ b/src/locale/ml/LC_MESSAGES/sos.po
@@ -0,0 +1,191 @@
+# translation of ml.po to Malayalam
+# Malayalam translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Ani Peter <apeter@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: ml\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-06 16:05+0530\n"
+"Last-Translator: Ani Peter <apeter@redhat.com>\n"
+"Language-Team: Malayalam\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "ദയവായി നിങ്ങളുടെ ആദ്യത്തെ ഇനീഷ്യലും അവസാനത്തെ പേരും നല്‍കുക [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "ദയവായി ഈ റിപ്പോറ്‍ട്ടിനുള്ള കേസ് നംബറ്‍ ഇവിടെ നല്‍കുക: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "കംപ്രസ്സ്ഡ് ആറ്‍ക്കൈവ് ഉണ്ടാക്കുന്നു..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "ആറ്‍ക്കൈവ് എന്‍ക്രിപ്റ്റ് ചെയ്യുന്നു..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "നിങ്ങളുടെ റിപ്പോറ്‍ട്ട് എന്‍ക്രിപ്റ്റ് ചെയ്യുന്നതില്‍ ഒരു പ്രശ്നം നേരിട്ടു."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"നിങ്ങളുടെ sosreport ഉണ്ടാക്കി സൂക്ഷിച്ചിരിക്കുന്നത് ഇവിടെയാണ്:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum താഴെ പറഞ്ഞിരിക്കുന്നു: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "നിങ്ങള്‍ക്ക് പിന്തുണ നല്‍കുന്നവറ്‍ക്ക് ഈ ഫയല്‍ അയയ്ക്കുക."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "നല്‍കിയിരിക്കുന്ന URL-ലേക്ക് ഫയല്‍ അപ്ലോഡ് ചെയ്യുവാന്‍ സാധ്യമായില്ല "
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "Red Hat-ലേക്ക് നിങ്ങളുടെ റിപ്പോറ്‍ട്ട് അയയ്ക്കുന്നതില്‍ ഏതോ പ്റശ്നം ഉണ്ടായിരിക്കുന്നു."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "താഴെ പറഞ്ഞിരിക്കുന്ന പേരില്‍ നിങ്ങളുടെ റിപ്പോറ്‍ട്ട് Red Hat-ന്റെ ftp സറ്‍വറില്‍ സൂക്ഷിച്ചിരിക്കുന്നു:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "നിങ്ങള്‍ക്ക് പിന്തുണ ലഭ്യമാക്കുന്നവറ്‍ക്ക് ഈ പേര് അയയ്ക്കുക."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "താല്‍ക്കാലിക ഡയറക്ടറി ഉണ്ടാക്കുവാന്‍ സാധ്യമായില്ല."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (%s ലക്കം)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "%s എന്നത് ശരിയായ പ്ളഗ്ഗിന്‍ അല്ല, വേണ്ടെന്ന് വയ്ക്കുന്നു"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "%s എന്ന പ്ളഗ്ഗിന്‍ വേണ്ടെന്ന് വച്ചിരിക്കുന്നു (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "%s എന്ന പ്ളഗ്ഗിന്‍ (സജ്ജമാക്കുന്നതിനായി -e അല്ലെങ്കില്‍ -o ഉപയോഗിക്കുക)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "--only-plugins എന്ന ലിസ്റ്റില്‍ %s പ്ളഗ്ഗിന്‍ ലഭ്യമല്ല"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "%s എന്ന പ്ളഗ്ഗിന്‍ ഇന്‍സ്റ്റോള്‍ ചെയ്യുവാന്‍ സാധ്യമല്ല, ഉപേക്ഷിക്കുന്നു"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "പ്ളഗ്ഗിനുകളില്‍ നിന്നുള്ള ഉപാധികള്‍ പ്റവറ്‍ത്തിപ്പിക്കുന്നു: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "ശരിയായ പ്ളഗ്ഗിനുകള്‍ ലഭ്യമല്ല"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "താഴെ പറഞ്ഞിരിക്കുന്ന പ്ളഗ്ഗിനുകള്‍ നിലവില്‍ സജീവമാണ്:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "ഒരു പ്ളഗ്ഗിനും സജ്ജമല്ല."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "താഴെ പറഞ്ഞിരിക്കുന്ന പ്ളഗ്ഗിനുകള്‍ നിലവില്‍ നിറ്‍ജ്ജീവമാണ്:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "താഴെ പറഞ്ഞിരിക്കുന്ന പ്ളഗ്ഗിന്‍ ഉപാധികള്‍ ലഭ്യമാണ്:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "പ്ളഗ്ഗിന്‍ ഉപാധികള്‍ ലഭ്യമല്ല."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport പ്റവറ്‍ത്തിപ്പിക്കുന്നതിനായി റൂട്ട് ആയിരിക്കണം."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "ശരിയായ പ്ളഗ്ഗിനുകള്‍ സജ്ജമല്ല"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"ഈ പ്റയോഗം നിങ്ങളുടെ Red Hat Enterprise Linux സിസ്റ്റവും ഹാറ്‍ഡ്‌വെയറും\n"
+"സംബന്ധിച്ചുള്ള വിശദ വിവരങ്ങള്‍ ശേഖരിക്കുന്നു.ശേഖരിച്ച വിവരങ്ങള്‍\n"
+"ഒരു ആറ്‍ക്കൈവ് ആയി /tmp എന്ന ഫോള്‍ഡറില്‍ സൂക്ഷിക്കുന്നു. നിങ്ങള്‍ക്കിത്\n"
+"പിന്തുണ ലഭ്യമാക്കുന്നവറ്‍ക്ക് അയയ്ക്കുവാന്‍ സാധിക്കുന്നു. പ്റശ്നങ്ങള്‍ അറിയുന്നതിനും\n"
+"പരിഹരിക്കുന്നതിനും മാത്റം Red Hat ഈ വിവരങ്ങള്‍ ഉപയോഗിക്കുന്നതാകുന്നു.\n"
+"ഇവ അതീവ രഹസ്യമായി സൂക്ഷിക്കപ്പെടുന്നു.\n"
+"\n"
+"ഈ പ്റക്റിയയ്ക്കായി കുറച്ച് സമയമെടുക്കുന്നു.\n"
+"നിങ്ങളുടെ സിസ്റ്റമില്‍ മാറ്റങ്ങള്‍ വരുത്തുന്നതല്ല.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "മുമ്പോട്ട് തുടരുന്നതിനായി ENTER അല്ലെങ്കില്‍ പുറത്ത് കടക്കുന്നതിനായി CTRL-C അമറ്‍ത്തുക.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "ഒന്നോ അതിലധികമോ പ്ളഗ്ഗിനുകള്‍ക്ക് നിങ്ങളുടെ ക്റമികരണത്തില്‍ തകരാറുണ്ട്."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "താഴെ പറഞ്ഞിരിക്കുന്ന സന്ദേശങ്ങള്‍ ദയവായി വായിക്കുക: "
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "നിങ്ങള്‍ക്ക് തുടരണമെന്ന് ഉറപ്പാണോ?"
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/mr/LC_MESSAGES/sos.po b/src/locale/mr/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..95aace9e
--- /dev/null
+++ b/src/locale/mr/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Marathi translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ms/LC_MESSAGES/sos.po b/src/locale/ms/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..8dd0d654
--- /dev/null
+++ b/src/locale/ms/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Malay translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/my/LC_MESSAGES/sos.po b/src/locale/my/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..c9795f0b
--- /dev/null
+++ b/src/locale/my/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Burmese translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/nb/LC_MESSAGES/sos.po b/src/locale/nb/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..60eda445
--- /dev/null
+++ b/src/locale/nb/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Norwegian Bokmal translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/nl/LC_MESSAGES/sos.po b/src/locale/nl/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..13ab923d
--- /dev/null
+++ b/src/locale/nl/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Dutch translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/nn/LC_MESSAGES/sos.po b/src/locale/nn/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..009640f6
--- /dev/null
+++ b/src/locale/nn/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Norwegian Nynorsk translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/no/LC_MESSAGES/sos.po b/src/locale/no/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..81788af7
--- /dev/null
+++ b/src/locale/no/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Norwegian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/nso/LC_MESSAGES/sos.po b/src/locale/nso/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f94fa245
--- /dev/null
+++ b/src/locale/nso/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Language nso translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/or/LC_MESSAGES/sos.po b/src/locale/or/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f64420bd
--- /dev/null
+++ b/src/locale/or/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Oriya translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/pa/LC_MESSAGES/sos.po b/src/locale/pa/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..a1b82a6d
--- /dev/null
+++ b/src/locale/pa/LC_MESSAGES/sos.po
@@ -0,0 +1,191 @@
+# translation of pa.po to Punjabi
+# Punjabi translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Jaswinder Singh <jsingh@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: pa\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-06 16:55+0530\n"
+"Last-Translator: Jaswinder Singh <jsingh@redhat.com>\n"
+"Language-Team: Punjabi <fedora-trans-pa@redhat.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਪਹਿਲਾ ਅਤੇ ਆਖਰੀ ਨਾਂ ਦਿਓ [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਮੁੱਦਾ ਨੰਬਰ ਦਿਓ ਜੋ ਤੁਸੀਂ ਇਸ ਰਿਪੋਰਟ ਵਿੱਚ ਦੇ ਰਹੇ ਹੋ: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "ਸੰਕੁਚਿਤ ਆਰਚੀਵ ਬਣਾ ਰਿਹਾ ਹੈ..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "ਆਰਚੀਵ ਇਨਕ੍ਰਿਪਟ ਹੋ ਰਿਹਾ ਹੈ..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "ਤੁਹਾਡੀ ਰਿਪੋਰਟ ਇਨਕ੍ਰਿਪਟ ਕਰਨ ਵਿੱਚ ਸਮੱਸਿਆ ਆਈ ਹੈ..."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"ਤੁਹਾਡੀ sosreport ਬਣਾਈ ਗਈ ਹੈ ਅਤੇ ਇੱਥੇ ਸੰਭਾਲੀ ਗਈ ਹੈ:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum ਇਹ ਹੈ: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਇਸ ਫਾਇਲ ਨੂੰ ਆਪਣੇ ਸਹਿਯੋਗ ਪ੍ਰਤੀਨਿਧ ਨੂੰ ਭੇਜੋ।"
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "ਦਿੱਤੇ URL ਤੇ ਅੱਪਲੋਡ ਨਹੀਂ ਕਰ ਸਕਦਾ।"
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "ਤੁਹਾਡੀ ਰਿਪੋਰਟ ਨੂੰ Red Hat ਸਹਿਯੋਗ ਤੇ ਅੱਪਲੋਡ ਕਰਨ ਵੇਲੇ ਗਲਤੀ ਆਈ ਹੈ।"
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "ਤੁਹਾਡੀ ਰਿਪੋਰਟ ਸਫਲਤਾਪੂਰਕ Red Hat ਦੇ ftp ਸਰਵਰ ਤੇ ਇਸ ਨਾਂ ਨਾਲ ਅੱਪਲੋਡ ਹੋ ਗਈ ਹੈ:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਇਸ ਨਾਂ ਨੂੰ ਸਹਿਯੋਗੀ ਪ੍ਰਤੀਨਿਧ ਨਾਲ ਜੋੜੋ।"
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "ਆਰਜੀ ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ ਬਣਾ ਸਕਦਾ।"
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (ਵਰਜਨ %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "ਪਲੱਗਇਨ %s ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਹੈ, ਛੱਡ ਰਿਹਾ ਹੈ"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "ਪਲੱਗਇਨ %s ਛੱਡਿਆ ਹੈ (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "ਪਲੱਗਇਨ %s ਨਾ-ਸਰਗਰਮ ਹੈ ( ਯੋਗ ਕਰਨ ਲਈ use -e ਜਾਂ -o ਵਰਤੋ)।"
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "ਪਲੱਗਇਨ %s ਨੂੰ --only-plugins ਸੂਚੀ ਵਿੱਚ ਨਹੀਂ ਦਿੱਤਾ"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "ਪਲੱਗਇਨ %s ਇੰਸਟਾਲ ਨਹੀਂ ਹੋਇਆ, ਛੱਡ ਰਿਹਾ ਹੈ"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "ਪਲੱਗਇਨ ਤੋਂ ਚੋਣਾਂ ਲੈ ਰਿਹਾ ਹੈ: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "ਕੋਈ ਯੋਗ ਪਲੱਗਿਨ ਨਹੀਂ ਲੱਭਿਆ"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "ਹੇਠਲੇ ਪਲੱਗਇਨ ਯੋਗ ਕੀਤੇ ਹਨ:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "ਕੋਈ ਪਲੱਗਇਨ ਯੋਗ ਨਹੀਂ ਹੈ।"
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "ਹੇਠਲੇ ਪਲੱਗਇਨ ਅਯੋਗ ਹਨ।"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "ਹੇਠਲੀਆਂ ਪਲੱਗਇਨ ਚੋਣਾਂ ਉਪਲੱਬਧ ਹਨ:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "ਕੋਈ ਪਲੱਗਇਨ ਚੋਣ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।"
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport ਚਲਾਉਣ ਲਈ ਪਰਬੰਧਕ ਅਧਿਕਾਰ ਹੋਣੇ ਜਰੂਰੀ ਹਨ।"
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "ਕੋਈ ਸਹੀ ਪਲੱਗਇਨ ਯੋਗ ਨਹੀਂ ਕੀਤਾ"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"ਇਹ ਸਹੂਲਤ ਹਾਰਡਵੇਅਰ ਬਾਰੇ ਕੁਝ ਵਿਸਥਾਰ ਜਾਣਕਾਰੀ ਇਕੱਠੀ\n"
+"ਕਰੇਗੀ ਅਤੇ ਤੁਹਾਡੇ Red Hat Enterprise Linux ਸਿਸਟਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰੇਗੀ।\n"
+"ਜਾਣਕਾਰੀ ਇਕੱਠੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ /tmp ਵਿੱਚ ਇੱਕ ਆਰਚੀਵ ਬਣਾਈ ਜਾਂਦੀ\n"
+"ਹੈ, ਜੋ ਤੁਸੀਂ ਸਹਿਯੋਗ ਪ੍ਰਤੀਨਿਧ ਨੂੰ ਭੇਜ ਸਕਦੇ ਹੋ।\n"
+"Red Hat ਇਸ ਜਾਣਕਾਰੀ ਨੂੰ ਸਿਰਫ ਹੱਲ ਕਰਨ ਲਈ ਵਰਤੇਗਾ\n"
+"ਅਤੇ ਇਹ ਜਾਣਕਾਰੀ ਗੁਪਤ ਰੱਖੀ ਜਾਏਗੀ।\n"
+"\n"
+"ਇਹ ਕਾਰਜ ਮੁਕੰਮਲ ਹੋਣ ਲਈ ਕੁਝ ਸਮਾਂ ਲੈ ਸਕਦਾ ਹੈ।\n"
+"ਤੁਹਾਡੇ ਸਿਸਟਮ ਉੱਪਰ ਕੋਈ ਤਬਦੀਲੀ ਨਹੀਂ ਕੀਤੀ ਜਾਏਗੀ।\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "ਜਾਰੀ ਰੱਖਣ ਲਈ ENTER ਦਬਾਓ, ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ CTRL-C ਦਬਾਓ।\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "ਤੁਹਾਡੀ ਸੰਰਚਨਾ ਵਿੱਚ ਇੱਕ ਜਾਂ ਜਿਆਦਾ ਪਲੱਗਇਨ ਸਮੱਸਿਆ ਪੈਦਾ ਕਰਦੇ ਹਨ।"
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਲੇ ਸੁਨੇਹੇ ਵੇਖੋ:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ (y/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/pl/LC_MESSAGES/sos.po b/src/locale/pl/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..32bab657
--- /dev/null
+++ b/src/locale/pl/LC_MESSAGES/sos.po
@@ -0,0 +1,188 @@
+# translation of pl.po to Polish
+# Piotr Drąg <raven@pmail.pl>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pl\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-25 21:23\n"
+"Last-Translator: Piotr Drąg <raven@pmail.pl>\n"
+"Language-Team: Polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "Podaj swoje imię i nazwisko [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "Podaj numer sprawy, dla której tworzysz ten raport:"
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "Tworzenie skompresowanego archiwum..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "Szyfrowanie archiwum..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "Podczas szyfrowania raportu wystąpił błąd."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"Raport sos został utworzony i zapisany w:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "Suma MD5 to: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "Wyślij ten plik do reprezentanta wsparcia technicznego."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "Nie można wysłać na określony URL."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+"Podczas wysyłania raportu do wsparcia technicznego Red Hata wystąpił błąd."
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+"Raport został pomyślnie wysłany do serwera FTP Red Hata za pomocą tej nazwy:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "Podaj tę nazwę reprezentantowi wsparcia technicznego."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "Nie można utworzyć folderu tymczasowego."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (wersja %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "nie można sprawdzić wtyczki %s, pomijanie"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "wtyczka %s została pominięta (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "wtyczka %s jest nieaktywna (użyj-e lub -o, aby ją włączyć). "
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "nie podano wtyczki %s na liście --only-plugins"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "nie można zainstalować wtyczki %s, pomijanie"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "przetwarzanie opcji wtyczki: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "nie znaleziono prawidłowych wtyczek"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "Następujące wtyczki są obecnie włączone:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "Brak włączonych wtyczek."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "Następujące wtyczki są obecnie wyłączone:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "Następujące wtyczki są dostępne:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "Brak dostępnych wtyczek."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport wymaga uprawnień roota, aby się uruchomić"
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "brak włączonych prawidłowych wtyczek"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"To narzędzie zbiera niektóre szczegółowe informacje o sprzęcie\n"
+"i ustawieniach systemu Red Hat Enterprise Linux. Informacje są\n"
+"zbierane i archiwizowane w formie pakietu w /tmp, który można\n"
+"wysłać reprezentantowi wsparcia technicznego. Red Hat użyje\n"
+"tych informacji TYLKO do celów diagnostycznych i zachowa je\n"
+"jako informacje poufne.\n"
+"\n"
+"Ten proces może chwilę zająć.\n"
+"Żadne zmiany nie będą wprowadzane do systemu.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "Naciśnij ENTER, aby kontynuować lub CTRL-C, aby zakończyć.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "Jedna lub więcej wtyczek wykryły problem w konfiguracji."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "Przejrzyj poniższe komunikaty:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "Czy na pewno chcesz kontynuować (y/n)?"
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
diff --git a/src/locale/pt/LC_MESSAGES/sos.po b/src/locale/pt/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..1586fce7
--- /dev/null
+++ b/src/locale/pt/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Portuguese translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/pt_BR/LC_MESSAGES/sos.po b/src/locale/pt_BR/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..429abb79
--- /dev/null
+++ b/src/locale/pt_BR/LC_MESSAGES/sos.po
@@ -0,0 +1,188 @@
+# Brazilian Portuguese translations for sos package.
+# Igor Pires Soares <igor@projetofedora.org>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: sos\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-26 00:51-0300\n"
+"Last-Translator: Igor Pires Soares <igor@projetofedora.org>\n"
+"Language-Team: Brazilian Portuguese <fedora-trans-pt_br@redhat.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "Por favor, insira a sua primeira inicial e o seu último nome [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "Por favor, insira o número do caso para o qual você está gerando este relatório: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "Criando pacote compactado..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "Criptografando o pacote..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "Houve um problema ao criptografar o seu relatório."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"O seu sosreport foi gerado e salvo em:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "O md5sum é: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "Por favor, envie este arquivo para o seu representante de suporte."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "Não foi possível enviar para a URL especificada."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "Houve um problema ao enviar o seu relatório para o suporte da Red Hat."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "O seu relatório foi enviado com sucesso para o servidor ftp da Red Hat com o nome:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "Por favor, comunique este nome para o seu representante de suporte."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "Não foi possível criar o diretório temporário."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (versão %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "o plugin %s não validou, ignorando"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "plugin %s ignorado (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "o plugin %s está inativo (use -e ou -o para habilitar)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "o plugin %s não está especificado na lista --only-plugins"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "o plugin %s não instala, ignorando"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "processando opções do plugin: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "nenhum plugin válido encontrado"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "Os seguintes plugins estão habilitados no momento:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "Nenhum plugin está habilitado."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "Os seguintes plugins estão desabilitados no momento:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "As seguintes opções de plugins estão disponíveis:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "Nenhuma opção de plugins está disponível."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "o sosreport precisa de permissões de root para ser executado."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "nenhum plugin válido estava habilitado"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"Este utilitário irá coletar algumas informações detalhadas sobre o\n"
+"hardware e a configuração do seu sistema Red Hat Enterprise Linux.\n"
+"As informações são coletadas e um arquivo é empacotado no /tmp,\n"
+"o qual você pode enviar para um representante de suporte.\n"
+"A Red Hat irá utilizar estas informações SOMENTE para o propósito\n"
+"de diagnósticos e serão consideradas como informação confidencial.\n"
+"\n"
+"Este processo pode levar algum tempo para ser concluído.\n"
+"Nenhum alteração será feita no seu sistema.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "Pressione ENTER para continuar ou CTRL-C para encerrar.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "Um ou mais plugins detectaram problemas na sua configuração."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "Por favor, revise as seguintes mensagens:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "Você tem certeza de que gostaria de continuar ? (s/n)"
+
+#: sosreport:672
+msgid "Y"
+msgstr "S"
+
+#: sosreport:672
+msgid "y"
+msgstr "s"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/ro/LC_MESSAGES/sos.po b/src/locale/ro/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..f622e9b1
--- /dev/null
+++ b/src/locale/ro/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Romanian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ru/LC_MESSAGES/sos.po b/src/locale/ru/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..da6c0522
--- /dev/null
+++ b/src/locale/ru/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Russian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/si/LC_MESSAGES/sos.po b/src/locale/si/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..35e3550e
--- /dev/null
+++ b/src/locale/si/LC_MESSAGES/sos.po
@@ -0,0 +1,192 @@
+# translation of si.po to Sinhala
+# Sinhalese translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Danishka Navin <snavin@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: si\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-07 19:03+0530\n"
+"Last-Translator: Danishka Navin <snavin@redhat.com>\n"
+"Language-Team: Sinhala <en@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "කරුණාකර ඔබගේ පළමු මුළකුර සහ අවසාන නම ඇතුළත් කරන්න [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "කරුණාකර මෙම වාර්තාව ගොඩනැන්වීමට අදාල අවස්ථා අංකය ඇතුළත් කරන්න: "
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "හැකිලු සංරක්‍ෂක නිර්මාණය කරමින්..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "සංරක්‍ෂණ සංකේතාංකනය කරමින්..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "ඔබගේ වාර්තාව සංකේතාංනය කිරීමේදි දෝෂයක් ඇතිවිය."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"ඔබගේ sosreport නිර්මාණය වූ අතර සුරකිනු ලැබු යේ:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum වනුයේ: "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "කරුණාකර මෙම ගොනුව ඔබගේ සහායක නියෝජිත වෙත යවන්න."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "දක්වන ලඳ URL වෙත ලබා දිය නොහැක."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "ඔබගේ වාර්තාව Red Hat සහය වෙතට ලබා දිමේදි දෝෂයල් ඇති විය."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "ඔබගේ වාර්තාව සාර්තකව Red Hat's ftp සේවාදායකයට ලබාදුන් අතර නම වූයේ:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "ඔබගේ සහායක නියෝජිත වෙතට සංනිවේදනයට මෙම නම භාවිතා කරන්න."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "තාවකාලීක බහලුම නිර්මාණය කළ නොහැකි විය."
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (%s වෙළුම)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "%s ප්ලගීනය සත්‍යාපනය වන්නේ නැත, මගහරිමින්"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "%s ප්ලගීනය මගහරින ලදි (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "%sප්ලගීනය අක්‍රීයව ඇත ( සක්‍රීය කිරීමට -e හෝ -o භාවිතා කරන්න)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "--only-plugins ලැයිස්තුව තුළ %s ප්ලගීනය විශේෂිතව දක්වා නැත"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "%s ප්ලගීනය ස්ථාපනය වන්නේ නැත, මගහරි"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "ප්ලගීන වෙතින් විකල්ප සකසමින්: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "නිරවද්‍ය පල්ගීන හමුවුයේ නැත"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "පහත දැක්වෙන ප්ලගීන දැනට සක්‍රීයව ඇත:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "ප්ලගීන කිසිවක් සක්‍රීය නැත."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "පහත පල්ගීන විකල්ප දැනට අක්‍රීයව ඇත:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "පහත පල්ගීන විකල්ප භාවිතයට ඇත:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "කිසිදු පල්ගීන විකල්පයක් භාවිතයට නැත."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport ක්‍රියාත්මක වීම සඳහා root අවසර අවශ්‍යව ඇත."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "කිසිදු නිරවද්‍ය පල්ගිනයක් සක්‍රිය කර නැත"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"මෙම උපයෝගි තාවය දෘඩාංග පිළිබදව සවිස්තරාත්මක තොරතුරු රැස්කරණ අතර "
+"ඔබගේ Red Hat Enterprise Linux පද්ධතිය පිහිටවනු ලැබේ.\n"
+"රැස් කළ තොරතුරු සහ සංරක්‍ෂකය /tmp යටතේ ඇසුරුම් ගත කර ඇති අතර ඔබට "
+"එය සහායක නියෝජිත වෙත යැවිය හැක.\n"
+"Red Hat මෙම තොරතුරු භාවිතා කරන්නේ දෝෂ විනිශ්චය පමණක් වන අතර එම "
+"තොරතුරු රහසිගත තොරතුරු ලෙස සළකණු ලබයි.\n"
+"\n"
+"මෙම ක්‍රියාව නිම වීමට වේලාවක් ගතවනු ඇත.\n"
+"ඔබගේ පද්ධතියට කිසිදු වෙනසක් සිදු නොවනු ඇත.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "දිගටම කරගෙන යාමට ENTER හෝ පිට වීමට CTRL-C ඔබන්න.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "ප්ලගීන එකක හෝ කිහිපයක් ඔබගේ ප්ධතිය තුළ වූ දෝෂයක් අනාවරණය කරගෙන ඇත."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "කරුණාකර පහත පණිවිඩ නැවත සළකා බලන්න:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "ඔබට විශ්වාසද? ඔබට දිගටම කරගෙන යාමට අවශ්‍යද (y/n) ? "
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/sk/LC_MESSAGES/sos.po b/src/locale/sk/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..55ecefeb
--- /dev/null
+++ b/src/locale/sk/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Slovak translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/sl/LC_MESSAGES/sos.po b/src/locale/sl/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..631cad61
--- /dev/null
+++ b/src/locale/sl/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Slovenian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/sq/LC_MESSAGES/sos.po b/src/locale/sq/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..530f9aa7
--- /dev/null
+++ b/src/locale/sq/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Albanian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/sr/LC_MESSAGES/sos.po b/src/locale/sr/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..2d46ceee
--- /dev/null
+++ b/src/locale/sr/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Serbian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/sr@latin/LC_MESSAGES/sos.po b/src/locale/sr@latin/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..2d46ceee
--- /dev/null
+++ b/src/locale/sr@latin/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Serbian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/sv/LC_MESSAGES/sos.po b/src/locale/sv/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..3010c699
--- /dev/null
+++ b/src/locale/sv/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Swedish translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ta/LC_MESSAGES/sos.po b/src/locale/ta/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..e517e2e7
--- /dev/null
+++ b/src/locale/ta/LC_MESSAGES/sos.po
@@ -0,0 +1,190 @@
+# translation of ta.po to
+# Tamil translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ta\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-07 14:23+0530\n"
+"Last-Translator: \n"
+"Language-Team: <en@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "உங்கள் பெயரின் முதல் எழுத்து மற்றும் கடைசி பெயரை உள்ளிடவும் [%s]: "
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "இந்த அறிக்கையை உருவாக்க அதற்கான எண்ணை உள்ளிடவும்:"
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "குறுக்கப்பட்ட காப்பினை உருவாக்குகிறது..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "காப்பினை மறைகுறியாக்குகிறது..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "உங்கள் அறிக்கையை மறைகுறியாக்குவதில் சிக்கல்."
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"உங்கள் sosreport உருவாக்கப்பட்டு இதில் சேமிக்கப்பட்டுள்ளது:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum : "
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "இந்த கோப்பினை உங்கள் சேவை பிரதிநிதியிடம் அனுப்பவும்."
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "குறிப்பிட்ட இணைய முகவரியில் ஏற்ற முடியவில்லை."
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "உங்கள் அறிக்கையை Red Hat சேவைக்கு அனுப்புவதில் சிக்கல்."
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "உங்கள் அறிக்கை வெற்றிகரமாக Red Hat ftp சேவையகத்தில் பெயருடன் ஏற்றப்பட்டது:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "இந்த பெயரை உங்கள் சேவை பிரதிநிதியிடம் தெரிவிக்கவும்."
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "தற்காலிக அடைவை உருவாக்க முடியவில்லை"
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (version %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "கூடுதல் இணைப்பு %s தவறாக உள்ளது, எனவே தவிர்க்கிறது"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "கூடுதல் இணைப்பு %s தவிர்க்கப்பட்டது (--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "கூடுதல் இணைப்பு %s செயலிழக்கப்பட்டுள்ளது (-e அல்லது -o ஐ பயன்படுத்தி செயல்படுத்தவும்)."
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "கூடுதல் இணைப்பு %s --only-plugins பட்டியலில் குறிப்பிடப்படவில்லை"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "கூடுதல் இணைப்பு %s நிறுவப்படவில்லை, தவிர்க்கப்படுகிறது"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "கூடுதல் இணைப்பிலிருந்து விருப்பம் செயல்படுகிறது: %s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "சரியான கூடுதல் இணைப்புகள் இல்லை"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "பின்வரும் கூடுதல் இணைப்புகள் தற்போது செயல்படுத்தப்படுகிறது:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "கூடுதல் இணைப்புகள் எதுவும் செயல்படுத்தப்படவில்லை."
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "பின்வரும் கூடுதல் இணைப்புகள் தற்போது செயல்நீக்கப்பட்டுள்ளது:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "பின்வரும் கூடுதல் இணைப்பு விருப்பங்கள் உள்ளன:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "கூடுதல் இணைப்பு விருப்பங்கள் எதுவும் இல்லை."
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreportஐ இயக்க ரூட் அனுமதிகள் வேண்டும்."
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "சரியான கூடுதல் இணைப்புகள் எதுவும் செயல்படுத்தப்படவில்லை"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"இந்த வசதி வன்பொருள் பற்றியும் மற்றும் உங்கள் Red Hat Enterprise \n"
+"Linux கணினியை அமைப்பது பற்றியும் விரிவான தகவலை கொண்டிருக்கும்.\n"
+"இந்த தகவல்கள் சேகரிக்கப்பட்டு /tmpஇல் தொகுக்கப்படுகிறது,\n"
+"இதனை நீங்கள் சேவை பிரதிநிதிக்கு அனுப்பலாம்.\n"
+"Red Hat இந்த தகவலை ஆராய மட்டுமே பயன்படுத்தி\n"
+"இரகசியமாக வைத்து கொள்ளும்.\n"
+"\n"
+"இந்தப் பணி முடிய சிறிது நேரம் ஆகும்.\n"
+"உங்கள் கணினியில் எந்த மாற்றமும் செய்யப்படாது.\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "ENTER ஐ அழுத்தவும் அல்லது CTRL-C ஐ அழுத்தி வெளியேறவும்.\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "ஒன்று அல்லது அதற்கு மேல் கூடுதல் இணைப்புகள் கண்டறியப்பட்டதால் உங்கள் கட்டமைப்பில் பிழை ஏற்பட்டுள்ளது."
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "பின்வரும் செய்திகளை மறுபார்வையிடவும்:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "நீங்கள் தொடர வேண்டுமா (y/n) ?"
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/te/LC_MESSAGES/sos.po b/src/locale/te/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..3b9ccfd8
--- /dev/null
+++ b/src/locale/te/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Telugu translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/th/LC_MESSAGES/sos.po b/src/locale/th/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..86ead703
--- /dev/null
+++ b/src/locale/th/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Thai translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/tr/LC_MESSAGES/sos.po b/src/locale/tr/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..255bf880
--- /dev/null
+++ b/src/locale/tr/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Turkish translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/uk/LC_MESSAGES/sos.po b/src/locale/uk/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..bc6846d5
--- /dev/null
+++ b/src/locale/uk/LC_MESSAGES/sos.po
@@ -0,0 +1,178 @@
+# Ukrainian translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/ur/LC_MESSAGES/sos.po b/src/locale/ur/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..de0ab5d9
--- /dev/null
+++ b/src/locale/ur/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Urdu translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/vi/LC_MESSAGES/sos.po b/src/locale/vi/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..4e713e61
--- /dev/null
+++ b/src/locale/vi/LC_MESSAGES/sos.po
@@ -0,0 +1,177 @@
+# Vietnamese translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/locale/zh_CN/LC_MESSAGES/sos.po b/src/locale/zh_CN/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..b7212e1f
--- /dev/null
+++ b/src/locale/zh_CN/LC_MESSAGES/sos.po
@@ -0,0 +1,192 @@
+# translation of zh_CN.po to Chinese, Simplied(简体中文)
+# Chinese translations for PACKAGE package
+# PACKAGE �ļ���ķ�.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Leah Liu <lliu@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: zh_CN\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-08 09:32+1000\n"
+"Last-Translator: Leah Liu <lliu@redhat.com>\n"
+"Language-Team: Chinese, Simplied(简体中文) <zh_CN@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "请输入您姓名的首写字母和姓 [%s]:"
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "请输入您要生成此报告的事件编号:"
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "生成压缩归档......"
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "为归档加密......"
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "在为您的报告加密时出错。"
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"已经为您生成 sosreport 并保存在:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum 值为:"
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "请将此文件发送给您的支持代表。"
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "无法上传到指定的网址。"
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "在将您的报告上传到红帽支持时出错。"
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "已经成功将您的报告使用以下名称上传到红帽的 ftp 服务器:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "请将此名称告知您的支持代表。"
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "无法生成临时目录。"
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport (version %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "插件 %s 无效,跳过"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "跳过插件 %s(--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "插件 %s 未激活(请使用 -e 或者 -o 将其激活)。"
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "未在 --only-plugins 列表中指定插件 %s"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "未安装插件 %s,跳过"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "插件 %s 的处理选项"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "未发现可用插件"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "目前已启用了以下插件:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "没有启用插件。"
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "目前禁用了以下插件:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "以下插件选项可用:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "没有可用的插件选项。"
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport 需要根权限才可运行。"
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "没有启用任何可用插件"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"此工具程序将收集一些有关硬件和\n"
+"您的红帽企业版 Linux 系统设置的信息。\n"
+"收集这些信息后会在 /tmp 中打包一个归档文件,\n"
+"然后您就可将这个归档发送给您的支持代表。\n"
+"红帽将只以诊断为目的使用这些信息,\n"
+"并将其视为保密信息。\n"
+"\n"
+"这个过程要过一会儿才能完成。\n"
+"不会对您的系统做任何修改。\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "按 ENTER 键继续,或者 CTRL-C 组合键退出。\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "一个或者更多的插件检测出您的配置中的问题。"
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "请浏览以下信息:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "您确定要继续吗(y/n)?"
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N "
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/zh_TW/LC_MESSAGES/sos.po b/src/locale/zh_TW/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..1ef4f9fe
--- /dev/null
+++ b/src/locale/zh_TW/LC_MESSAGES/sos.po
@@ -0,0 +1,190 @@
+# translation of zh_TW.po to Chinese, Tradition
+# Chinese translations for PACKAGE package
+# traditional Chinese translation for PACKAGE.
+# Copyright (C) 2007 ORGANIZATION
+#
+# Automatically generated, 2007.
+# Chester Cheng <ccheng@redhat.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: zh_TW\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-11-07 15:10+1000\n"
+"Last-Translator: Chester Cheng <ccheng@redhat.com>\n"
+"Language-Team: Chinese, Tradition <zh_TW@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr "請輸入您的頭文字與姓 [%s]:"
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr "請輸入本報告的編號:"
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr "建立壓縮檔..."
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr "加密壓縮檔..."
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr "壓縮您的報告時出現問題。"
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+"您的 sosreport 報告已經產生,並儲存於:\n"
+" %s"
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr "md5sum 檢查碼為:"
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr "請將這檔案傳送給技術人員。"
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr "無法上傳指定的網址。"
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr "將報告上傳至 Red Hat 技術支援時,出現問題。"
+
+#: lib/sos/policyredhat.py:362
+msgid "Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr "您的報告已經成功地傳送至 Red Hat 的 FTP 伺服器,名稱為:"
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr "請將這名稱告知您的技術支援人員。"
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr "無法建立暫存目錄。"
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr "sosreport(版本 %s)"
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr "嵌入程式無法驗證,故而跳過"
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr "跳過嵌入程式 %s(--skip-plugins)"
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr "嵌入程式 %s 已經停用(請使用 -e 或 -o 啟用)。"
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr "嵌入程式 %s 並沒有在 --only-plugins 清單中指定"
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr "未安裝嵌入程式 %s,故而跳過"
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr "嵌入程式的處理選項:%s"
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr "找不到正確的嵌入程式"
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr "目前以下嵌入程式已經啟用:"
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr "並未啟用任何嵌入程式。"
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr "目前以下嵌入程式已經停用:"
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr "嵌入程式有以下選項可用:"
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr "沒有可用的嵌入程式選項。"
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr "sosreport 需要 root 權限才可以執行。"
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr "並未啟用合用的嵌入程式"
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+"這工具程式會蒐集 Red Hat Enterprise Linux 的硬體與設定資訊。\n"
+"這些資訊被蒐集後,會以壓縮檔形式備份於 /tmp/ 目錄中,您可以將\n"
+"這些訊息傳給技術人員以尋求支持。Red Hat 將這些資訊視為機密,\n"
+"「只會」將這些資訊拿來作為診斷問題之用。\n"
+"\n"
+"這過程會花上一點時間。\n"
+"您的系統不會有任何改變。\n"
+"\n"
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr "請按下「Enter」繼續,或按下「CTRL-C」離開。\n"
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr "一或多個嵌入程式在您的設定中偵測到一個問題。"
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr "請檢視以下訊息:"
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr "確定要繼續嗎 (y/n) ?"
+
+#: sosreport:672
+msgid "Y"
+msgstr "Y"
+
+#: sosreport:672
+msgid "y"
+msgstr "y"
+
+#: sosreport:675
+msgid "N"
+msgstr "N"
+
+#: sosreport:675
+msgid "n"
+msgstr "n"
+
diff --git a/src/locale/zu/LC_MESSAGES/sos.po b/src/locale/zu/LC_MESSAGES/sos.po
new file mode 100644
index 00000000..5cae0a56
--- /dev/null
+++ b/src/locale/zu/LC_MESSAGES/sos.po
@@ -0,0 +1,176 @@
+# Zulu translations for PACKAGE package.
+# Copyright (C) 2007 ORGANIZATION
+# Automatically generated, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-10-24 08:45\n"
+"PO-Revision-Date: 2007-10-24 08:45\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+
+#: lib/sos/policyredhat.py:203
+msgid "Please enter your first initial and last name [%s]: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:206
+msgid "Please enter the case number that you are generating this report for: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:231
+msgid "Creating compressed archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:253
+msgid "Encrypting archive..."
+msgstr ""
+
+#: lib/sos/policyredhat.py:271
+msgid "There was a problem encrypting your report."
+msgstr ""
+
+#: lib/sos/policyredhat.py:292
+msgid ""
+"Your sosreport has been generated and saved in:\n"
+" %s"
+msgstr ""
+
+#: lib/sos/policyredhat.py:295
+msgid "The md5sum is: "
+msgstr ""
+
+#: lib/sos/policyredhat.py:297
+msgid "Please send this file to your support representative."
+msgstr ""
+
+#: lib/sos/policyredhat.py:323
+msgid "Cannot upload to specified URL."
+msgstr ""
+
+#: lib/sos/policyredhat.py:360
+msgid "There was a problem uploading your report to Red Hat support."
+msgstr ""
+
+#: lib/sos/policyredhat.py:362
+msgid ""
+"Your report was successfully uploaded to Red Hat's ftp server with name:"
+msgstr ""
+
+#: lib/sos/policyredhat.py:365
+msgid "Please communicate this name to your support representative."
+msgstr ""
+
+#: sosreport:395
+msgid "Could not create temporary directory."
+msgstr ""
+
+#: sosreport:451
+msgid "sosreport (version %s)"
+msgstr ""
+
+#: sosreport:468
+msgid "plugin %s does not validate, skipping"
+msgstr ""
+
+#: sosreport:474
+msgid "plugin %s skipped (--skip-plugins)"
+msgstr ""
+
+#: sosreport:478
+msgid "plugin %s is inactive (use -e or -o to enable)."
+msgstr ""
+
+#: sosreport:486
+msgid "plugin %s not specified in --only-plugins list"
+msgstr ""
+
+#: sosreport:491
+msgid "plugin %s does not install, skipping"
+msgstr ""
+
+#: sosreport:554
+msgid "processing options from plugin: %s"
+msgstr ""
+
+#: sosreport:565
+msgid "no valid plugins found"
+msgstr ""
+
+#: sosreport:570
+msgid "The following plugins are currently enabled:"
+msgstr ""
+
+#: sosreport:575
+msgid "No plugin enabled."
+msgstr ""
+
+#: sosreport:579
+msgid "The following plugins are currently disabled:"
+msgstr ""
+
+#: sosreport:586
+msgid "The following plugin options are available:"
+msgstr ""
+
+#: sosreport:606
+msgid "No plugin options available."
+msgstr ""
+
+#: sosreport:614
+msgid "sosreport requires root permissions to run."
+msgstr ""
+
+#: sosreport:621
+msgid "no valid plugins were enabled"
+msgstr ""
+
+#: sosreport:624
+msgid ""
+"This utility will collect some detailed information about the\n"
+"hardware and setup of your Red Hat Enterprise Linux system.\n"
+"The information is collected and an archive is packaged under\n"
+"/tmp, which you can send to a support representative.\n"
+"Red Hat will use this information for diagnostic purposes ONLY\n"
+"and it will be considered confidential information.\n"
+"\n"
+"This process may take a while to complete.\n"
+"No changes will be made to your system.\n"
+"\n"
+msgstr ""
+
+#: sosreport:638
+msgid "Press ENTER to continue, or CTRL-C to quit.\n"
+msgstr ""
+
+#: sosreport:654
+msgid "One or more plugins have detected a problem in your configuration."
+msgstr ""
+
+#: sosreport:655
+msgid "Please review the following messages:"
+msgstr ""
+
+#: sosreport:671
+msgid "Are you sure you would like to continue (y/n) ? "
+msgstr ""
+
+#: sosreport:672
+msgid "Y"
+msgstr ""
+
+#: sosreport:672
+msgid "y"
+msgstr ""
+
+#: sosreport:675
+msgid "N"
+msgstr ""
+
+#: sosreport:675
+msgid "n"
+msgstr ""
diff --git a/src/setup.py b/src/setup.py
index b64c3593..8745c857 100644
--- a/src/setup.py
+++ b/src/setup.py
@@ -9,6 +9,6 @@ setup(
packages = ['sos', 'sos.plugins'],
scripts = [],
package_dir = {'': 'lib',},
- data_files = [ ('/usr/sbin', ['sosreport', 'extras/sysreport/sysreport.legacy']), ('/usr/bin', ['extras/rh-upload-core']), ('/usr/share/sysreport', ['extras/sysreport/text.xsl', 'extras/sysreport/functions', 'extras/sysreport/sysreport-fdisk']), ('/usr/share/man/man1', ['sosreport.1']), ('/usr/share/locale/en', []), ('/usr/share/locale/it', []), ('/usr/share/locale/en/LC_MESSAGES', ['locale/en/LC_MESSAGES/sos.mo']), ('/usr/share/locale/it/LC_MESSAGES', ['locale/it/LC_MESSAGES/sos.mo']), ('/usr/share/locale/fr/LC_MESSAGES', ['locale/fr/LC_MESSAGES/sos.mo']), ('/usr/share/locale/ar/LC_MESSAGES', ['locale/ar/LC_MESSAGES/sos.mo'])
+ data_files = [ ('/etc', [ 'sos.conf']), ('/usr/sbin', ['sosreport', 'extras/sysreport/sysreport.legacy']), ('/usr/bin', ['extras/rh-upload-core']), ('/usr/share/sysreport', ['extras/sysreport/text.xsl', 'extras/sysreport/functions', 'extras/sysreport/sysreport-fdisk']), ('/usr/share/man/man1', ['sosreport.1']), ('/usr/share/locale/en', []), ('/usr/share/locale/it', []), ('/usr/share/locale/en/LC_MESSAGES', ['locale/en/LC_MESSAGES/sos.mo']), ('/usr/share/locale/it/LC_MESSAGES', ['locale/it/LC_MESSAGES/sos.mo']), ('/usr/share/locale/fr/LC_MESSAGES', ['locale/fr/LC_MESSAGES/sos.mo']), ('/usr/share/locale/ar/LC_MESSAGES', ['locale/ar/LC_MESSAGES/sos.mo'])
]
)
diff --git a/src/sos-internal.spec b/src/sos-internal.spec
index c5ddf950..2406175e 100644
--- a/src/sos-internal.spec
+++ b/src/sos-internal.spec
@@ -1,21 +1,24 @@
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%define name sos-internal
-%define version 1.0
+%define version 1.8
%define release 0
-Summary: Red Hat Support GPG private key
+Summary: SoS internal utilities for report analysis
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Group: Application/Tools
-Source0: rhsupport.pub
-Source1: rhsupport.key
+Source0: sos-%{version}.tar.gz
+Source1: rhsupport.pub
+Source2: rhsupport.key
License: GPL
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildArch: noarch
-Url: http://hosted.fedoraproject.org/projects/sos
+Url: https://hosted.fedoraproject.org/projects/sos
+Requires: python-cherrypy
+Requires: python-sqlite2
%description
Sos is a set of tools that gathers information about system
@@ -23,22 +26,44 @@ hardware and configuration. The information can then be used for
diagnostic purposes and debugging. Sos is commonly used to help
support technicians and developers.
+%prep
+tar xfz %{SOURCE0}
+
%install
rm -rf ${RPM_BUILD_ROOT}
-install -D -m600 %{SOURCE0} ${RPM_BUILD_ROOT}/usr/share/sos/rhsupport.pub
-install -D -m644 %{SOURCE1} ${RPM_BUILD_ROOT}/usr/share/sos/rhsupport.key
+
+cd sos-%{version}
+
+install -D -m755 extras/sos-open ${RPM_BUILD_ROOT}/usr/bin/sos-open
+install -D -m755 extras/sos-html-logs/sos-html-logs ${RPM_BUILD_ROOT}/usr/bin/sos-html-logs
+
+mkdir -p ${RPM_BUILD_ROOT}/%{python_sitelib}/soshtmllogs/parsers
+install -D -m644 extras/sos-html-logs/lib/*.py -t ${RPM_BUILD_ROOT}/%{python_sitelib}/soshtmllogs
+install -D -m644 extras/sos-html-logs/lib/parsers/*.py extras/sos-html-logs/lib/parsers/*.rules -t ${RPM_BUILD_ROOT}/%{python_sitelib}/soshtmllogs/parsers
+
+mkdir -p ${RPM_BUILD_ROOT}/usr/share
+cp -r extras/sos-html-logs/share ${RPM_BUILD_ROOT}/usr/share/sos-html-logs
+
+install -D -m644 %{SOURCE1} ${RPM_BUILD_ROOT}/usr/share/sos/rhsupport.pub
+install -D -m600 %{SOURCE2} ${RPM_BUILD_ROOT}/usr/share/sos/rhsupport.key
%clean
rm -rf ${RPM_BUILD_ROOT}
%post
-/usr/bin/gpg --import /usr/share/sos/rhsupport.pub
-/usr/bin/gpg --allow-secret-key-import --import /usr/share/sos/rhsupport.key
+echo -n "Importing GPG keys... "
+/usr/bin/gpg --import /usr/share/sos/rhsupport.pub &> /dev/null
+/usr/bin/gpg --allow-secret-key-import --import /usr/share/sos/rhsupport.key &> /dev/null
+echo "done."
%files
%defattr(-,root,root,-)
/usr/share/sos/rhsupport.pub
/usr/share/sos/rhsupport.key
+/usr/bin/sos-html-logs
+/usr/bin/sos-open
+/%{python_sitelib}/soshtmllogs
+/usr/share/sos-html-logs
%changelog
* Wed Sep 4 2007 Navid Sheikhol-Eslami <navid at redhat dot com> - 1.0
diff --git a/src/sos.conf b/src/sos.conf
new file mode 100644
index 00000000..dac02c0d
--- /dev/null
+++ b/src/sos.conf
@@ -0,0 +1,14 @@
+[general]
+
+ftp_upload_url = ftp://dropbox.redhat.com/incoming
+gpg_keyring = /usr/share/sos/rhsupport.pub
+gpg_recipient = support@redhat.com
+
+[plugins]
+
+#disable = plugin1
+#disable = plugin2
+
+[tunables]
+
+#rpm.rpmva = off
diff --git a/src/sos.spec b/src/sos.spec
index ce0e9136..dfece395 100644
--- a/src/sos.spec
+++ b/src/sos.spec
@@ -20,10 +20,10 @@ Source1: rhsupport.pub
License: GPL
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildArch: noarch
-Url: http://hosted.fedoraproject.org/projects/sos
+Url: https://hosted.fedoraproject.org/projects/sos
BuildRequires: python-devel
Requires: libxml2-python
-Provides: sysreport = 1.3.15-8
+Provides: sysreport = 1.4.3-13
Obsoletes: sysreport
%description
@@ -59,8 +59,61 @@ rm -rf ${RPM_BUILD_ROOT}
%{_mandir}/man1/sosreport.1*
%{_localedir}/*/LC_MESSAGES/sos.mo
%doc README README.rh-upload-core TODO LICENSE ChangeLog
+%config /etc/sos.conf
%changelog
+* Wed Nov 21 2007 Navid Sheikhol-Eslami <navid at redhat dot com> - 1.8-0
+- sosGetCommandOutput() does not block on hung processes (bz368261)
+- work-around missing traceback.format_exc() in RHEL4 (bz361861)
+- device-mapper: use /sbin/lvm_dump to collect dm related info (bz394781)
+- unattended --batch option (bz386691)
+- sos could hang when accessing /sys/hypervisor/uuid (bz371251)
+- added --debug option which causes exceptions not to be trapped
+- updated to sysreport-1.4.3-13.el5
+- ftp upload to dropbox with --upload
+- cluster: major rewrite to support different versions of RHEL
+- cluster: check rg_test for errors
+- minor changes in various plug-ins (yum, networking, process, kernel)
+- fixed some exceptions in threads which were not properly trapped
+- veritas: don't run rpm -qa every time
+- using rpm's python bindings instead of external binary
+- corrected autofs and ldap plugin that were failing when debug option was not found in config file.
+- implemented built-in checkdebug() that uses self.files and self.packages to make the decision
+- missing binaries are properly detected now.
+- better doExitCode handling
+- fixed problem with rpm module intercepting SIGINT
+- error when user specifies an invalid plugin or plugin option
+- named: fixed indentation
+- replaced isOptionEnabled() with getOption()
+- tune2fs and fdisk were not always run against the correct devices/mountpoint
+- added gpg key to package
+- updated README with new svn repo and contributors
+- updated manpage
+- better signal handling
+- caching of rpm -q outputs
+- report filename includes rhnUsername if available
+- report encryption via gpg and support pubkey
+- autofs: removed redundant files
+- filesys: better handling of removable devices
+- added sosReadFile() returns a file's contents
+- return after looping inside a directory
+- collect udevinfo for each block device
+- simply collect output of fdisk -l in one go
+- handle sysreport invocation properly (warn if shell is interactive, otherwise spawn sysreport.legacy)
+- progress bar don't show 100% until finished() is called
+- added lspci -t (bz238778)
+- now runs on RHEL3 as well (python 2.2)
+- replaced commonPrefix() with faster code
+- filesys: one fdisk -l for all
+- selinux: collect fixfilex check output
+- devicemapper: collect udevinfo for all block devices
+- cluster: validate node names according to RFC 2181
+- systemtap: cleaned up and added checkenabled() method
+- added kdump plugin
+- added collection of /etc/inittab
+- apply regex to case number in sysreport for RHEL4 (bz332151)
+- apply regex to case number in sysreport for RHEL5 (bz332211)
+
* Wed Aug 13 2007 Navid Sheikhol-Eslami <navid at redhat dot com> - 1.7-8
- added README.rh-upload-core
diff --git a/src/sosreport b/src/sosreport
index d8b631ae..9bb9f873 100755
--- a/src/sosreport
+++ b/src/sosreport
@@ -28,6 +28,7 @@ supplied for application-specific information
import sys
import os
from optparse import OptionParser, Option
+import ConfigParser
import sos.policyredhat
from sos.helpers import *
from snack import *
@@ -370,6 +371,10 @@ def sosreport():
global loadedplugins, dstroot, policy
+ config = ConfigParser.ConfigParser()
+ try: config.readfp(open('/etc/sos.conf'))
+ except IOError: pass
+
loadedplugins = []
skippedplugins = []
alloptions = []
@@ -437,7 +442,7 @@ def sosreport():
# set up dict so everyone can share the following
commons = {'dstroot': dstroot, 'cmddir': cmddir, 'logdir': logdir, 'rptdir': rptdir,
'soslog': soslog, 'policy': policy, 'verbosity' : __cmdLineOpts__.verbosity,
- 'xmlreport' : xmlrep, 'cmdlineopts':__cmdLineOpts__ }
+ 'xmlreport' : xmlrep, 'cmdlineopts':__cmdLineOpts__, 'config':config }
# Make policy aware of the commons
policy.setCommons(commons)
@@ -495,6 +500,14 @@ def sosreport():
if type(parms["enabled"])==bool:
parms["enabled"] = True
+ # read plugin tunables from configuration file
+ if config.has_section("tunables"):
+ if not __cmdLineOpts__.plugopts:
+ __cmdLineOpts__.plugopts = []
+
+ for opt, val in config.items("tunables"):
+ __cmdLineOpts__.plugopts.append(opt + "=" + val)
+
if __cmdLineOpts__.plugopts:
opts = {}
for opt in __cmdLineOpts__.plugopts:
@@ -504,7 +517,7 @@ def sosreport():
except:
val=True
else:
- if val == "off" or val == "disable" or val == "disabled":
+ if val.lower() in ["off", "disable", "disabled", "false"]:
val = False
else:
# try to convert string "val" to int()
@@ -626,11 +639,11 @@ and it will be considered confidential information.
This process may take a while to complete.
No changes will be made to your system.
-Press ENTER to continue, or CTRL-C to quit.
""")
if __cmdLineOpts__.batch:
print msg
else:
+ msg += _("""Press ENTER to continue, or CTRL-C to quit.\n""")
try: raw_input(msg)
except: print ; doExit()
del msg
@@ -829,7 +842,7 @@ Press ENTER to continue, or CTRL-C to quit.
except:
if __raisePlugins__:
raise
-
+
# package up the results for the support organization
policy.packageResults()