diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fdd102c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/processcsv.py.pod +SOURCES/virt-top-1.0.8.tar.gz diff --git a/.virt-top.metadata b/.virt-top.metadata new file mode 100644 index 0000000..8f21eb1 --- /dev/null +++ b/.virt-top.metadata @@ -0,0 +1,2 @@ +31254fa2ab496eb18f7112733e418ee3c24761b7 SOURCES/processcsv.py.pod +97d524405e9ac7fa86ff4410c1f7e10811a70bd1 SOURCES/virt-top-1.0.8.tar.gz diff --git a/SOURCES/0001-Disable-warning-about-immutable-strings-for-OCaml-4..patch b/SOURCES/0001-Disable-warning-about-immutable-strings-for-OCaml-4..patch new file mode 100644 index 0000000..483b3cc --- /dev/null +++ b/SOURCES/0001-Disable-warning-about-immutable-strings-for-OCaml-4..patch @@ -0,0 +1,50 @@ +From 0e47961395eec78b1ee9f6ae48520f1d95d84fdf Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 2 Aug 2014 17:37:21 +0100 +Subject: [PATCH 01/20] Disable warning about immutable strings (for OCaml + 4.02). + +--- + Makefile.in | 2 +- + virt-top/Makefile.in | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 32e0b66..b310e58 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,5 +1,5 @@ + # virt-top +-# Copyright (C) 2007-2009 Red Hat Inc., Richard W.M. Jones ++# Copyright (C) 2007-2014 Red Hat Inc., Richard W.M. Jones + # + # This library is free software; you can redistribute it and/or + # modify it under the terms of the GNU Lesser General Public +diff --git a/virt-top/Makefile.in b/virt-top/Makefile.in +index 5aa0c35..98e6647 100755 +--- a/virt-top/Makefile.in ++++ b/virt-top/Makefile.in +@@ -1,5 +1,5 @@ + # virt-top +-# Copyright (C) 2007-2009 Red Hat Inc., Richard W.M. Jones ++# Copyright (C) 2007-2014 Red Hat Inc., Richard W.M. Jones + # + # 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 +@@ -64,11 +64,11 @@ OBJS += virt_top_main.cmo + + XOBJS := $(OBJS:.cmo=.cmx) + +-OCAMLCFLAGS := -g -warn-error A ++OCAMLCFLAGS := -g -warn-error A-3 + OCAMLCLIBS := -linkpkg + + OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) +-OCAMLOPTFLAGS := -warn-error A ++OCAMLOPTFLAGS := -warn-error A-3 + OCAMLOPTLIBS := $(OCAMLCLIBS) + + BYTE_TARGETS := virt-top +-- +2.19.0.rc0 + diff --git a/SOURCES/0002-Move-upstream-translations-from-Tranifex-to-Zanata.patch b/SOURCES/0002-Move-upstream-translations-from-Tranifex-to-Zanata.patch new file mode 100644 index 0000000..7ab5146 --- /dev/null +++ b/SOURCES/0002-Move-upstream-translations-from-Tranifex-to-Zanata.patch @@ -0,0 +1,167 @@ +From 6ea4275b0d9f6d40b8d4a35f78928e71d830d721 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 21 Feb 2015 17:27:59 +0000 +Subject: [PATCH 02/20] Move upstream translations from Tranifex to Zanata. + +This is at the request of the Fedora localization team. +For further information see: + +https://www.redhat.com/archives/libguestfs/2015-February/msg00168.html +--- + po/zanata-pull.sh | 30 +++++++++++++ + po/zanata.xml | 106 ++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 136 insertions(+) + create mode 100755 po/zanata-pull.sh + create mode 100644 po/zanata.xml + +diff --git a/po/zanata-pull.sh b/po/zanata-pull.sh +new file mode 100755 +index 0000000..d051b7a +--- /dev/null ++++ b/po/zanata-pull.sh +@@ -0,0 +1,30 @@ ++#!/bin/bash - ++# Pull translations from Zanata. ++# Copyright (C) 2011-2015 Red Hat Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++set -e ++ ++echo zanata po pull ++zanata po pull ++ ++# Remove PO files that have no translations in them. ++for f in *.po; do ++ if ! grep -q '^msgstr "[^"]' $f; then ++ echo rm $f ++ rm $f ++ fi ++done +diff --git a/po/zanata.xml b/po/zanata.xml +new file mode 100644 +index 0000000..64810f9 +--- /dev/null ++++ b/po/zanata.xml +@@ -0,0 +1,106 @@ ++ ++ ++ https://fedora.zanata.org ++ virt-top ++ master ++ gettext ++ ++ ++ sq ++ ar ++ as ++ ast ++ bal ++ eu ++ bn ++ bn-IN ++ brx ++ bs ++ br ++ bg ++ ca ++ zh-CN ++ zh-HK ++ zh-TW ++ kw ++ kw-GB ++ cs ++ da ++ nl ++ en-GB ++ eo ++ et ++ fi ++ fr ++ gl ++ ka ++ de ++ el ++ gu ++ he ++ hi ++ hu ++ is ++ id ++ ia ++ it ++ ja ++ kn ++ kk ++ km ++ ky ++ ko ++ lt ++ nds ++ mk ++ mai ++ ms ++ ml ++ mr ++ mn ++ ne ++ nb ++ nn ++ or ++ pa ++ fa ++ pl ++ pt ++ pt-BR ++ ro ++ ru ++ sr ++ sr@latin ++ si ++ sk ++ sl ++ es ++ sv ++ tg ++ ta ++ te ++ bo ++ tr ++ uk ++ ur ++ wba ++ cy ++ lv ++ kw@uccor ++ kw@kkcor ++ af ++ am ++ be ++ hr ++ de-CH ++ th ++ vi ++ zu ++ ilo ++ nso ++ tw ++ yo ++ anp ++ ++ ++ +-- +2.19.0.rc0 + diff --git a/SOURCES/0003-Update-translations-from-Zanata.patch b/SOURCES/0003-Update-translations-from-Zanata.patch new file mode 100644 index 0000000..ff268f5 --- /dev/null +++ b/SOURCES/0003-Update-translations-from-Zanata.patch @@ -0,0 +1,4188 @@ +From defe5bdd4a32e0206a786d279e0f9cfc238e5e17 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 21 Feb 2015 17:29:16 +0000 +Subject: [PATCH 03/20] Update translations from Zanata. + +--- + po/LINGUAS | 12 +- + po/as.po | 8 +- + po/ca.po | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++ + po/de.po | 8 +- + po/es.po | 8 +- + po/eu.po | 339 +++++++++++++++++++++++++++++++++++++++++++++++++ + po/fr.po | 8 +- + po/gu.po | 8 +- + po/hu.po | 356 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + po/id.po | 345 ++++++++++++++++++++++++++++++++++++++++++++++++++ + po/it.po | 8 +- + po/ja.po | 8 +- + po/ka.po | 339 +++++++++++++++++++++++++++++++++++++++++++++++++ + po/kn.po | 8 +- + po/ml.po | 8 +- + po/mr.po | 8 +- + po/nl.po | 8 +- + po/or.po | 8 +- + po/pa.po | 339 +++++++++++++++++++++++++++++++++++++++++++++++++ + po/pl.po | 8 +- + po/pt.po | 8 +- + po/pt_BR.po | 10 +- + po/ru.po | 8 +- + po/sr.po | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++ + po/sv.po | 352 +++++++++++++++++++++++++++++++++++++++++++++++++++ + po/te.po | 8 +- + po/tg.po | 338 +++++++++++++++++++++++++++++++++++++++++++++++++ + po/tr.po | 339 +++++++++++++++++++++++++++++++++++++++++++++++++ + po/uk.po | 8 +- + po/zh_CN.po | 10 +- + po/zh_TW.po | 10 +- + 31 files changed, 3551 insertions(+), 84 deletions(-) + create mode 100644 po/ca.po + create mode 100644 po/eu.po + create mode 100644 po/hu.po + create mode 100644 po/id.po + create mode 100644 po/ka.po + create mode 100644 po/pa.po + create mode 100644 po/sr.po + create mode 100644 po/sv.po + create mode 100644 po/tg.po + create mode 100644 po/tr.po + +diff --git a/po/LINGUAS b/po/LINGUAS +index 66e671c..b2c02a2 100644 +--- a/po/LINGUAS ++++ b/po/LINGUAS +@@ -1,20 +1,30 @@ + as ++ca + de + es ++eu + fr + gu ++hu ++id + it + ja ++ka + kn + ml + mr + nl + or ++pa + pl +-pt + pt_BR ++pt + ru ++sr ++sv + te ++tg ++tr + uk + zh_CN + zh_TW +diff --git a/po/as.po b/po/as.po +index 0bcca8b..260415e 100644 +--- a/po/as.po ++++ b/po/as.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-23 10:18+0000\n" ++"PO-Revision-Date: 2011-03-23 06:18-0400\n" + "Last-Translator: ngoswami \n" + "Language-Team: Assamese \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: as\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/ca.po b/po/ca.po +new file mode 100644 +index 0000000..09313aa +--- /dev/null ++++ b/po/ca.po +@@ -0,0 +1,355 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# Robert Antoni Buj i Gelonch, 2015 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2015-02-05 04:28-0500\n" ++"Last-Translator: Robert Antoni Buj i Gelonch\n" ++"Language-Team: Catalan (http://www.transifex.com/projects/p/virttop/language/ca/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: ca\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "# %s fitxer de configuració de virt-top\\n" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "# Habilita la sortida CSV al fitxer named\\n" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++"# Per protegir aquest fitxer sigui sobreescrit, descomenteu la següent " ++"línia\\n" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++"# Per a enviar missatges de depuració o d'error a un fitxer, descomenteu la " ++"següent línia\\n" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "# generat el %s per %s\\n" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++"%d dominis, %d en actiu, %d en execució, %d dormint, %d en pausa, %d " ++"inactius D:%d O:%d X:%d" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "%s: la pantalla hauria de ser %s" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "%s: l'ordre d'ordenació hauria de ser: %s" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "%s: paràmetre desconegut" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "%s:%d: l'element de la configuració «%s» s'ha ignorat\\n%!" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "-d: no pot establir un retard negatiu" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "Mode per lots" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "Sol·licituds de lectura de blocs" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "Sol·licituds d'escriptura de blocs" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB per als amfitrions)" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "Canvia el retard de %.1f a: " ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "Connecta a la URI (predeterminat: Xen)" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "Connexió: %s; Nom d'amfitrió: %s" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "MODES DE VISUALITZACIÓ" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "El retard ha de ser > 0" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "Interval del retard (segons)" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "Retard: %.1f seg; Per lots: %s; Seguretat: %s; Ordenació: %s" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "En el CSV, deshabilita les estadístiques de la CPU" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "En el CSV, deshabilita les estadístiques dels dispositius de blocs" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "En el CSV, deshabilita les estadístiques de la xarxa" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "Mostra la versió i surt" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "No llegeix el fitxer d'inicialització" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "ID del domini" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "Nom del domini" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "Visualització dels dominis" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "Error" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "Surt en l'hora indicada" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "Ajuda" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "Retard en l'històric de la CPU" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "Enregistra les estadístiques al fitxer CSV" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "TECLES PRINCIPALS" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++"Més informació en la pàgina man virt-top(1). Premeu qualsevol tecla per " ++"tornar." ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++"N.B.: Si voleu supervisar un hipervisor Xen local, normalment heu de ser " ++"root" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "Xarxa RX bytes" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "Xarxa TX bytes" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "No és un número vàlid" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "Número d'iteracions a executar" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "Apagat" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "Encés" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "Surt" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "Executa des d'una seqüència d'ordres (sense interfície gràfica)" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "ORDENACIÓ" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "Mode (\\\"kiosk\\\") segur" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "Selecciona camp d'ordenació" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "Envia els missatges de depuració al fitxer" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "Estableix el nom del fitxer d'inicialització" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "Estableix el mètode d'ordenació (%s)" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "Estableix el mètode d'ordenació per a la pantalla principal" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "Interval d'actualització" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "Ordena per %CPU" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "Ordena per %MEM" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "Ordena per ID" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "Ordena per TEMPS" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "Comença mostrant els dispositius de blocs" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "Comença mostrant les interfícies de xarxa" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "Comença mostrant pCPUs (predeterminat: tasques)" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "TEMPS (temps de CPU)" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "Commuta dispositius de blocs" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "Commuta interfícies de xarxa" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "Commuta CPU físiques" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "Teclegeu una tecla o utilitzeu les fletxes del cursor amunt o abaix." ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "Ordre no reconeguda - proveu 'h' per l'ajuda" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "Actualitza la pantalla" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "S'ha escrit les preferències a %s" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "predet." ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "get_xml_desc no va retornar " ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d per Red Hat" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++"virt-top : una utilitat similar a «top» per a la virtualització\n" ++"\n" ++"RESUM\n" ++" virt-top [-opcions]\n" ++"\n" ++"OPCIONS" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "virt-top fou compilat sense compatibilitat per a fitxers CSV" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "virt-top fou compilat sense compatibilitat per data i hora" +diff --git a/po/de.po b/po/de.po +index caf9e8a..93fc598 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: German \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: de\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/es.po b/po/es.po +index 51c7a79..4dccb7f 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Spanish (Castilian) \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: es\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/eu.po b/po/eu.po +new file mode 100644 +index 0000000..58f6976 +--- /dev/null ++++ b/po/eu.po +@@ -0,0 +1,339 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# Asier Iturralde Sarasola , 2012 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2013-11-20 06:00-0500\n" ++"Last-Translator: Asier Iturralde Sarasola \n" ++"Language-Team: Basque (http://www.transifex.com/projects/p/virttop/language/eu/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: eu\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "Konektatu: %s; Ostalari-izena: %s" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "Domeinu-izena" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "Errorea" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "Laguntza" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "Irten" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "Ordenatu %CPUren arabera" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "Ordenatu %MEMen arabera" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "Ordenatu IDaren arabera" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "Ordenatu denboraren arabera" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "lehenetsia" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "" +diff --git a/po/fr.po b/po/fr.po +index faba76c..fc5a41d 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-26 17:01+0000\n" ++"PO-Revision-Date: 2011-03-26 01:01-0400\n" + "Last-Translator: jfenal \n" + "Language-Team: French \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: fr\n" + "Plural-Forms: nplurals=2; plural=(n > 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/gu.po b/po/gu.po +index 1c2e78a..1e17407 100644 +--- a/po/gu.po ++++ b/po/gu.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: sweta \n" + "Language-Team: Gujarati \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: gu\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/hu.po b/po/hu.po +new file mode 100644 +index 0000000..64552d7 +--- /dev/null ++++ b/po/hu.po +@@ -0,0 +1,356 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# Szabo Attila , 2013 ++# Zoltan Hoppár , 2012 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2013-11-20 06:00-0500\n" ++"Last-Translator: Szabo Attila \n" ++"Language-Team: Hungarian (http://www.transifex.com/projects/p/virttop/language/hu/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: hu\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "# %s virt-top konfigurációs fájl \\n" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "# CSV kimenet engedélyezése a megnevezett fájlhoz\\n" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++"# Hogy megvédd ezt a fájlt a fölülírástól, vedd ki a kommentet a következő " ++"sorból\\n" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++"# Ahhoz hogy hibakeresési és hiba üzeneteket küldd a fájlba, vedd ki a " ++"kommentet a következő sorból \\n" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "# %s lett létrehozva %s által\\n" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++"%d domének, %d aktív, %d fut, %d alszik, %d felfüggesztve, %d inaktív D:%d " ++"O:%d X:%d" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "%s: a képernyőnek %snek kellene lennie" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "%s: a rövid sorrendnek %snek kellene lennie" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "%s: ismeretlen paraméter" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "%s:%d: konfigurációs tétek ``%s'' ignorált\\n%!" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "-d: negatív késleltetést nem lehet megadni" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "Kötegelt mód" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "Blokk olvasási kérések" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "Blokk írási kérések" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB a vendégek által)" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "A késleltetés megváltoztatása %.1f-ről:" ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "Kapcsolódás az URIhoz (alap:XEN)" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "Kapcsolódás: %s; Hosztnév: %s" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "Megjelenítési módok" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "A késleltetés legyen >0" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "Késleltetés intervallumának ideje( másodpercek)" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "Késleltetés: %.1f másodperc; Köteg: %s; Biztosított: %s; Rövid: %s" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "Processzor statisztika felfüggesztése CSVben" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "Blokk eszköz statisztika felfüggesztése CSVben" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "Hálózat statisztika felfüggesztése CSVben" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "Verziószám megjelenítése és kilépés" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "Init fájl ne kerüljön olvasásra" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "Domén azonosító" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "Domén név" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "Domének megjelenítése" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "Hiba" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "Kilépés a megadott időben" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "Segitség" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "Történeti processzor késleltetés" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "Log statisztika egy CSV fájlba" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "FŐBB GOMBOK" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++"További segitség a virt-top(1) man oldalon. Nyomjon meg bármilyen billentyűt" ++" a visszatéréshez." ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++"TM: ha monitorozni akarja a helyi Xen hypervisort , akkor általában root-nak" ++" kell lennie" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "Következő RX bájtok" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "Következő TX bájtok" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "Nem egy érvényes szám" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "A futtatni való ismétlések száma" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "Ki" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "Be" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "Kilépés" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "Működés szkriptről (nincs felhasználói felület)" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "RENDEZÉS" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "Biztonsági (\\\"kiosk\\\") mód" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "Válassza ki a rövid mezőt" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "Hibakeresési üzenetek küldése fájlba" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "Init fájl nevének beállítása" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "válogatás sorrendjének beállítása (%s)" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "válogatás sorrendjének beállítása a fő képernyőhöz" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "frissítés intervallumának beállítása" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "Rendezés %CPU által" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "Rendezés %MEM által" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "Rendezés azonosító alapján" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "Rendezés IDŐ alapján" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "A blokk eszközök megjelenítésével kezdődjön" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "A hálózati interfészek megjelenítésével kezdődjön" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "pCPUk megjelenítésével kezdődjön (alapból: feladatok)" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "IDŐ ( processzor idő)" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "Blokk eszközök váltása" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "Hálózati interfészek váltása" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "Fizikai processzorok váltása" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "Üss le egy billentyűt vagy használd a fel és le kurzor billentyűket." ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "Ismeretlen parancs - próbáld meg a h a segitségért" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "képernyő frissítése" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "beállítások kiírása a %s-be" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "alap" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "get_xml_desc nem adta vissza a " ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat által" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++"virt-top : egy 'top'-szerű eszköz a virtualizációhoz\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "A virt-top CSV fájlok támogatása nélkül lett fordítva" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "A virt-top dátumok és idők nélküli támogatással lett fordítva" +diff --git a/po/id.po b/po/id.po +new file mode 100644 +index 0000000..91eeb7a +--- /dev/null ++++ b/po/id.po +@@ -0,0 +1,345 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# Andika Triwidada , 2014 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2014-09-07 03:27-0400\n" ++"Last-Translator: Andika Triwidada \n" ++"Language-Team: Indonesian (http://www.transifex.com/projects/p/virttop/language/id/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: id\n" ++"Plural-Forms: nplurals=1; plural=0;\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "# berkas konfigurasi virt-top %s\\n" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "# Fungsikan keluaran CSV ke berkas yang dinamai\\n" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++"# Untuk melindungi berkas ini dari tertimpa, ubah baris berikutnya menjadi " ++"bukan komentar\\n" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++"# Untuk mengirim pesan awakutu dan galat ke sebuah berkas, ubah baris " ++"berikutnya menjadi bukan komentar\\n" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "# dijangkitkan pada %s oleh %s\\n" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++"%d domain, %d aktif, %d berjalan, %d tidur, %d diistirahatkan, %d tak aktif " ++"D:%d O:%d X:%d" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "%s: tampilan mestinya %s" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "%s: urutan mestinya: %s" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "%s: parameter tak dikenal" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "%s:%d: butir konfigurasi ``%s'' diabaikan\\n%!" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "-d: tak dapat menata tundaan negatif" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "Mode batch" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "Permintaan baca blok" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "Permintaan tulis blok" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "" +diff --git a/po/it.po b/po/it.po +index e393c27..65036f4 100644 +--- a/po/it.po ++++ b/po/it.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Italian \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: it\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/ja.po b/po/ja.po +index cd49c18..3115905 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: htaira \n" + "Language-Team: Japanese \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: ja\n" + "Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/ka.po b/po/ka.po +new file mode 100644 +index 0000000..5551327 +--- /dev/null ++++ b/po/ka.po +@@ -0,0 +1,339 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# George Machitidze , 2013 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2013-11-26 03:54-0500\n" ++"Last-Translator: George Machitidze \n" ++"Language-Team: Georgian (http://www.transifex.com/projects/p/virttop/language/ka/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: ka\n" ++"Plural-Forms: nplurals=1; plural=0;\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "შეცდომა" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "დახმარება" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "გასვლა" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "ნაგულისხმები" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "get_xml_desc-მა არ დააბრუნა" ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "" +diff --git a/po/kn.po b/po/kn.po +index 1df03e4..70491c6 100644 +--- a/po/kn.po ++++ b/po/kn.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-23 12:05+0000\n" ++"PO-Revision-Date: 2011-03-22 08:05-0400\n" + "Last-Translator: shanky \n" + "Language-Team: Kannada \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: kn\n" + "Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/ml.po b/po/ml.po +index 9796d43..d06efa9 100644 +--- a/po/ml.po ++++ b/po/ml.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Malayalam \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: ml\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/mr.po b/po/mr.po +index 5dc8a9e..3adfac8 100644 +--- a/po/mr.po ++++ b/po/mr.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: sandeeps \n" + "Language-Team: Marathi \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: mr\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/nl.po b/po/nl.po +index ee16b7c..67aa032 100644 +--- a/po/nl.po ++++ b/po/nl.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-29 18:08+0000\n" ++"PO-Revision-Date: 2011-03-29 02:08-0400\n" + "Last-Translator: warrink \n" + "Language-Team: Dutch <>\n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: nl\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/or.po b/po/or.po +index e10aa5a..eefe587 100644 +--- a/po/or.po ++++ b/po/or.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Oriya \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: or\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/pa.po b/po/pa.po +new file mode 100644 +index 0000000..2237323 +--- /dev/null ++++ b/po/pa.po +@@ -0,0 +1,339 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# A S Alam , 2012 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2013-11-20 06:00-0500\n" ++"Last-Translator: A S Alam \n" ++"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/projects/p/virttop/language/pa/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: pa\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "%s: ਅਣਜਾਣ ਪੈਰਾਮੀਟਰ" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "ਬੈਂਚ ਮੋਡ" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "ਕੁਨੈਕਟ: %s; ਹੋਸਟ-ਨਾਂ: %s" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "ਡਿਸਪਲੇਅ ਮੋਡ" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "ਦੇਰੀ ਸਮਾਂ ਅੰਤਰਾਲ (ਸਕਿੰਟ)" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "ਦੇਰੀ: %.1f ਸਕਿੰਟ; ਬੈਂਚ: %s; ਸਕਿਉਰ: %s; ਲੜੀਬੱਧ: %s" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "init ਫਾਇਲ ਨਾ ਪੜ੍ਹੋ" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "ਡੋਮੇਨ ID" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "ਡੋਮੇਨ ਨਾਂ" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "ਡੋਮੇਨ ਡਿਸਪਲੇਅ" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "ਗਲਤੀ" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "ਦਿੱਤੇ ਸਮੇਂ ਉੱਤੇ ਬੰਦ" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "ਮੱਦਦ" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "ਅਤੀਤ CPU ਦੇਰੀ" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "ਮੁੱਖ ਕੁੰਜੀਆਂ" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "ਠੀਕ ਨੰਬਰ ਨਹੀਂ ਹੈ" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "ਬੰਦ" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "ਚਾਲੂ" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "ਬਾਹਰ" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "ਡਿਫਾਲਟ" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat ਵਲੋਂ" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "" +diff --git a/po/pl.po b/po/pl.po +index 79f44aa..161712b 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Polish \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: pl\n" + "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/pt.po b/po/pt.po +index 60fca2f..05d81fd 100644 +--- a/po/pt.po ++++ b/po/pt.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Portuguese \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: pt\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/pt_BR.po b/po/pt_BR.po +index 6fefb3c..2270ed4 100644 +--- a/po/pt_BR.po ++++ b/po/pt_BR.po +@@ -2,20 +2,20 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: Taylon \n" + "Language-Team: Portuguese (Brazilian) \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Language: pt_BR\n" ++"Language: pt-BR\n" + "Plural-Forms: nplurals=2; plural=(n > 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/ru.po b/po/ru.po +index 9e09098..ec3deac 100644 +--- a/po/ru.po ++++ b/po/ru.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Russian \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: ru\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" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/sr.po b/po/sr.po +new file mode 100644 +index 0000000..8131374 +--- /dev/null ++++ b/po/sr.po +@@ -0,0 +1,355 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# Momcilo Medic , 2015 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2015-01-28 01:55-0500\n" ++"Last-Translator: Momcilo Medic \n" ++"Language-Team: Serbian (http://www.transifex.com/projects/p/virttop/language/sr/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: sr\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" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "# %s virt-top датотека подешавања\\n" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "# Омогући CSV излаз у наведену датотеку\\n" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++"# Да заштитите ову датотеку од поновног уписа, одкоментаришите следећу " ++"линију\\n" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++"# Да пошаљете поруке о отклањању грешака и самим грешкама у датотеку, " ++"одкоментаришите следећу линију\\n" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "# створено %s од стране %s\\n" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++"%d области, %d активних, %d покренутих, %d мирујућих, %d паузираних, %d " ++"неактивних D:%d O:%d X:%d" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "%s: приказ би требао да буде %s" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "%s: начин ређања би требао бити: %s" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "%s: непознат параметар" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "%s:%d: ставка подешавања ``%s'' занемарена\\n%!" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "-d: не може се поставити негативна пауза" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "Групни режим" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "Захтеви блок читања" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "Захтеви блок уписа" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB од стране гостију)" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "Променити паузу са %.1f на: " ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "Повежи се на URI (подразумевано: Xen)" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "Повежи: %s; Hostname: %s" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "РЕЖИМИ ПРИКАЗА" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "Пауза мора бити > 0" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "Интервал паузе (секунде)" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "Пауза: %.1f секунди; Група: %s; Сигурност: %s; Ређање: %s" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "Онемогући CPU статистике у CSV-у" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "Онемогући статистике блок уређаја у CSV-у" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "Онемогући мрежне статистике у CSV-у" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "Прикажи број верзије и изађи" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "Немој читати инициализациону датотеку" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "ID области" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "Име области" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "Приказ области" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "Грешка" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "Излаз у одређено време" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "Помоћ" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "Историјска CPU пауза" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "Записуј статистике у CSV датотеку" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "ГЛАВНИ КЉУЧЕВИ" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++"Више помоћи на virt-top(1) man страници. Притисните било који тастер за " ++"повратак." ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++"NB: Ако желите да надгледате локални Xen надзорник, углавном је потребно да " ++"будете root" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "Мрежни RX бајтови" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "Мрежни TX бајтови" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "Није исправан број" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "Број понављања за извршавање" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "Искључи" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "Укључи" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "Изађи" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "Извршавање из скрипте (без корисничког окружења)" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "РЕЂАЊЕ" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "Безбедни (\\\"kiosk\\\") режим" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "Одаберите поље по којем се ређа" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "Пошаљи поруке за отклањање грешака у датотеку" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "Постави име иницијализационе датотеке" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "Постави начин ређања (%s)" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "Постави начин ређања за главни приказ" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "Постави интервал освежавања" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "Поређај по %CPU" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "Поређај по %MEM" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "Поређај по ID" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "Поређај по ВРЕМЕНУ" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "Почни са приказивањем блок уређаја" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "Почни са приказивањем мрежних интерфејса" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "Почни са приказивањем pCPU-ова (подразумевано: задаци)" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "ВРЕМЕ (CPU време)" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "Пребаци блок уређаје" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "Пребаци мрежне интерфејсе" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "Пребаци физичке CPU-ове" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "Притистните тастер или користите тастере навигације горе и доле." ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "Непозната команда - покушајте 'h' за помоћ" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "Освежи приказ" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "Уписана подешавања у %s" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "подразумевано" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "get_xml_desc није вратио " ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d од Red Hat" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++"virt-top : алатка слична 'top'-у за виртуелизацију\n" ++"\n" ++"ПРЕГЛЕД\n" ++" virt-top [-опције]\n" ++"\n" ++"ОПЦИЈЕ" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "virt-top је компајлиран без подршке за CSV датотеке" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "virt-top је компајлиран без подршке за датуме и времена" +diff --git a/po/sv.po b/po/sv.po +new file mode 100644 +index 0000000..928e0bb +--- /dev/null ++++ b/po/sv.po +@@ -0,0 +1,352 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# Göran Uddeborg , 2012 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2013-11-20 06:00-0500\n" ++"Last-Translator: Göran Uddeborg \n" ++"Language-Team: Swedish (http://www.transifex.com/projects/p/virttop/language/sv/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: sv\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "# konfigurationsfilen %s för virt-top\\n" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "# Aktivera CSV-utmatning till den namngivna filen\\n" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++"# För att skydda denna fil från att skrivas över, avkommentera nästa rad\\n" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++"# För att skicka felsöknings- och felmeddelanden till en fil, avkommentera " ++"nästa rad\\n" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "# genererad %s av %s\\n" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MNE" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++"%d domäner, %d aktiva, %d körande, %d sovande, %d pausade, %d inaktiva N:%d " ++"A:%d K:%d" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "%s: display skall vara %s" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "%s: sort-ordning skall vara: %s" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "%s: okänd parameter" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "%s:%d: konfigurationspost ”%s” ignoreras\\n%!" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "-d: kan inte sätta en negativ fördröjning" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "Satsvis läge" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "Blocksläsningsbegäranden" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "Blockskrivningsbegäranden" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "CPU: %2.1f %% Mne: %Ld MB (%Ld MB av gäster)" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "Ändra fördröjning från %.1f till: " ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "Anslut till URI (standard: Xen)" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "Anslut: %s; Värdnamn: %s" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "VISNINGSLÄGEN" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "Fördröjning måste vara > 0" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "Tidsfördröjningsintervall (sekunder)" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "Fördröjning: %.1f s; Satsvis: %s; Säkert: %s; Sortering: %s" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "Avaktivera CPU-statistik i CSV" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "Avaktivera blockenhetsstatistik i CSV" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "Avaktivera nätstatistik i CSV" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "Visa versionsnummer och avsluta" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "Läs inte initieringsfilen" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "Domän-ID" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "Domännamn" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "Domänvisning" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "Fel" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "Avsluta vid given tidpunkt" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "Hjälp" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "Historisk CPU-fördröjning" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "Logga statistik till en CSV-fil" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "HUVUDTANGENTER" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++"Mer hjälp i manualsidan virt-top(1). Tryck en tangent för att återvända." ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++"OBS: Om du vill övervaka en lokal Xen-hypervisor behöver du normal vara root" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "Netto MT byte" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "Netto SD byte" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "Inte ett giltigt tal" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "Antal iterationer att köra" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "Av" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "På" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "Avsluta" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "Kör från ett skript (inget användargränssnitt)" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "SORTERING" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "Säkert (\\\"kiosk-\\\")läge" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "Välj sorteringsfält" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "Skicka felsökningsmeddelanden till en fil" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "Ange namn på initieringsfilen" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "Ange sorteringsordning (%s)" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "Ange sorteringsordning för huvudsidan" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "Ange uppdateringsintervall" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "Sortera efter %CPU" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "Sortera efter %MNE" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "Sortera efter ID" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "Sortera efter TID" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "Starta med att visa blockenheter" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "Starta med att visa nätverksgränssnitt" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "Starta med att visa fCPU:er (standard: uppgifter)" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "TID (CPU-tid)" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "Växla blockenheter" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "Växla nätverksgränssnitt" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "Växla fysiska CPU:er" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "Tryck en tangent eller använd piltangenterna upp och ned." ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "Okänt kommando - försök med ”h” för hjälp" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "Uppdatera visningen" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "Skrev inställningar till %s" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "standard" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "get_xml_desc returnerade inte " ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d av Red Hat" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++"virt-top : ett ”top”-liknande verktyg för virtualisering\n" ++"\n" ++"SAMMANFATTNING\n" ++" virt-top [-flaggor]\n" ++"\n" ++"FLAGGOR" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "virt-top kompilerade utan stöd för CSV-filer" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "virt-top kompilerades utan stöd för datum och tider" +diff --git a/po/te.po b/po/te.po +index 9a38b74..d6e7386 100644 +--- a/po/te.po ++++ b/po/te.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Telugu <>\n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: te\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/tg.po b/po/tg.po +new file mode 100644 +index 0000000..cac104d +--- /dev/null ++++ b/po/tg.po +@@ -0,0 +1,338 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2013-11-20 06:00-0500\n" ++"Last-Translator: Victor Ibragimov \n" ++"Language-Team: Tajik (http://www.transifex.com/projects/p/virttop/language/tg/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: tg\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "Хатогӣ" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "Роҳнамо" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "Хомӯш" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "Фаъол" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "Баромад" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "ВАҚТ (вақти CPU)" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "пешфарз" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "" +diff --git a/po/tr.po b/po/tr.po +new file mode 100644 +index 0000000..8cd8c83 +--- /dev/null ++++ b/po/tr.po +@@ -0,0 +1,339 @@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the PACKAGE package. ++# ++# Translators: ++# Necdet Yücel , 2012 ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"PO-Revision-Date: 2013-11-20 06:00-0500\n" ++"Last-Translator: Necdet Yücel \n" ++"Language-Team: Turkish (http://www.transifex.com/projects/p/virttop/language/tr/)\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Language: tr\n" ++"Plural-Forms: nplurals=2; plural=(n > 1);\n" ++"X-Generator: Zanata 3.5.1\n" ++ ++#: ../virt-top/virt_top.ml:1506 ++msgid "# %s virt-top configuration file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1524 ++msgid "# Enable CSV output to the named file\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1527 ++msgid "# To protect this file from being overwritten, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1521 ++msgid "# To send debug and error messages to a file, uncomment next line\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1507 ++msgid "# generated on %s by %s\\n" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:65 ++msgid "%CPU" ++msgstr "%CPU" ++ ++#: ../virt-top/virt_top.ml:66 ++msgid "%MEM" ++msgstr "%MEM" ++ ++#: ../virt-top/virt_top.ml:1158 ++msgid "" ++"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " ++"O:%d X:%d" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:105 ++msgid "%s: display should be %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:83 ++msgid "%s: sort order should be: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:207 ++msgid "%s: unknown parameter" ++msgstr "%s: bilinmeyen parametre" ++ ++#: ../virt-top/virt_top.ml:238 ++msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:144 ++msgid "-d: cannot set a negative delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:170 ++msgid "Batch mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:72 ++msgid "Block read reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:73 ++msgid "Block write reqs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1165 ++msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1335 ++msgid "Change delay from %.1f to: " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 ++msgid "Connect to URI (default: Xen)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1580 ++msgid "Connect: %s; Hostname: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1618 ++msgid "DISPLAY MODES" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1342 ++msgid "Delay must be > 0" ++msgstr "Gecikme > 0 olmalı" ++ ++#: ../virt-top/virt_top.ml:184 ++msgid "Delay time interval (seconds)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1573 ++msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:178 ++msgid "Disable CPU stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:180 ++msgid "Disable block device stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:182 ++msgid "Disable net stats in CSV" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:204 ++msgid "Display version number and exit" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:194 ++msgid "Do not read init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:68 ++msgid "Domain ID" ++msgstr "Alan ID" ++ ++#: ../virt-top/virt_top.ml:69 ++msgid "Domain name" ++msgstr "Alan adı" ++ ++#: ../virt-top/virt_top.ml:1632 ++msgid "Domains display" ++msgstr "" ++ ++#. ../virt-top/virt_top.ml:1544 ++#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++msgid "Error" ++msgstr "Hata" ++ ++#: ../virt-top/virt_top.ml:188 ++msgid "Exit at given time" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1602 ++msgid "Help" ++msgstr "Yardım" ++ ++#: ../virt-top/virt_top.ml:190 ++msgid "Historical CPU delay" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:176 ++msgid "Log statistics to CSV file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1585 ++msgid "MAIN KEYS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1639 ++msgid "More help in virt-top(1) man page. Press any key to return." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:263 ++msgid "" ++"NB: If you want to monitor a local Xen hypervisor, you usually need to be " ++"root" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:70 ++msgid "Net RX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:71 ++msgid "Net TX bytes" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1348 ++msgid "Not a valid number" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:196 ++msgid "Number of iterations to run" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "Off" ++msgstr "Kapalı" ++ ++#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++msgid "On" ++msgstr "Açık" ++ ++#: ../virt-top/virt_top.ml:1600 ++msgid "Quit" ++msgstr "Çık" ++ ++#: ../virt-top/virt_top.ml:202 ++msgid "Run from a script (no user interface)" ++msgstr "Betikten çalıştır (arayüz olmadan)" ++ ++#: ../virt-top/virt_top.ml:1606 ++msgid "SORTING" ++msgstr "SIRALAMA" ++ ++#: ../virt-top/virt_top.ml:200 ++msgid "Secure (\\\"kiosk\\\") mode" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1615 ++msgid "Select sort field" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:186 ++msgid "Send debug messages to file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:192 ++msgid "Set name of init file" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:198 ++msgid "Set sort order (%s)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1356 ++msgid "Set sort order for main display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1601 ++msgid "Set update interval" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1611 ++msgid "Sort by %CPU" ++msgstr "%CPU'ya göre sırala" ++ ++#: ../virt-top/virt_top.ml:1612 ++msgid "Sort by %MEM" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1614 ++msgid "Sort by ID" ++msgstr "ID'ye göre sırala" ++ ++#: ../virt-top/virt_top.ml:1613 ++msgid "Sort by TIME" ++msgstr "ZAMAN'a göre sırala" ++ ++#: ../virt-top/virt_top.ml:168 ++msgid "Start by displaying block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:166 ++msgid "Start by displaying network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:164 ++msgid "Start by displaying pCPUs (default: tasks)" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:67 ++msgid "TIME (CPU time)" ++msgstr "ZAMAN (CPU zamanı)" ++ ++#: ../virt-top/virt_top.ml:1635 ++msgid "Toggle block devices" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1634 ++msgid "Toggle network interfaces" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1633 ++msgid "Toggle physical CPUs" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1357 ++msgid "Type key or use up and down cursor keys." ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1644 ++msgid "Unknown command - try 'h' for help" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1599 ++msgid "Update display" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1539 ++msgid "Wrote settings to %s" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1581 ++msgid "default" ++msgstr "öntanımlı" ++ ++#: ../virt-top/virt_top_xml.ml:46 ++msgid "get_xml_desc didn't return " ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:1561 ++msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:208 ++msgid "" ++"virt-top : a 'top'-like utility for virtualization\n" ++"\n" ++"SUMMARY\n" ++" virt-top [-options]\n" ++"\n" ++"OPTIONS" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:42 ++msgid "virt-top was compiled without support for CSV files" ++msgstr "" ++ ++#: ../virt-top/virt_top.ml:53 ++msgid "virt-top was compiled without support for dates and times" ++msgstr "" +diff --git a/po/uk.po b/po/uk.po +index 8a2511b..15d0f88 100644 +--- a/po/uk.po ++++ b/po/uk.po +@@ -2,13 +2,12 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: yurchor \n" + "Language-Team: Ukrainian \n" + "MIME-Version: 1.0\n" +@@ -16,6 +15,7 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Language: uk\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" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/zh_CN.po b/po/zh_CN.po +index f5f63c1..23b0a1e 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -2,20 +2,20 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: rjones \n" + "Language-Team: Chinese (China) \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Language: zh_CN\n" ++"Language: zh-CN\n" + "Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +diff --git a/po/zh_TW.po b/po/zh_TW.po +index 9729fc3..dcf0de0 100644 +--- a/po/zh_TW.po ++++ b/po/zh_TW.po +@@ -2,20 +2,20 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. + # FIRST AUTHOR , YEAR. +-# + msgid "" + msgstr "" +-"Project-Id-Version: virt-top\n" +-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/\n" ++"Project-Id-Version: PACKAGE VERSION\n" ++"Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-10-06 14:58+0000\n" +-"PO-Revision-Date: 2011-03-22 15:29+0000\n" ++"PO-Revision-Date: 2011-03-22 11:29-0400\n" + "Last-Translator: zerng07 \n" + "Language-Team: Chinese (Taiwan) \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Language: zh_TW\n" ++"Language: zh-TW\n" + "Plural-Forms: nplurals=1; plural=0\n" ++"X-Generator: Zanata 3.5.1\n" + + #: ../virt-top/virt_top.ml:1506 + msgid "# %s virt-top configuration file\\n" +-- +2.19.0.rc0 + diff --git a/SOURCES/0004-build-Add-g-flag-to-ocamlopt.patch b/SOURCES/0004-build-Add-g-flag-to-ocamlopt.patch new file mode 100644 index 0000000..bc83d1d --- /dev/null +++ b/SOURCES/0004-build-Add-g-flag-to-ocamlopt.patch @@ -0,0 +1,26 @@ +From 4a2d0ccd91f07d0a2009e8553a29fcf4cf752ba3 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 4 Jan 2016 11:48:40 -0500 +Subject: [PATCH 04/20] build: Add -g flag to ocamlopt. + +Modern ocamlopt supports the -g flag fine (very old versions did not). +--- + virt-top/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/virt-top/Makefile.in b/virt-top/Makefile.in +index 98e6647..e149b26 100755 +--- a/virt-top/Makefile.in ++++ b/virt-top/Makefile.in +@@ -68,7 +68,7 @@ OCAMLCFLAGS := -g -warn-error A-3 + OCAMLCLIBS := -linkpkg + + OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) +-OCAMLOPTFLAGS := -warn-error A-3 ++OCAMLOPTFLAGS := $(OCAMLCFLAGS) + OCAMLOPTLIBS := $(OCAMLCLIBS) + + BYTE_TARGETS := virt-top +-- +2.19.0.rc0 + diff --git a/SOURCES/0005-Rename-source-directory-and-files.patch b/SOURCES/0005-Rename-source-directory-and-files.patch new file mode 100644 index 0000000..1e99fd6 --- /dev/null +++ b/SOURCES/0005-Rename-source-directory-and-files.patch @@ -0,0 +1,719 @@ +From b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 31 Oct 2016 12:01:40 +0000 +Subject: [PATCH 05/20] Rename source directory and files. + +This renames the source directory from virt-top to src/ and removes +the unnecessary virt_top_* prefix from many source files. + +This is entirely refactoring and makes no functional change. + +Also this fixes the MANIFEST file and removes old Transifex +configuration, fixing commit defe5bdd4a32e0206a786d279e0f9cfc238e5e17. +--- + .gitignore | 72 ++++++++----------- + .tx/config | 8 --- + ChangeLog | 30 ++++++++ + MANIFEST | 41 +++++++---- + Makefile.in | 15 ++-- + README | 2 +- + configure.ac | 29 ++++---- + src/.depend | 20 ++++++ + {virt-top => src}/Makefile.in | 18 ++--- + {virt-top => src}/README | 22 +++--- + virt-top/virt_top_main.ml => src/main.ml | 4 +- + .../opt_calendar1.ml | 4 +- + .../opt_calendar2.ml | 4 +- + virt-top/virt_top_csv.ml => src/opt_csv.ml | 6 +- + virt-top/virt_top_xml.ml => src/opt_xml.ml | 4 +- + virt-top/virt_top.ml => src/top.ml | 8 +-- + virt-top/virt_top.mli => src/top.mli | 0 + virt-top/virt_top_utils.ml => src/utils.ml | 2 +- + virt-top/virt_top_utils.mli => src/utils.mli | 0 + .../version.ml.in | 0 + {virt-top => src}/virt-top.pod | 0 + virt-top/.depend | 20 ------ + 22 files changed, 163 insertions(+), 146 deletions(-) + delete mode 100644 .tx/config + create mode 100644 src/.depend + rename {virt-top => src}/Makefile.in (91%) + rename {virt-top => src}/README (77%) + rename virt-top/virt_top_main.ml => src/main.ml (98%) + rename virt-top/virt_top_calendar1.ml => src/opt_calendar1.ml (97%) + rename virt-top/virt_top_calendar2.ml => src/opt_calendar2.ml (97%) + rename virt-top/virt_top_csv.ml => src/opt_csv.ml (94%) + rename virt-top/virt_top_xml.ml => src/opt_xml.ml (97%) + rename virt-top/virt_top.ml => src/top.ml (99%) + rename virt-top/virt_top.mli => src/top.mli (100%) + rename virt-top/virt_top_utils.ml => src/utils.ml (99%) + rename virt-top/virt_top_utils.mli => src/utils.mli (100%) + rename virt-top/virt_top_version.ml.in => src/version.ml.in (100%) + rename {virt-top => src}/virt-top.pod (100%) + delete mode 100644 virt-top/.depend + +diff --git a/.gitignore b/.gitignore +index d08e9e2..e3f77e7 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -1,50 +1,36 @@ +-aclocal.m4 +-META +-ocaml-libvirt-*.tar.gz +-ocaml-libvirt-*.exe +-html +-configure +-config.log +-config.status +-config.h +-config.cache +-Makefile +-Make.rules +-*/Makefile +-autom4te.cache +-core +-core.* ++*.a ++*.cma + *.cmi + *.cmo + *.cmx +-*.cma + *.cmxa +-*.o +-*.so +-*.a +-*.opt + *.dll + *.exe +-*~ +-libvirt/libvirt_version.ml +-examples/list_domains +-examples/node_info +-mlvirsh/mlvirsh +-virt-ctrl/virt-ctrl +-virt-top/virt-top +-virt-df/virt-df +-wininstaller.nsis ++*.o ++*.opt + *.orig +-mlvirsh/mlvirsh_gettext.ml +-virt-ctrl/virt_ctrl_gettext.ml +-virt-df/virt_df_gettext.ml +-virt-top/virt_top_gettext.ml +-virt-top/virt_top_version.ml +-po/*.mo +-po/*.po.bak +-virt-df/virt_df_lvm2_lexer.ml +-virt-df/virt_df_lvm2_parser.ml +-virt-df/virt_df_lvm2_parser.mli +-virt-top-*.tar.gz +-virt-top/virt-top.1 +-virt-top/virt-top.txt +\ No newline at end of file ++*.so ++*~ ++ ++META ++Makefile ++aclocal.m4 ++config.cache ++config.h ++config.log ++config.status ++configure ++core ++core.* ++html ++ ++/Make.rules ++/autom4te.cache ++/po/*.mo ++/po/*.po.bak ++/src/opt_gettext.ml ++/src/version.ml ++/src/virt-top ++/src/virt-top.1 ++/src/virt-top.txt ++/virt-top-*.tar.gz +diff --git a/.tx/config b/.tx/config +deleted file mode 100644 +index 3e17770..0000000 +--- a/.tx/config ++++ /dev/null +@@ -1,8 +0,0 @@ +-[main] +-host = https://www.transifex.net +- +-[virttop.virttoppot] +-file_filter = po/.po +-source_file = po/virt-top.pot +-source_lang = en +- +diff --git a/ChangeLog b/ChangeLog +index 8daca45..1b3999a 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,33 @@ ++2016-10-31 Richard W.M. Jones ++ ++ Rename source directory and files. ++ This renames the source directory from virt-top to src/ and removes ++ the unnecessary virt_top_* prefix from many source files. ++ ++ This is entirely refactoring and makes no functional change. ++ ++ Also this fixes the MANIFEST file and removes old Transifex ++ configuration, fixing commit defe5bdd4a32e0206a786d279e0f9cfc238e5e17. ++ ++2016-01-04 Richard W.M. Jones ++ ++ build: Add -g flag to ocamlopt. ++ Modern ocamlopt supports the -g flag fine (very old versions did not). ++ ++2015-02-21 Richard W.M. Jones ++ ++ Update translations from Zanata. ++ ++ Move upstream translations from Tranifex to Zanata. ++ This is at the request of the Fedora localization team. ++ For further information see: ++ ++ https://www.redhat.com/archives/libguestfs/2015-February/msg00168.html ++ ++2014-08-02 Richard W.M. Jones ++ ++ Disable warning about immutable strings (for OCaml 4.02). ++ + 2012-10-12 Richard W.M. Jones + + Version 1.0.8. +diff --git a/MANIFEST b/MANIFEST +index c5958d7..2cf377f 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -14,12 +14,17 @@ Make.rules.in + MANIFEST + m4/ocaml.m4 + po/as.po ++po/ca.po + po/de.po + po/es.po ++po/eu.po + po/fr.po + po/gu.po ++po/hu.po ++po/id.po + po/it.po + po/ja.po ++po/ka.po + po/kn.po + po/LINGUAS + po/Makefile.in +@@ -27,30 +32,36 @@ po/ml.po + po/mr.po + po/nl.po + po/or.po ++po/pa.po + po/pl.po + po/pt_BR.po + po/pt.po + po/POTFILES + po/ru.po ++po/sr.po ++po/sv.po + po/te.po ++po/tg.po ++po/tr.po + po/uk.po + po/virt-top.pot ++po/zanata-pull.sh ++po/zanata.xml + po/zh_CN.po + po/zh_TW.po + README + TODO +-.tx/config +-virt-top/.depend +-virt-top/Makefile.in +-virt-top/README +-virt-top/virt-top.pod +-virt-top/virt_top.ml +-virt-top/virt_top.mli +-virt-top/virt_top_calendar1.ml +-virt-top/virt_top_calendar2.ml +-virt-top/virt_top_csv.ml +-virt-top/virt_top_main.ml +-virt-top/virt_top_utils.ml +-virt-top/virt_top_utils.mli +-virt-top/virt_top_version.ml.in +-virt-top/virt_top_xml.ml ++src/.depend ++src/Makefile.in ++src/README ++src/main.ml ++src/opt_calendar1.ml ++src/opt_calendar2.ml ++src/opt_csv.ml ++src/opt_xml.ml ++src/top.ml ++src/top.mli ++src/utils.ml ++src/utils.mli ++src/version.ml.in ++src/virt-top.pod +diff --git a/Makefile.in b/Makefile.in +index b310e58..d0aec17 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -22,25 +22,22 @@ INSTALL = @INSTALL@ + + MAKENSIS = @MAKENSIS@ + +-SUBDIRS = virt-top ++SUBDIRS = src + + all opt depend install: +- for d in $(SUBDIRS); do \ +- $(MAKE) -C $$d $@; \ +- if [ $$? -ne 0 ]; then exit 1; fi; \ +- done ++ $(MAKE) -C src $@ + + clean: + for d in . $(SUBDIRS); do \ + (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ *.dll *.exe core); \ + done +- rm -f virt-top/virt-top ++ rm -f src/virt-top + + distclean: clean + rm -f config.h config.log config.status configure + rm -rf autom4te.cache + rm -f Makefile +- rm -f virt-top/Makefile ++ rm -f src/Makefile + + # Distribution. + +@@ -51,8 +48,8 @@ dist: ChangeLog + tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf - + $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/ + $(INSTALL) -m 0644 aclocal.m4 $(PACKAGE)-$(VERSION)/ +- $(INSTALL) -m 0644 virt-top/virt-top.1 $(PACKAGE)-$(VERSION)/virt-top/ +- $(INSTALL) -m 0644 virt-top/virt-top.txt $(PACKAGE)-$(VERSION)/virt-top/ ++ $(INSTALL) -m 0644 src/virt-top.1 $(PACKAGE)-$(VERSION)/src/ ++ $(INSTALL) -m 0644 src/virt-top.txt $(PACKAGE)-$(VERSION)/src/ + tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) + rm -rf $(PACKAGE)-$(VERSION) + ls -l $(PACKAGE)-$(VERSION).tar.gz +diff --git a/README b/README +index 5a8bc87..d97fa62 100644 +--- a/README ++++ b/README +@@ -1,7 +1,7 @@ + virt-top + ---------------------------------------------------------------------- + +-Copyright (C) 2007-2012 Richard W.M. Jones, Red Hat Inc. ++Copyright (C) 2007-2016 Richard W.M. Jones, Red Hat Inc. + http://et.redhat.com/~rjones/virt-top/ + http://libvirt.org/ocaml/ + http://libvirt.org/ +diff --git a/configure.ac b/configure.ac +index 0d41cda..ad65465 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -84,26 +84,24 @@ AC_CHECK_PROG(MSGFMT,msgfmt,msgfmt) + + dnl Write gettext modules for the programs. + dnl http://www.le-gall.net/sylvain+violaine/documentation/ocaml-gettext/html/reference-manual/ch03s04.html +-for d in virt-top; do +- f=`echo $d | tr - _`_gettext.ml +- AC_MSG_NOTICE([creating $d/$f]) +- rm -f $d/$f +- echo "(* This file is generated automatically by ./configure. *)" > $d/$f +- if test "x$OCAML_PKG_gettext" != "xno"; then +- # Gettext module is available, so use it. +- cat <>$d/$f ++AC_MSG_NOTICE([creating src/opt_gettext.ml]) ++rm -f src/opt_gettext.ml ++echo "(* This file is generated automatically by ./configure. *)" > src/opt_gettext.ml ++if test "x$OCAML_PKG_gettext" != "xno"; then ++ # Gettext module is available, so use it. ++ cat <>src/opt_gettext.ml + module Gettext = Gettext.Program ( + struct +- let textdomain = "$d" ++ let textdomain = "virt-top" + let codeset = None + let dir = None + let dependencies = [[]] + end + ) (GettextStub.Native) + EOT +- else +- # No gettext module is available, so fake the translation functions. +- cat <>$d/$f ++else ++ # No gettext module is available, so fake the translation functions. ++ cat <>src/opt_gettext.ml + module Gettext = struct + external s_ : string -> string = "%identity" + external f_ : ('a -> 'b, 'c, 'd) format -> ('a -> 'b, 'c, 'd) format +@@ -115,8 +113,7 @@ module Gettext = struct + = fun s p n -> if n = 1 then s else p + end + EOT +- fi +-done ++fi + + dnl Summary. + echo "------------------------------------------------------------" +@@ -128,7 +125,7 @@ AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_FILES([Makefile + Make.rules + po/Makefile +- virt-top/Makefile +- virt-top/virt_top_version.ml ++ src/Makefile ++ src/version.ml + ]) + AC_OUTPUT +diff --git a/src/.depend b/src/.depend +new file mode 100644 +index 0000000..5325c54 +--- /dev/null ++++ b/src/.depend +@@ -0,0 +1,20 @@ ++main.cmo: top.cmi opt_gettext.cmo ++main.cmx: top.cmx opt_gettext.cmx ++opt_calendar1.cmo: top.cmi opt_gettext.cmo ++opt_calendar1.cmx: top.cmx opt_gettext.cmx ++opt_calendar2.cmo: top.cmi opt_gettext.cmo ++opt_calendar2.cmx: top.cmx opt_gettext.cmx ++opt_csv.cmo: top.cmi opt_gettext.cmo ++opt_csv.cmx: top.cmx opt_gettext.cmx ++opt_gettext.cmo: ++opt_gettext.cmx: ++opt_xml.cmo: top.cmi opt_gettext.cmo ++opt_xml.cmx: top.cmx opt_gettext.cmx ++top.cmi: ++top.cmo: version.cmo utils.cmi opt_gettext.cmo top.cmi ++top.cmx: version.cmx utils.cmx opt_gettext.cmx top.cmi ++utils.cmi: ++utils.cmo: opt_gettext.cmo utils.cmi ++utils.cmx: opt_gettext.cmx utils.cmi ++version.cmo: ++version.cmx: +diff --git a/virt-top/Makefile.in b/src/Makefile.in +similarity index 91% +rename from virt-top/Makefile.in +rename to src/Makefile.in +index e149b26..d29f2e8 100755 +--- a/virt-top/Makefile.in ++++ b/src/Makefile.in +@@ -39,28 +39,28 @@ OCAMLCPACKAGES += -package gettext-stub + endif + + OBJS := \ +- virt_top_version.cmo \ +- virt_top_gettext.cmo \ +- virt_top_utils.cmo \ +- virt_top.cmo ++ version.cmo \ ++ opt_gettext.cmo \ ++ utils.cmo \ ++ top.cmo + ifneq ($(OCAML_PKG_xml_light),no) +-OBJS += virt_top_xml.cmo ++OBJS += opt_xml.cmo + OCAMLCPACKAGES += -package xml-light + endif + ifneq ($(OCAML_PKG_csv),no) +-OBJS += virt_top_csv.cmo ++OBJS += opt_csv.cmo + OCAMLCPACKAGES += -package csv + endif + ifneq ($(OCAML_PKG_calendar),no) + ifeq ($(is_calendar2),no) +-OBJS += virt_top_calendar1.cmo ++OBJS += opt_calendar1.cmo + OCAMLCPACKAGES += -package calendar + else +-OBJS += virt_top_calendar2.cmo ++OBJS += opt_calendar2.cmo + OCAMLCPACKAGES += -package calendar + endif + endif +-OBJS += virt_top_main.cmo ++OBJS += main.cmo + + XOBJS := $(OBJS:.cmo=.cmx) + +diff --git a/virt-top/README b/src/README +similarity index 77% +rename from virt-top/README +rename to src/README +index b594f95..47382a5 100755 +--- a/virt-top/README ++++ b/src/README +@@ -1,11 +1,11 @@ + The code is structured into these files: + +- virt_top_utils.mli / virt_top_utils.ml ++ utils.mli, utils.ml + + String functions and other small utility functions. This is + included directly into virt_top.ml. + +- virt_top.mli / virt_top.ml ++ top.mli, top.ml + + This is the virt-top program. + +@@ -22,7 +22,11 @@ The code is structured into these files: + The function 'main_loop' runs the main loop and has sub-functions + to deal with keypresses, help screens and so on. + +- virt_top_xml.ml ++ opt_gettext.ml ++ A generated file which adds gettext support if ocaml-gettext ++ was found at configure time, or else stubs it out. ++ ++ opt_xml.ml + + Any code which needs the optional xml-light library goes + in here. Mainly for parsing domain XML descriptions to get +@@ -31,21 +35,21 @@ The code is structured into these files: + The reason for having it in a separate file is so that we + don't depend on xml-light. + +- virt_top_csv.ml ++ opt_csv.ml + + Any code which needs the optional ocaml-csv library goes + in here. This implements the --csv command line option. + +- virt_top_calendar.ml ++ opt_calendar1.ml, opt_calendar2.ml + + Any code which needs the optional ocaml-calendar library +- goes in here. This implements the --end-time command line +- option. ++ (v1 or v2) goes in here. This implements the --end-time ++ command line option. + +- virt_top_main.ml ++ main.ml + + This is just a small bit of code to glue the modules together +- Virt_top + Virt_top_xml? + Virt_top_csv? + Virt_top_calendar? ++ Top + Opt_xml? + Opt_csv? + Opt_calendar{1,2}? + + The man-page is generated from the single file: + +diff --git a/virt-top/virt_top_main.ml b/src/main.ml +similarity index 98% +rename from virt-top/virt_top_main.ml +rename to src/main.ml +index e8c4425..34d13c8 100644 +--- a/virt-top/virt_top_main.ml ++++ b/src/main.ml +@@ -21,8 +21,8 @@ + + open Curses + +-open Virt_top_gettext.Gettext +-open Virt_top ++open Opt_gettext.Gettext ++open Top + + (* Note: make sure we catch any exceptions and clean up the display. + * +diff --git a/virt-top/virt_top_calendar1.ml b/src/opt_calendar1.ml +similarity index 97% +rename from virt-top/virt_top_calendar1.ml +rename to src/opt_calendar1.ml +index 534465c..2c459fe 100755 +--- a/virt-top/virt_top_calendar1.ml ++++ b/src/opt_calendar1.ml +@@ -22,9 +22,9 @@ + open Printf + open ExtString + +-open Virt_top_gettext.Gettext ;; ++open Opt_gettext.Gettext ;; + +-Virt_top.parse_date_time := ++Top.parse_date_time := + fun time -> + let cal : Calendar.t = + if String.starts_with time "+" then ( (* +something *) +diff --git a/virt-top/virt_top_calendar2.ml b/src/opt_calendar2.ml +similarity index 97% +rename from virt-top/virt_top_calendar2.ml +rename to src/opt_calendar2.ml +index cc82eec..fd93704 100755 +--- a/virt-top/virt_top_calendar2.ml ++++ b/src/opt_calendar2.ml +@@ -24,9 +24,9 @@ open CalendarLib + open Printf + open ExtString + +-open Virt_top_gettext.Gettext ;; ++open Opt_gettext.Gettext ;; + +-Virt_top.parse_date_time := ++Top.parse_date_time := + fun time -> + let cal : Calendar.t = + if String.starts_with time "+" then ( (* +something *) +diff --git a/virt-top/virt_top_csv.ml b/src/opt_csv.ml +similarity index 94% +rename from virt-top/virt_top_csv.ml +rename to src/opt_csv.ml +index e048856..6c3b2be 100644 +--- a/virt-top/virt_top_csv.ml ++++ b/src/opt_csv.ml +@@ -19,16 +19,16 @@ + This file contains all code which requires CSV support. + *) + +-open Virt_top_gettext.Gettext ++open Opt_gettext.Gettext + + (* Output channel, or None if CSV output not enabled. *) + let chan = ref None ;; + +-Virt_top.csv_start := ++Top.csv_start := + fun filename -> + chan := Some (open_out filename) ;; + +-Virt_top.csv_write := ++Top.csv_write := + fun row -> + match !chan with + | None -> () (* CSV output not enabled. *) +diff --git a/virt-top/virt_top_xml.ml b/src/opt_xml.ml +similarity index 97% +rename from virt-top/virt_top_xml.ml +rename to src/opt_xml.ml +index ab291d3..bb83780 100644 +--- a/virt-top/virt_top_xml.ml ++++ b/src/opt_xml.ml +@@ -21,13 +21,13 @@ + + open ExtList + +-open Virt_top_gettext.Gettext ++open Opt_gettext.Gettext + + module C = Libvirt.Connect + module D = Libvirt.Domain + module N = Libvirt.Network ;; + +-Virt_top.parse_device_xml := ++Top.parse_device_xml := + fun id dom -> + try + let xml = D.get_xml_desc dom in +diff --git a/virt-top/virt_top.ml b/src/top.ml +similarity index 99% +rename from virt-top/virt_top.ml +rename to src/top.ml +index 0aae24e..38658c6 100644 +--- a/virt-top/virt_top.ml ++++ b/src/top.ml +@@ -21,8 +21,8 @@ open Printf + open ExtList + open Curses + +-open Virt_top_gettext.Gettext +-open Virt_top_utils ++open Opt_gettext.Gettext ++open Utils + + module C = Libvirt.Connect + module D = Libvirt.Domain +@@ -159,7 +159,7 @@ let start_up () = + and set_end_time time = end_time := Some ((!parse_date_time) time) + and display_version () = + printf "virt-top %s ocaml-libvirt %s\n" +- Virt_top_version.version Libvirt_version.version; ++ Version.version Libvirt_version.version; + exit 0 + in + let argspec = Arg.align [ +@@ -1723,7 +1723,7 @@ and show_help (_, _, _, _, _, _, hostname, + (* Banner at the top of the screen. *) + let banner = + sprintf (f_"virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat") +- Virt_top_version.version ++ Version.version + Libvirt_version.version + libvirt_major libvirt_minor libvirt_release in + let banner = pad cols banner in +diff --git a/virt-top/virt_top.mli b/src/top.mli +similarity index 100% +rename from virt-top/virt_top.mli +rename to src/top.mli +diff --git a/virt-top/virt_top_utils.ml b/src/utils.ml +similarity index 99% +rename from virt-top/virt_top_utils.ml +rename to src/utils.ml +index c5dc97d..3dc637d 100644 +--- a/virt-top/virt_top_utils.ml ++++ b/src/utils.ml +@@ -21,7 +21,7 @@ + + open Printf + +-open Virt_top_gettext.Gettext ++open Opt_gettext.Gettext + + module C = Libvirt.Connect + module D = Libvirt.Domain +diff --git a/virt-top/virt_top_utils.mli b/src/utils.mli +similarity index 100% +rename from virt-top/virt_top_utils.mli +rename to src/utils.mli +diff --git a/virt-top/virt_top_version.ml.in b/src/version.ml.in +similarity index 100% +rename from virt-top/virt_top_version.ml.in +rename to src/version.ml.in +diff --git a/virt-top/virt-top.pod b/src/virt-top.pod +similarity index 100% +rename from virt-top/virt-top.pod +rename to src/virt-top.pod +diff --git a/virt-top/.depend b/virt-top/.depend +deleted file mode 100644 +index 46099b7..0000000 +--- a/virt-top/.depend ++++ /dev/null +@@ -1,20 +0,0 @@ +-virt_top_calendar1.cmo: virt_top_gettext.cmo virt_top.cmi +-virt_top_calendar1.cmx: virt_top_gettext.cmx virt_top.cmx +-virt_top_calendar2.cmo: virt_top_gettext.cmo virt_top.cmi +-virt_top_calendar2.cmx: virt_top_gettext.cmx virt_top.cmx +-virt_top.cmi: +-virt_top.cmo: virt_top_version.cmo virt_top_utils.cmi virt_top_gettext.cmo virt_top.cmi +-virt_top.cmx: virt_top_version.cmx virt_top_utils.cmx virt_top_gettext.cmx virt_top.cmi +-virt_top_csv.cmo: virt_top_gettext.cmo virt_top.cmi +-virt_top_csv.cmx: virt_top_gettext.cmx virt_top.cmx +-virt_top_gettext.cmo: +-virt_top_gettext.cmx: +-virt_top_main.cmo: virt_top_gettext.cmo virt_top.cmi +-virt_top_main.cmx: virt_top_gettext.cmx virt_top.cmx +-virt_top_utils.cmi: +-virt_top_utils.cmo: virt_top_gettext.cmo virt_top_utils.cmi +-virt_top_utils.cmx: virt_top_gettext.cmx virt_top_utils.cmi +-virt_top_version.cmo: +-virt_top_version.cmx: +-virt_top_xml.cmo: virt_top_gettext.cmo virt_top.cmi +-virt_top_xml.cmx: virt_top_gettext.cmx virt_top.cmx +-- +2.19.0.rc0 + diff --git a/SOURCES/0006-Enable-same-warnings-as-libguestfs.patch b/SOURCES/0006-Enable-same-warnings-as-libguestfs.patch new file mode 100644 index 0000000..599987b --- /dev/null +++ b/SOURCES/0006-Enable-same-warnings-as-libguestfs.patch @@ -0,0 +1,34 @@ +From 5500a027ad231eb5bb16e36efee72b48cfac9528 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 12:21:48 +0100 +Subject: [PATCH 06/20] Enable same warnings as libguestfs. + +In particular 'warning 3' was still enabled before, meaning that the +code would fail with newer OCaml compilers: + + File "top.ml", line 377, characters 12-25: + Warning 3: deprecated: String.create + Use Bytes.create instead. + +Since we want to continue using old OCaml for now, don't enable +this warning. +--- + src/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.in b/src/Makefile.in +index d29f2e8..d744fd7 100755 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -64,7 +64,7 @@ OBJS += main.cmo + + XOBJS := $(OBJS:.cmo=.cmx) + +-OCAMLCFLAGS := -g -warn-error A-3 ++OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 + OCAMLCLIBS := -linkpkg + + OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) +-- +2.19.0.rc0 + diff --git a/SOURCES/0007-Remove-x-executable-permission-on-several-source-fil.patch b/SOURCES/0007-Remove-x-executable-permission-on-several-source-fil.patch new file mode 100644 index 0000000..a51cd10 --- /dev/null +++ b/SOURCES/0007-Remove-x-executable-permission-on-several-source-fil.patch @@ -0,0 +1,48 @@ +From 8cd690d0b8a5343d8731145b95931ec7aaa2db35 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 12:25:19 +0100 +Subject: [PATCH 07/20] Remove +x (executable) permission on several source + files. + +Not sure why it was there, but it was incorrect. +--- + src/Makefile.in | 0 + src/README | 0 + src/opt_calendar1.ml | 0 + src/opt_calendar2.ml | 0 + src/top.mli | 0 + src/utils.mli | 0 + src/virt-top.pod | 0 + 7 files changed, 0 insertions(+), 0 deletions(-) + mode change 100755 => 100644 src/Makefile.in + mode change 100755 => 100644 src/README + mode change 100755 => 100644 src/opt_calendar1.ml + mode change 100755 => 100644 src/opt_calendar2.ml + mode change 100755 => 100644 src/top.mli + mode change 100755 => 100644 src/utils.mli + mode change 100755 => 100644 src/virt-top.pod + +diff --git a/src/Makefile.in b/src/Makefile.in +old mode 100755 +new mode 100644 +diff --git a/src/README b/src/README +old mode 100755 +new mode 100644 +diff --git a/src/opt_calendar1.ml b/src/opt_calendar1.ml +old mode 100755 +new mode 100644 +diff --git a/src/opt_calendar2.ml b/src/opt_calendar2.ml +old mode 100755 +new mode 100644 +diff --git a/src/top.mli b/src/top.mli +old mode 100755 +new mode 100644 +diff --git a/src/utils.mli b/src/utils.mli +old mode 100755 +new mode 100644 +diff --git a/src/virt-top.pod b/src/virt-top.pod +old mode 100755 +new mode 100644 +-- +2.19.0.rc0 + diff --git a/SOURCES/0008-Refresh-HACKING-file.patch b/SOURCES/0008-Refresh-HACKING-file.patch new file mode 100644 index 0000000..5d2fa29 --- /dev/null +++ b/SOURCES/0008-Refresh-HACKING-file.patch @@ -0,0 +1,95 @@ +From cc9f1f9d8f17e8ac5a6a73af830c132d916fd6e0 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 12:30:01 +0100 +Subject: [PATCH 08/20] Refresh HACKING file. + +Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c. +--- + HACKING | 72 ++------------------------------------------------------- + 1 file changed, 2 insertions(+), 70 deletions(-) + +diff --git a/HACKING b/HACKING +index bce40a9..3cd266b 100644 +--- a/HACKING ++++ b/HACKING +@@ -7,75 +7,7 @@ General OCaml advice: + + (2) Emacs users: use tuareg-mode for editing OCaml. + +-(3) http://www.ocaml-tutorial.org/ ++(3) https://realworldocaml.org/ is the definitive book which is also ++ available online in full. + + (4) http://camltastic.blogspot.com/2008/08/3-things-that-will-confuse-you-when.html +- +-The code is structured into these files: +- +- virt_top_utils.mli / virt_top_utils.ml +- +- String functions and other small utility functions. This is +- included directly into virt_top.ml. +- +- virt_top_version.ml +- +- The version number (automatically generated by configure). +- +- virt_top.mli / virt_top.ml +- +- This is the virt-top program. +- +- The two interesting functions are called 'collect' and 'redraw'. +- +- 'collect' collects all the information about domains, etc. +- +- 'redraw' updates the display on each frame. +- +- Another interesting function is 'start_up' which handles all +- start-up stuff, eg. command line arguments, connecting to the +- hypervisor, enabling curses. +- +- The function 'main_loop' runs the main loop and has sub-functions +- to deal with keypresses, help screens and so on. +- +- virt_top_xml.ml +- +- Any code which needs the optional xml-light library goes +- in here. Mainly for parsing domain XML descriptions to get +- the list of block devices and network interfaces. +- +- The reason for having it in a separate file is so that we +- don't depend on xml-light. +- +- virt_top_csv.ml +- +- Any code which needs the optional ocaml-csv library goes +- in here. This implements the --csv command line option. +- +- virt_top_calendar1.ml +- virt_top_calendar2.ml +- +- Any code which needs the optional ocaml-calendar library +- goes in here. This implements the --end-time command line +- option. Note there are two incompatible versions of the +- ocaml-calendar library, which is why we have two +- implementations. The Makefile works out which one to use. +- +- virt_top_gettext.ml +- +- Gettext interaction (this is generated by ./configure). +- +- virt_top_main.ml +- +- This is just a small bit of code to glue the modules above +- together. +- +-The man-page is generated from the single file: +- +- virt-top.pod +- +-which generates (using perldoc) the following: +- +- virt-top.1 +- virt-top.txt +-- +2.19.0.rc0 + diff --git a/SOURCES/0009-Fix-po-POTFILES-for-new-location-of-source-files.patch b/SOURCES/0009-Fix-po-POTFILES-for-new-location-of-source-files.patch new file mode 100644 index 0000000..402d03b --- /dev/null +++ b/SOURCES/0009-Fix-po-POTFILES-for-new-location-of-source-files.patch @@ -0,0 +1,34 @@ +From 1b4980da40000a34ec987f83824dd69454c4e8e4 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 12:33:22 +0100 +Subject: [PATCH 09/20] Fix po/POTFILES for new location of source files. + +Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c. +--- + po/POTFILES | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/po/POTFILES b/po/POTFILES +index 55bb82d..70d62d5 100644 +--- a/po/POTFILES ++++ b/po/POTFILES +@@ -1,7 +1,9 @@ +-../virt-top/virt_top_calendar1.ml +-../virt-top/virt_top_calendar2.ml +-../virt-top/virt_top_csv.ml +-../virt-top/virt_top_main.ml +-../virt-top/virt_top.ml +-../virt-top/virt_top_utils.ml +-../virt-top/virt_top_xml.ml ++../src/main.ml ++../src/opt_calendar1.ml ++../src/opt_calendar2.ml ++../src/opt_csv.ml ++../src/opt_gettext.ml ++../src/opt_xml.ml ++../src/top.ml ++../src/utils.ml ++../src/version.ml +-- +2.19.0.rc0 + diff --git a/SOURCES/0010-Update-PO-files.patch b/SOURCES/0010-Update-PO-files.patch new file mode 100644 index 0000000..01ada1e --- /dev/null +++ b/SOURCES/0010-Update-PO-files.patch @@ -0,0 +1,14279 @@ +From 0b6f6d45d50174e27f9a425f67bb1a6045a8e58c Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 12:34:20 +0100 +Subject: [PATCH 10/20] Update PO files. + +--- + po/as.po | 227 +++++++++++++++++++++++++---------------------- + po/ca.po | 229 +++++++++++++++++++++++++---------------------- + po/de.po | 215 ++++++++++++++++++++++++-------------------- + po/es.po | 227 +++++++++++++++++++++++++---------------------- + po/eu.po | 211 ++++++++++++++++++++++++-------------------- + po/fr.po | 213 ++++++++++++++++++++++++-------------------- + po/gu.po | 226 +++++++++++++++++++++++++---------------------- + po/hu.po | 230 +++++++++++++++++++++++++----------------------- + po/id.po | 223 ++++++++++++++++++++++++---------------------- + po/it.po | 227 +++++++++++++++++++++++++---------------------- + po/ja.po | 227 ++++++++++++++++++++++++++--------------------- + po/ka.po | 211 ++++++++++++++++++++++++-------------------- + po/kn.po | 227 +++++++++++++++++++++++++---------------------- + po/ml.po | 227 +++++++++++++++++++++++++---------------------- + po/mr.po | 225 ++++++++++++++++++++++++---------------------- + po/nl.po | 227 +++++++++++++++++++++++++---------------------- + po/or.po | 227 +++++++++++++++++++++++++---------------------- + po/pa.po | 211 ++++++++++++++++++++++++-------------------- + po/pl.po | 227 +++++++++++++++++++++++++---------------------- + po/pt.po | 227 +++++++++++++++++++++++++---------------------- + po/pt_BR.po | 227 +++++++++++++++++++++++++---------------------- + po/ru.po | 227 +++++++++++++++++++++++++---------------------- + po/sr.po | 229 +++++++++++++++++++++++++---------------------- + po/sv.po | 227 +++++++++++++++++++++++++---------------------- + po/te.po | 226 +++++++++++++++++++++++++---------------------- + po/tg.po | 210 +++++++++++++++++++++++-------------------- + po/tr.po | 211 ++++++++++++++++++++++++-------------------- + po/uk.po | 226 +++++++++++++++++++++++++---------------------- + po/virt-top.pot | 203 ++++++++++++++++++++++++------------------ + po/zh_CN.po | 227 ++++++++++++++++++++++++++--------------------- + po/zh_TW.po | 209 +++++++++++++++++++++++-------------------- + 31 files changed, 3738 insertions(+), 3148 deletions(-) + +diff --git a/po/as.po b/po/as.po +index 260415e..9c9d4b5 100644 +--- a/po/as.po ++++ b/po/as.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top বিন্যাস নথিপত্ৰ\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# উল্লেখিত নথিপত্ৰত CSV নিৰ্গম লিখাৰ ব্যৱস্থা সক্ৰিয় কৰা হ'ব\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# এই নথিপত্ৰৰ বিষয়বস্তুৰ ওপৰত পুনঃ নিলিখিবলৈ, পৰবৰ্তী পংক্তিৰ পৰা মন্তব্যৰ " +-"চিহ্ন আঁতৰাওক\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# ডিবাগ আৰু ত্ৰুটি বাৰ্তা নথিপত্ৰত লিখাৰ বাবে পৰবৰ্তী পংক্তিৰ পৰা মন্তব্যৰ " +-"চিহ্ন আঁতৰাওক\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %s ত %s দ্বাৰা উৎপন্ন কৰা হৈছে\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,279 +50,302 @@ msgstr "" + "%d ডোমেইন, %d সক্ৰিয়, %d চলমান, %d নিদ্ৰিত, %d স্থগিত, %d নিষ্ক্ৰিয় D:%d " + "O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: প্ৰদৰ্শন %s হোৱা উচিত" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: সুবিন্যস্ত কৰোঁতে ব্যৱহৃত মান: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: অজ্ঞাত স্থিতিমাপ" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: বিন্যাসৰ বস্তু ``%s'' উপেক্ষিত\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: বিলম্বৰ মান শূণ্যৰ অধিক হোৱা আৱশ্যক" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "বেচ মোড" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "ব্লক পঢ়িবলৈ আৱশ্যক মান" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "ব্লকত লিখাৰ আৱশ্যক মান" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% স্মৃতিশক্তি: %Ld MB (অতিথি দ্বাৰা %Ld MB)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "বিলম্বৰ মান %.1f ৰ পৰা চিহ্নিত মানলৈ পৰিবৰ্তন কৰা হ'ব: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "চিহ্নিত URI-ৰ সৈতে সংযোগ স্থাপন কৰক (অবিকল্পিত: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "সংযুক্ত কৰক: %s; গৃহস্থৰ নাম: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "DISPLAY MODES" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "বিলম্বৰ মান > 0 হোৱা আৱশ্যক" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "বিলম্বৰ সময়কাল (ছেকেণ্ডত ব্যক্ত)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "বিলম্ব: %.1f ছেকেণ্ড; বেচ: %s; নিৰাপত্তা: %s; ক্ৰমবিন্যাস: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CSV ত CPU সংক্ৰান্ত পৰিসংখ্যা নিষ্ক্ৰিয় কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "CSV ত ব্লক যন্ত্ৰ সংক্ৰান্ত পৰিসংখ্যা নিষ্ক্ৰিয় কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "CSV ত নেট সংক্ৰান্ত পৰিসংখ্যা নিষ্ক্ৰিয় কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "সংস্কৰণ নম্বৰ প্ৰদৰশন কৰা আৰু প্ৰস্থান কৰা" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init নথিপত্ৰ পঢ়া ন'হ'ব" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ডোমেইন ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "ডোমেইনৰ নাম" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "ডোমেইনৰ প্ৰদৰ্শন" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "ত্ৰুটি" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "নিৰ্দিষ্ট সময়ত প্ৰস্থান কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "সহায়" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "CPU ৰ বিলম্বৰ পূৰ্ববৰ্তী তথ্য" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "CSV নথিপত্ৰত পৰিসংখ্যা সংৰক্ষণ কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "MAIN KEYS" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "virt-top(1) man পৃষ্ঠাত অতিৰিক্ত সহায়ক তথ্য উপস্থিত আছে । প্ৰত্যাবৰ্তন কৰাৰ " + "বাবে যি কোনো চাবি টিপক ।" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"উল্লেখ্য: স্থানীয় Xen হাইপাৰভাইছৰ নিৰীক্ষণৰ বাবে root ব্যৱহাৰকৰোঁতাৰ পৰিচয় " +-"ধাৰণ কৰা আৱশ্যক" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "প্ৰকৃত RX bytes" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "প্ৰকৃত TX bytes" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "বৈধ সংখ্যা নহয়" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "পুনৰাবৃত্তিৰ সংখ্যা" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "বন্ধ" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "খোলা" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "প্ৰস্থান" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + "স্ক্ৰিপ্টৰ সহযোগত সঞ্চালন কৰা হ'ব (ব্যৱহাৰকৰোঁতাৰ সংযোগ মাধ্যম নোহোৱাকে)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTING" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "নিৰাপদ (\\\"kiosk\\\") মোড" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "ক্ৰমবিন্যাসৰ বাবে ক্ষেত্ৰ নিৰ্বাচন কৰক" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "ডিবাগ সংক্ৰান্ত বাৰ্তা নথিপত্ৰলৈ পঠিওৱা হ'ব" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init নথিপত্ৰৰ নাম ধাৰ্য কৰক" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "ক্ৰমবিন্যাসৰ মান নিৰ্ধাৰণ কৰক (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "প্ৰধান প্ৰদৰ্শনৰ বাবে ক্ৰমবিন্যাসৰ মান নিৰ্ধাৰণ কৰক" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "উন্নয়নৰ সময়ৰ ব্যৱধান নিৰ্ধাৰণ কৰক" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU অনুযায়ী সুবিন্যস্ত কৰক" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM অনুযায়ী সুবিন্যস্ত কৰক" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID অনুযায়ী সুবিন্যস্ত কৰক" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "TIME অনুযায়ী সুবিন্যস্ত কৰক" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "ব্লক যন্ত্ৰ প্ৰদৰ্শন কৰি আৰম্ভ কৰক" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "নে'টৱৰ্ক সংযোগ মাধ্যমৰ প্ৰদৰ্শন কৰি আৰম্ভ কৰক" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPU প্ৰদৰ্শন দ্বাৰা আৰম্ভ কৰক (অবিকল্পিত মান: tasks)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (CPU ৰ সময়)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "ব্লক যন্ত্ৰ টগল কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "নে'টৱৰ্ক সংযোগ মাধ্যম টগল কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "প্ৰকৃত CPU টগল কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "চাবি লিখক বা ওপৰ আৰু তলৰ স্থানান্তৰণৰ কাৰ্ছাৰ চাবি প্ৰয়োগ কৰক ।" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "অজ্ঞাত আদেশ - সহায়েৰ বাবে 'h' লিখক" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "প্ৰদৰ্শন উন্নত কৰা হ'ব" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "%s লৈ বৈশিষ্ট্য লিখা হৈছে" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "অবিকল্পিত" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc ৰ পৰা প্ৰাপ্ত নহয়" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat - দ্বাৰা" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -345,10 +361,11 @@ msgstr "" + "\n" + "OPTIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "CSV নথিপত্ৰৰ সমৰ্থন নোহোৱাকৈ virt-top সঙ্কলন কৰা হৈছিল" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "দিন আৰু সময়ৰ সমৰ্থন নোহোৱাকৈ virt-top সঙ্কলন কৰা হৈছিল" ++ +diff --git a/po/ca.po b/po/ca.po +index 09313aa..48fc213 100644 +--- a/po/ca.po ++++ b/po/ca.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# Robert Antoni Buj i Gelonch, 2015 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s fitxer de configuració de virt-top\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Habilita la sortida CSV al fitxer named\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Per protegir aquest fitxer sigui sobreescrit, descomenteu la següent " +-"línia\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Per a enviar missatges de depuració o d'error a un fitxer, descomenteu la " +-"següent línia\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# generat el %s per %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -59,278 +50,301 @@ msgstr "" + "%d dominis, %d en actiu, %d en execució, %d dormint, %d en pausa, %d " + "inactius D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: la pantalla hauria de ser %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: l'ordre d'ordenació hauria de ser: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: paràmetre desconegut" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: l'element de la configuració «%s» s'ha ignorat\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: no pot establir un retard negatiu" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Mode per lots" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Sol·licituds de lectura de blocs" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Sol·licituds d'escriptura de blocs" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB per als amfitrions)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Canvia el retard de %.1f a: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Connecta a la URI (predeterminat: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Connexió: %s; Nom d'amfitrió: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "MODES DE VISUALITZACIÓ" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "El retard ha de ser > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Interval del retard (segons)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Retard: %.1f seg; Per lots: %s; Seguretat: %s; Ordenació: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "En el CSV, deshabilita les estadístiques de la CPU" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "En el CSV, deshabilita les estadístiques dels dispositius de blocs" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "En el CSV, deshabilita les estadístiques de la xarxa" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Mostra la versió i surt" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "No llegeix el fitxer d'inicialització" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ID del domini" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Nom del domini" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Visualització dels dominis" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Error" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Surt en l'hora indicada" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Ajuda" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Retard en l'històric de la CPU" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Enregistra les estadístiques al fitxer CSV" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "TECLES PRINCIPALS" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Més informació en la pàgina man virt-top(1). Premeu qualsevol tecla per " + "tornar." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"N.B.: Si voleu supervisar un hipervisor Xen local, normalment heu de ser " +-"root" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Xarxa RX bytes" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Xarxa TX bytes" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "No és un número vàlid" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Número d'iteracions a executar" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Apagat" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Encés" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Surt" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Executa des d'una seqüència d'ordres (sense interfície gràfica)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "ORDENACIÓ" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Mode (\\\"kiosk\\\") segur" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Selecciona camp d'ordenació" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Envia els missatges de depuració al fitxer" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Estableix el nom del fitxer d'inicialització" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Estableix el mètode d'ordenació (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Estableix el mètode d'ordenació per a la pantalla principal" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Interval d'actualització" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Ordena per %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Ordena per %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Ordena per ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Ordena per TEMPS" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Comença mostrant els dispositius de blocs" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Comença mostrant les interfícies de xarxa" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Comença mostrant pCPUs (predeterminat: tasques)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TEMPS (temps de CPU)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Commuta dispositius de blocs" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Commuta interfícies de xarxa" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Commuta CPU físiques" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Teclegeu una tecla o utilitzeu les fletxes del cursor amunt o abaix." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Ordre no reconeguda - proveu 'h' per l'ajuda" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Actualitza la pantalla" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "S'ha escrit les preferències a %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "predet." + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc no va retornar " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d per Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -346,10 +360,11 @@ msgstr "" + "\n" + "OPCIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top fou compilat sense compatibilitat per a fitxers CSV" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top fou compilat sense compatibilitat per data i hora" ++ +diff --git a/po/de.po b/po/de.po +index 93fc598..cdb1ec6 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "Unterbrochen durch Benutzer" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "'%s' sollte numerisch sein." + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "Soll eine Palette verwendet werden?" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "Unerwarteter Parameter '%s'" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "Überflüssige Eigenschaft, ignoriert" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "Untertitelverzögerung einstellen (in 1/10s)" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Batchmodus" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Kann Wert von '%s' nicht lesen" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Konnte \"%s\" nicht schreiben: %s" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB von Gast)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Ändere Verzögerung von %.1f auf: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Auflösen des Hostnamens" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "ANZEIGE-MODUS" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Verzögerung muss > 0 sein" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "&Zeitüberschreitung nach" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "Domain-ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Domainname" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Vorgabeanzeige" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Fehler" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Hilfe" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Audioverzögerung verringern" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Logtexte in Datei speichern" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "HAUTP-SCHLÜSSEL" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "&Größe in Bytes anzeigen" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "&Größe in Bytes anzeigen" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Keine gültige Nummer" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Die Anzahl der anzuzeigenden Spalten" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Beenden" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTIERUNG" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "IP für aktiven Modus" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Verzeichnisse einsortieren" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Konnte Fehlerberichtsdatei \"%s\" nicht entfernen." + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Dateiname bereits vorhanden" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Alternative Reihenfolge für Knöpfe" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Aktualisierungsintervall des Menüs" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Nach %CPU sortieren" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Nach %MEM sortieren" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Nach ID sortieren" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Nach ZEIT sortieren" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "ZEIT (CPU-Zeit)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "HAL-Geräteerkennung" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "&Netzwerkkonfigurations-Assistent..." + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Der Schaltzustand des Knopfes" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Unbekannter Befehl `%s'. Geben Sie `help' für Hilfe ein." + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Vorgabeanzeige" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Schreib Einstellungen nach %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc didn't return " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -328,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/es.po b/po/es.po +index 4dccb7f..66d4f34 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s archivo de configuración de virt-top\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Habilita la salida de CVS para el archivo indicado\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Para proteger este archivo y que no sea sobreescrito, que la siguiente " +-"línea esté sin comentar\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Para enviar mensajes de error, o de depuración a un archivo, que la " +-"siguiente línea esté sin comentar\\n " + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# generado en %s por %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,279 +50,302 @@ msgstr "" + "%d dominios, %d activo, %d ejecutándose, %d adormecido, %d pausado, %d " + "inactivo D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: se debería ver %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: el orden de clasificación debería ser: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: parámetro desconocido" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: item de configuración ``%s'' ignorado\\n%! " ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: no se puede establecer un retraso negativo" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Modo en lotes" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Pedidos de lectura en bloques" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Pedidos de escritura en bloques" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB por huéspedes)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Cambiar retraso de %.1f a:" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Conectar a URI (por defecto: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Conectar: %s; Nombre de máquina: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "MODOS de EXHIBICION" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "El retraso debe ser > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Intervalo de tiempo de retraso (segundos)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Retraso: %.1f secs; Lote: %s; Seguro: %s; Clasificado: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Deshabilita estadísticas del CPU en CVS" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Deshabilita stadísticas del dispositivo de bloque en CVS" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Deshabilita estadísticas de red en CVS" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Muestra el número de la versión y se cierra" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "No lee el archivo init" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ID de dominio" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Nombre del dominio" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Exhibe los dominios" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Error" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Sale en un tiempo determinado" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Ayuda" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Histórico de retraso del CPU" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Estadísticas de log para el archivo CVS" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "TECLAS PRINCIPALES" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Más ayuda en la página del manual (man) de virt-top(1). Presione cualquier " + "tecla para volver." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: Si quiere monitorear un hypervisor local Xen, generalmente necesita ser " +-"root" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Cantidad neta de bytes recibidos" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Cantidad neta de bytes transmitidos" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "No es un número válido" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Número de iteraciones a ser ejecutadas" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Apagado" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Encendido" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Salir" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Ejecutar desde un programa (sin interfase de usuario)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "CLASIFICANDO" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Modo seguro (\\\"kiosco\\\")" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Seleccionar un campo para clasificar" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Enviar los mensajes de depuración al archivo" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Establece el nombre del archivo init" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Establece el orden de clasificación (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Establece el orden de clasificación para la exhibición principal" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Establece el intervalo de actualización" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Clasificación por %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Clasificación por %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Clasificación por ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Clasificación por TIEMPO" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Empieza con la exhibición de los dispositivos de bloque" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Empieza con la exhibición de las interfases de red" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Empieza con la exhibición de los pCPUs (por defecto: tareas)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIEMPO (tiempo del CPU)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Alterna entre los dispositivos de bloque" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Alterna entre las interfases de red" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Alterna entre los CPUs físicos" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + "Presione una tecla o utilice teclas de navegación para arriba o para abajo." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Comando desconocido - intente con 'h' para obtener ayuda" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Actualiza la exhibición" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Configuraciones guardadas en %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "predeterminado" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "el get_xml_desc no ha retornado " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d por Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -345,10 +361,11 @@ msgstr "" + "\n" + "OPCIONES" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top fue compilado sin soporte para archivos CSV" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top fue compilado sin soporte para fechas y horas" ++ +diff --git a/po/eu.po b/po/eu.po +index 58f6976..7759711 100644 +--- a/po/eu.po ++++ b/po/eu.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# Asier Iturralde Sarasola , 2012 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Konektatu: %s; Ostalari-izena: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Domeinu-izena" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Errorea" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Laguntza" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Irten" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Ordenatu %CPUren arabera" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Ordenatu %MEMen arabera" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Ordenatu IDaren arabera" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Ordenatu denboraren arabera" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "lehenetsia" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -330,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/fr.po b/po/fr.po +index fc5a41d..3f2981c 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n > 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s fichier de configuration virt-top\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Activer la sortie CSV pour le fichier nommé\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Mode batch" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -328,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/gu.po b/po/gu.po +index 1e17407..87a8134 100644 +--- a/po/gu.po ++++ b/po/gu.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,38 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top રૂપરેખાંકન ફાઇલ\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# નામ થયેલ ફાઇલમાં CSV આઉટપુટને સક્રિય કરો\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# ઉપરલખાયેલ માંથી આ ફાઇલને સુરક્ષિત રાખવા માટે, પછીનાં વાક્યની ટિપ્પણી ન " +-"કરો\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# ફાઇલમાં ડિબગ અને ભૂલ સંદેશાઓ મોકલવા માટે, પછીનાં વાક્યની ટિપ્પણી ન કરો\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %s દ્દારા %s પર ઉત્પન્ન થયેલ છે\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -56,277 +50,300 @@ msgstr "" + "%d ડોમેઇને, %d સક્રિય, %d ચાલી રહ્યુ છે, %d નિષ્ક્રિય, %d અટકેલ, %d " + "નિષ્ક્રિય D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: દેખાવ %s હોવુ જ જોઇએ" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: ક્રમ એ હોવો જોઇએ: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: અજ્ઞાત પરિમાણ" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: રૂપરેખાંકન સસ્તુ ``%s'' અવગણેલ છે\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: નકારાત્મક વિલંબને સુયોજિત કરી શકાતુ નથી" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "બેચ સ્થિતિ" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "બ્લોક વાંચવાનું જરૂરી છે" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "બ્લોક લખવાનું જરૂરી છે" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (મહેમાન દ્દારા %Ld MB)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "ને %.1f માંથી વિલંબ સમય ને બદલો: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "URI ને જોડો (મૂળભૂત: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "જોડો: %s; યજમાનનામ: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "સ્થિતિઓને દેખાડો" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "વિલંબ એ > 0 હોવુ જ જોઇએ" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "વિલંબ સમય સમયગાળો (સેકંડો)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "વિલંબ: %.1f secs; બેચ: %s; સુરક્ષા: %s; ક્રમ: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CSV માં CPU સ્થિતિઓને નિષ્ક્રિય કરો" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "CSV માં બ્લોક ઉપકરણ સ્થિતિઓને નિષ્ક્રિય કરો" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "CSV માં નેટ સ્થિતિને નિષ્ક્રિય કરો" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "આવૃત્તિ નંબરને દર્શાવો અને બહાર નીકળો" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init ફાઇલ વંચાતુ નથી" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ડોમેઇન ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "ડોમેઇન નામ" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "ડોમેઇનોનો દેખાવ" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "ભૂલ" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "આપેલ સમય પર બહાર નીકળો" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "મદદ" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "ઐતિહાસિક CPU વિલંબ" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "CSV ફાઇલમાં લોગ પરિસ્થિતિઓ" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "મુખ્ય કીઓ" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "virt-top(1) પુસ્તિકા પાનાંમાં વધારે મદદ. પાછુ લાવવા માટે કોઇપણ કીને દબાવો." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: જો તમે સ્થાનિક Xen હાઇપરવિઝરને મોનિટર કરવા માંગતા હોય તો, તમારે સામાન્ય " +-"રીતે રુટની જરૂર પડશે" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "નેટ RX બાઇટો" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "નેટ TX બાઇટો" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "યોગ્ય નંબર નથી" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "ચલાવવા માટે પુનરાવર્તનોની સંખ્યા" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "બંધ" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "ચાલુ" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "બહાર નીકળો" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "સ્ક્રિપ્ટમાંથી ચલાવો (વપરાશકર્તા ઇન્ટરફેસ નથી)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "ક્રમમાં કરી રહ્યા છે" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "સુરક્ષા (\\\"kiosk\\\") સ્થિતિ" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "ટૂંકા ક્ષેત્રને પસંદ કરો" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "ફાઇલમાં ડિબગ સંદેશાઓને મોકલો" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init ફાઇલની નામ ને સુયોજિત કરો" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "ક્રમને સુયોજિત કરો (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "મુખ્ય દેખાવ માટે ક્રમને સુયોજિત કરો" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "સુધારેલ સમયગાળાને સુયોજિત કરો" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU દ્દારા ક્રમમાં કરો" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM દ્દારા ક્રમમાં કરો" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID દ્દારા ક્રમમાં કરો" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "TIME દ્દારા ક્રમમાં કરો" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "બ્લોક ઉપકરણો દેખાવ દ્દારા શરૂ કરો" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "નેટવર્ક ઇન્ટરફેસો ને દેખાવા દ્દારા શરૂ કરો" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPUs (મૂળભૂત: કાર્યો) ને દેખાવા દ્દારા શરૂ કરો" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (CPU સમય)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "ટોગલ બ્લોક ઉપકરણો" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "ટોગલ નેટવર્ક ઇન્ટરફેસો" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "ટોગલ ભૌતિક CPUs" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "કીને ટાઇપ કરો અથવા ઉપર અને નીચે કર્સર કીઓને વાપરો." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "મદદ માટે અજ્ઞાત આદેશ - try 'h'" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "દેખાવને સુધારો" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "%s માં સુયોજનોને લખ્યુ" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "મૂળભૂત" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc થી પાછુ મળ્યુ નહિં" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "Red Hat પ્રમાણે virt-top %s ocaml-libvirt %s libvirt %d.%d.%d" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -342,10 +359,11 @@ msgstr "" + "\n" + "OPTIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "CSV ફાઇલો માટે આધાર વગર virt-top એ કમ્પાઇલ થયેલ ન હતુ" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "તારીખો અને સમયો માટે આધાર વગર virt-top એ કમ્પાઇલ થયેલ હતુ" ++ +diff --git a/po/hu.po b/po/hu.po +index 64552d7..937002a 100644 +--- a/po/hu.po ++++ b/po/hu.po +@@ -1,10 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# Szabo Attila , 2013 +-# Zoltan Hoppár , 2012 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -20,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top konfigurációs fájl \\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# CSV kimenet engedélyezése a megnevezett fájlhoz\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Hogy megvédd ezt a fájlt a fölülírástól, vedd ki a kommentet a következő " +-"sorból\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Ahhoz hogy hibakeresési és hiba üzeneteket küldd a fájlba, vedd ki a " +-"kommentet a következő sorból \\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %s lett létrehozva %s által\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -60,278 +50,301 @@ msgstr "" + "%d domének, %d aktív, %d fut, %d alszik, %d felfüggesztve, %d inaktív D:%d " + "O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: a képernyőnek %snek kellene lennie" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: a rövid sorrendnek %snek kellene lennie" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: ismeretlen paraméter" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: konfigurációs tétek ``%s'' ignorált\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: negatív késleltetést nem lehet megadni" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Kötegelt mód" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Blokk olvasási kérések" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Blokk írási kérések" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB a vendégek által)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "A késleltetés megváltoztatása %.1f-ről:" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Kapcsolódás az URIhoz (alap:XEN)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Kapcsolódás: %s; Hosztnév: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "Megjelenítési módok" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "A késleltetés legyen >0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Késleltetés intervallumának ideje( másodpercek)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Késleltetés: %.1f másodperc; Köteg: %s; Biztosított: %s; Rövid: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Processzor statisztika felfüggesztése CSVben" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Blokk eszköz statisztika felfüggesztése CSVben" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Hálózat statisztika felfüggesztése CSVben" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Verziószám megjelenítése és kilépés" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Init fájl ne kerüljön olvasásra" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "Domén azonosító" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Domén név" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Domének megjelenítése" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Hiba" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Kilépés a megadott időben" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Segitség" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Történeti processzor késleltetés" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Log statisztika egy CSV fájlba" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "FŐBB GOMBOK" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "További segitség a virt-top(1) man oldalon. Nyomjon meg bármilyen billentyűt" + " a visszatéréshez." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"TM: ha monitorozni akarja a helyi Xen hypervisort , akkor általában root-nak" +-" kell lennie" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Következő RX bájtok" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Következő TX bájtok" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Nem egy érvényes szám" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "A futtatni való ismétlések száma" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Ki" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Be" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Kilépés" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Működés szkriptről (nincs felhasználói felület)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "RENDEZÉS" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Biztonsági (\\\"kiosk\\\") mód" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Válassza ki a rövid mezőt" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Hibakeresési üzenetek küldése fájlba" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Init fájl nevének beállítása" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "válogatás sorrendjének beállítása (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "válogatás sorrendjének beállítása a fő képernyőhöz" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "frissítés intervallumának beállítása" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Rendezés %CPU által" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Rendezés %MEM által" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Rendezés azonosító alapján" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Rendezés IDŐ alapján" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "A blokk eszközök megjelenítésével kezdődjön" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "A hálózati interfészek megjelenítésével kezdődjön" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPUk megjelenítésével kezdődjön (alapból: feladatok)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "IDŐ ( processzor idő)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Blokk eszközök váltása" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Hálózati interfészek váltása" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Fizikai processzorok váltása" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Üss le egy billentyűt vagy használd a fel és le kurzor billentyűket." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Ismeretlen parancs - próbáld meg a h a segitségért" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "képernyő frissítése" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "beállítások kiírása a %s-be" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "alap" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc nem adta vissza a " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat által" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -347,10 +360,11 @@ msgstr "" + "\n" + "OPTIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "A virt-top CSV fájlok támogatása nélkül lett fordítva" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "A virt-top dátumok és idők nélküli támogatással lett fordítva" ++ +diff --git a/po/id.po b/po/id.po +index 91eeb7a..da75176 100644 +--- a/po/id.po ++++ b/po/id.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# Andika Triwidada , 2014 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0;\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# berkas konfigurasi virt-top %s\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Fungsikan keluaran CSV ke berkas yang dinamai\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Untuk melindungi berkas ini dari tertimpa, ubah baris berikutnya menjadi " +-"bukan komentar\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Untuk mengirim pesan awakutu dan galat ke sebuah berkas, ubah baris " +-"berikutnya menjadi bukan komentar\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# dijangkitkan pada %s oleh %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -59,274 +50,299 @@ msgstr "" + "%d domain, %d aktif, %d berjalan, %d tidur, %d diistirahatkan, %d tak aktif " + "D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: tampilan mestinya %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: urutan mestinya: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: parameter tak dikenal" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: butir konfigurasi ``%s'' diabaikan\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: tak dapat menata tundaan negatif" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Mode batch" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Permintaan baca blok" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Permintaan tulis blok" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -336,10 +352,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/it.po b/po/it.po +index 65036f4..645b344 100644 +--- a/po/it.po ++++ b/po/it.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# file di configurazione virt-top %s\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Abilita l'output CSV al file indicato\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Per proteggere questo file e non sovrascriverlo decommentare la riga " +-"successiva\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Per inviare i messaggi d'errore e di debug ad un file decommentare la riga" +-" successiva\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# generato su %s da %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,278 +50,301 @@ msgstr "" + "%d domini, %d attivi, %d in esecuzione, %d sospesi, %d in pausa, %d inattivo" + " D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: il display dovrebbe essere %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: l'ordine dovrebbe essere: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: parametro sconosciuto" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: oggetto per la configurazione ``%s'' ignorato\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: impossibile impostare un ritardo negativo" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Modalità batch" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Richieste di lettura del blocco" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Richieste di scrittura del blocco" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB dai guest)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Modifica ritardo da %.1f a: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Collega all'URI (predefinito: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Collega: %s; Nome host: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "MADALITÀ DISPLAY" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Il ritardo deve essere > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Intervallo di tempo del ritardo (secondi)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Ritardo: %.1f sec; Batch: %s; Sicuro: %s; Ordina: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Disabilita le statistiche della CPU in CSV" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Disabilita le statistiche del dispositivo a blocchi in CSV" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Disabilita le statistiche della rete in CSV" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Non leggere il file init" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ID del dominio" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Nome del dominio" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Display dei domini" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Errore" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Esci ad un tempo indicato" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Aiuto" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Ritardo della CPU storico" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Statistiche del log per il file CSV" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "TASTI PRINCIPALI" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Maggiori informazioni nella pagina man di virt-top(1). Premere qualsiasi " + "tasto per ritornare allo stato precedente." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: Se si desidera monitorare un hypervisor di Xen locale, generalmente sarà" +-" necessario eseguire il riavvio" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Byte RX della rete" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Byte TX della rete" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Non è un numero valido" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Numero di iterazioni da eseguire" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Esci" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Esegui da uno script (non interfaccia utente)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "ORDINE IN CORSO" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Modalità (\\\"kiosk\\\") Sicuro" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Campo seleziona ordine" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Invia i messaggi di debug al file" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Imposta il nome del file init" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Imposta ordine (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Imposta ordine per il display principale" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Imposta l'intervallo di aggiornamento" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Ordina per %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Ordina per %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Ordina per ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Ordina per TIME" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Avvia mostrando i dispositivi a blocchi" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Avvia mostrando le interfacce di rete" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Avvia mostrando le pCPU (predefinito: compiti)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (ora CPU)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Commuta i dispositivi a blocchi" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Commuta le interfacce di rete" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Commuta le CPU fisiche" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Premere il tasto o usare i tasti del cursore su e giù." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Comando sconosciuto - provare 'h' per l'aiuto" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Aggiorna display" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Impostazioni scritte su %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc non ha ritornato " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -344,10 +360,11 @@ msgstr "" + "\n" + "OPZIONI" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top è stata compilata senza il supporto per i file CSV" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top è stata compilata senza il supporto per le date e l'ora" ++ +diff --git a/po/ja.po b/po/ja.po +index 3115905..4b924db 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,35 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top の設定ファイル\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# 指定したファイルへの CSV 形式での出力を有効にします。\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" +-msgstr "# このファイルが上書きされるのを防ぐには、次の行をアンコメントします。\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" +-msgstr "# デバッグメッセージとエラーメッセージをファイルに出力するには、次の行をアンコメントします。\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %s 上で生成 (%s による)\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -53,274 +50,299 @@ msgstr "" + "定義済み %d 個, 有効化 %d 個, 稼働中 %d 個, 休止中 %d 個, 停止中 %d 個, 非稼働 %d 個, カウンター D:%d O:%d" + " X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: 表示は %s となるべきです" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: 分類順は次のようになるべきです: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: 不明なパラメータ" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: 設定項目 ``%s'' 無視されました。\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: 遅延間隔にマイナスは指定できません。" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "バッチモード" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "読み込み要求を阻止する" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "書き込み要求を阻止する" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB をゲストで使用中)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "遅延間隔を %.1f から次の秒数へ変更する: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "接続先のlibvirt URI(デフォルト: xen:///)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "接続 : %s; ホスト名 : %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "表示モード" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "遅延間隔はゼロ以外より大きい整数でなければなりません。" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "遅延間隔(秒)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "遅延間隔: %.1f 秒; バッチ: %s; セキュア: %s; 分類: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CSV 内の CPU 統計を無効にする" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "CSV 内のブロックデバイス統計を無効にする" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "CSV 内のネットワークの統計を無効にする" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "バージョン番号を表示して終了" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init ファイルを読み込まない" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ドメイン ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "ドメイン名" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "ドメイン表示" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "エラー" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "任意の時点で終了" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "ヘルプ" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "CPU 統計履歴の表示間隔" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "CSV ファイルへのログ統計" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "主要キー" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "virt-top(1) man ページには他のヘルプが用意されています。なにかキーを押すと戻ります" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" +-msgstr "※ローカル Xen ハイパバイザーをモニターしたい場合は、root ユーザーになる必要があります。" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" ++msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "ネット RX バイト" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "ネット TX バイト" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "有効な数ではありません" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "繰り返し実行する回数" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "オフ" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "オン" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "終了" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "スクリプトから実行(ユーザーインターフェイスなし)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "分類" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "セキュア (\\\"kiosk\\\") モード" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "分類フィールドを選択" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "デバッグメッセージをファイルに書き出す" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init ファイルの名前を設定する" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "分類順 (%s) を設定する" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "ドメイン表示の分類順を設定する" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "更新間隔を設定" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU で分類" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM で分類" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID で分類" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "時間で分類" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "ブロックデバイスの表示で開始" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "ネットワークインターフェイスの表示で開始" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPU の表示で開始(デフォルト: タスク)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "時間(CPU 時間)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "ブロックデバイスの切り替え" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "ネットワークインターフェイスの切り替え" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "物理 CPU の切り替え" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "キーをタイプするか、または上下カーソルキーを使用" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "不明なコマンド - 'h' を使用してヘルプ参照 " + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "表示を更新" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "%s への設定を書き込み" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "デフォルト" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc 関数はドメイン情報を返しませんでした" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -336,10 +358,11 @@ msgstr "" + "\n" + "オプション" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top は CSV ファイル用のサポートなしでコンパイルされています" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top は日付と時刻用のサポートなしでコンパイルされています" ++ +diff --git a/po/ka.po b/po/ka.po +index 5551327..624a93e 100644 +--- a/po/ka.po ++++ b/po/ka.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# George Machitidze , 2013 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0;\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "შეცდომა" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "დახმარება" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "გასვლა" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "ნაგულისხმები" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc-მა არ დააბრუნა" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -330,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/kn.po b/po/kn.po +index 70491c6..445a948 100644 +--- a/po/kn.po ++++ b/po/kn.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top ಸಂರಚನಾ ಕಡತ\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# CSV ಔಟ್‌ಪುಟ್ ಅನ್ನು ಹೆಸರಿಸಲಾದ ಕಡತಕ್ಕೆ ಶಕ್ತಗೊಳಿಸು\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# ಈ ಕಡತವನ್ನು ತಿದ್ದಿ ಬರೆಯುವುದನ್ನು ತಪ್ಪಿಸಲು, ಮುಂದಿನ ಸಾಲಿನಲ್ಲಿರುವ # ಅನ್ನು " +-"ತೆಗೆದು ಹಾಕಿ\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# ದೋಷ ನಿವಾರಣಾ ಹಾಗು ದೋಷ ಸಂದೇಶಗಳನ್ನು ಒಂದು ಕಡತಕ್ಕೆ ಕಳುಹಿಸಲು, ಮುಂದಿನ " +-"ಸಾಲಿನಲ್ಲಿರುವ # ಅನ್ನು ತೆಗೆದು ಹಾಕಿ\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %s ನಲ್ಲಿ %s ಇಂದ ಉತ್ಪಾದಿಸಲ್ಪಟ್ಟಿದೆ\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,278 +50,301 @@ msgstr "" + "%d ಡೊಮೈನ್‌ಗಳು, %d ಸಕ್ರಿಯ, %d ಚಾಲಿತ, %d ಜಡ, %d ವಿರಮಿಸಿದ, %d ನಿಷ್ಕ್ರಿಯ D:%d " + "O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: ಪ್ರದರ್ಶಕವು %s ಆಗಿರಬೇಕು" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: ವಿಂಗಡಣಾ ಬಗೆಯು ಹೀಗಿರಬೇಕು: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: ಗೊತ್ತಿರದ ನಿಯತಾಂಕ" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: ಸಂರಚನಾ ಅಂಶ ``%s'' ಅನ್ನು ಆಲಕ್ಷಿಸಲಾಗಿದೆ\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: ಋಣಾತ್ಮಕ ವಿಳಂಬವನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "ಗುಂಪು ಕ್ರಮ" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "ಖಂಡದ ಓದಲು ಮನವಿಗಳು" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "ಖಂಡದ ಬರೆಯಲು ಮನವಿಗಳು" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (ಅತಿಥಿಗಳಿಂದ %Ld MB)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "ವಿಳಂಬವನ್ನು %.1f ಯಿಂದ ಇದಕ್ಕೆ ಬದಲಾಯಿಸಿ: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "URI ಗೆ ಸಂಪರ್ಕ ಕಲ್ಪಿಸು (ಡೀಫಾಲ್ಟ್‍: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "ಸಂಪರ್ಕ: %s; ಅತಿಥೇಯ ಹೆಸರು: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "DISPLAY MODES" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "ವಿಳಂಬವು > 0 ಇರಬೇಕು" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "ವಿಳಂಬದ ಕಾಲಾವಧಿ (ಸೆಕೆಂಡುಗಳಲ್ಲಿ)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "ವಿಳಂಬ: %.1f ಸೆಕೆಂಡುಗಳು; ಗುಂಪು: %s; ಸುರಕ್ಷತೆ: %s; ವಿಂಗಡಣೆ: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CSVಯಲ್ಲಿ CPU ಅಂಕಿಅಂಶಗಳನ್ನು ಅಶಕ್ತಗೊಳಿಸಿ" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "CSVಯಲ್ಲಿ ಖಂಡ ಸಾಧನದ ಅಂಕಿಅಂಶಗಳನ್ನು ಅಶಕ್ತಗೊಳಿಸಿ" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "CSVಯಲ್ಲಿ ಜಾಲದ ಅಂಕಿಅಂಶಗಳನ್ನು ಅಶಕ್ತಗೊಳಿಸಿ" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "ಆವೃತ್ತಿಯ ಸಂಖ್ಯೆಯನ್ನು ತೋರಿಸಿ ನಿರ್ಗಮಿಸು" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init ಕಡತವನ್ನು ಓದಬೇಡ" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ಡೊಮೈನ್ ಐಡಿ" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "ಡೊಮೈನ್‌ ಹೆಸರು" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "ಡೊಮೈನ್‌ಗಳ ಪ್ರದರ್ಶನ" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "ದೋಷ" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "ಒದಗಿಸಲಾದ ಸಮಯದಲ್ಲಿ ನಿರ್ಗಮಿಸು" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "ಸಹಾಯ" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "ಐತಿಹಾಸಿಕವಾದ CPU ವಿಳಂಬ" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "ಅಂಕಿಅಂಶಗಳನ್ನು CSV ಕಡತಕ್ಕೆ ದಾಖಲಿಸು" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "MAIN KEYS" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "ಹೆಚ್ಚಿನ ನೆರವು virt-top(1) man ಪುಟದಲ್ಲಿ ಲಭ್ಯವಿದೆ. ಮರಳಲು ಯಾವುದೆ ಕೀಲಿಯನ್ನು " + "ಒತ್ತಿ." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: ನೀವು ಒಂದು ಸ್ಥಳೀಯ Xen ಹೈಪರ್ವೈಸರ್ ಅನ್ನು ನೋಡಿಕೊಳ್ಳಬೇಕೆಂದರೆ, ನೀವು ಗಣಕ " +-"ನಿರ್ವಾಹಕರಾಗಿರಬೇಕು" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "ಒಟ್ಟು RX ಬೈಟ್‌ಗಳು" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "ಒಟ್ಟು TX ಬೈಟ್‌ಗಳು" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "ಒಂದು ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯಲ್ಲ" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "ಚಲಾಯಿಸಬೇಕಿರುವ ಪುನರಾವೃತ್ತಿಗಳ ಸಂಖ್ಯೆ" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "ಆಫ್‌" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "ಆನ್‌" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "ಬಿಟ್ಟು ಬಿಡು" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "ಸ್ಕ್ರಿಪ್ಟಿನಿಂದ ಚಲಾಯಿಸು (ಬಳಕೆದಾರ ಸಂಪರ್ಕಸಾಧನವಿಲ್ಲ)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTING" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "ಸುರಕ್ಷಿತ (\\\"ಕಿಯೋಸ್ಕ್‍\\\") ಕ್ರಮ" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "ವಿಂಗಡಣಾ ಕ್ಷೇತ್ರವನ್ನು ಆರಿಸು" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "ದೋಷ ನಿವಾರಣಾ ಸಂದೇಶಗಳನ್ನು ಕಡತಕ್ಕೆ ಕಳುಹಿಸು" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init ಕಡತಕ್ಕೆ ಹೆಸರನ್ನು ಸೂಚಿಸು" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "ವಿಂಗಡಣಾ ಕ್ರಮವನ್ನು (%s) ಸೂಚಿಸು" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "ಮುಖ್ಯ ಪ್ರದರ್ಶಕಕ್ಕಾಗಿ ವಿಂಗಡಣಾ ಕ್ರಮವನ್ನು ಸೂಚಿಸು" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "ಅಪ್ಡೇಟ್ ಕಾಲಾವಧಿಯನ್ನು ಸೂಚಿಸು" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "TIME ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸು" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "ಖಂಡ ಸಾಧನಗಳನ್ನು ತೋರಿಸಲು ಆರಂಭಿಸು" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕ ಸಾಧನಗಳನ್ನು ತೋರಿಸಲು ಆರಂಭಿಸು" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPUಗಳನ್ನು ತೋರಿಸಲು ಆರಂಭಿಸು (ಡೀಫಾಲ್ಟ್‍: ಕಾರ್ಯಗಳು)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (CPU ಸಮಯ)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "ಖಂಡ ಸಾಧನಗಳನ್ನು ಟಾಗಲ್ ಮಾಡು" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "ಜಾಲಬಂಧ ಸಂಪರ್ಕಸಾಧನಗಳನ್ನು ಟಾಗಲ್ ಮಾಡು" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "ಭೌತಿಕ CPUಗಳನ್ನು ಟಾಗಲ್ ಮಾಡು" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "ಕೀಲಿಯನ್ನು ಟೈಪಿಸಿ ಅಥವ ಅಪ್ ಹಾಗು ಡೌನ್ ತೆರೆಸೂಚಕ ಕೀಲಿಗಳನ್ನು ಬಳಸು." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "ಗೊತ್ತಿರದ ಆಜ್ಞೆ - ನೆರವಿಗಾಗಿ 'h' ಅನ್ನು ಪ್ರಯತ್ನಿಸಿ" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "ಅಪ್ಡೇಟಿನ ಪ್ರದರ್ಶನ" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "ಸಂಯೋಜನೆಗಳನ್ನು %s ಗೆ ಬರೆಯಲಾಗಿದೆ" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "ಪೂರ್ವನಿಯೋಜಿತ" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc ಅನ್ನು ಮರಳಿಸಿಲ್ಲ" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -344,10 +360,11 @@ msgstr "" + "\n" + "ಆಯ್ಕೆಗಳು" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top ಅನ್ನು CSV ಕಡತಗಳಿಗೆ ಬೆಂಬಲವಿಲ್ಲದಂತೆ ಕಂಪೈಲ್ ಮಾಡಲಾಗಿದೆ" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top ಅನ್ನು ದಿನಾಂಕ ಹಾಗು ಸಮಯಗಳಿಗೆ ಬೆಂಬಲವಿಲ್ಲದಂತೆ ಕಂಪೈಲ್ ಮಾಡಲಾಗಿದೆ" ++ +diff --git a/po/ml.po b/po/ml.po +index d06efa9..3e6b672 100644 +--- a/po/ml.po ++++ b/po/ml.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top ക്രമീകരണ ഫയല്‍\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# പറഞ്ഞിരിക്കുന്ന ഫയലിലേക്ക് CSV ഔട്പുട് പ്രാവര്‍ത്തികമാക്കുക\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# ഈ ഫയലിന്റെ മുകളിലേക്ക് എഴുതാതിരിക്കാതെ സൂക്ഷിക്കാന്‍, അടുത്ത വരി " +-"അണ്‍കമെന്റ് ചെയ്യുക (കമെന്റ് മാറ്റുക) \\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# പിശകു്‌, ഡീബഗ് സന്ദേശങ്ങള്‍ ഒരു ഫയലിലേക്ക് അയക്കുവാന്‍, അടുത്ത വരി " +-"അണ്‍കമെന്റ് ചെയ്യുക (കമെന്റ് മാറ്റുക) \\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "#ഉണ്ടാക്കിയത് ഈ സമയം: %s , %s വക \\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,281 +50,304 @@ msgstr "" + "%d ഡൊമേനുകള്‍, %d സജീവം, %d പ്രവര്‍ത്തിക്കുന്നു, %d ഉറങ്ങുന്നു, %d " + "താല്‍കാലികമായി നിര്‍ത്തിയിരിക്കുന്നു, %d നിര്‍ജ്ജീവം D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: ഡിസ്പ്ലേ %s ആകണം" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: ക്രമം %s ആകണം" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: അറിയാത്ത ചരം (പാരാമീറ്റര്‍)" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: ക്രമീകരണ ഇനം ``%s'' അവഗണിച്ചു\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: പൂജ്യത്തിനു താഴെ ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) വെക്കാന്‍ കഴിയില്ല" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "ബാച് സ്ഥിതി" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "ബ്ലോക്ക് വായിക്കാന്‍ ആവശ്യങ്ങള്‍" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "ബ്ലോക്ക് എഴുതാന്‍ ആവശ്യങ്ങള്‍" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB അഥിതികള്‍ വക)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "ഡിലേ %.1fല്‍ നിന്നും മാറ്റുക ഇതിലേക്ക് :" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "ഈ URI-ലേക്ക് കണക്ട് ചെയ്യുക (സ്വാഭാവികം : Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "കണക്ട് : %s; ആഥിതേയന്റെ പേരു്‌: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "കാണിക്കാനുള്ള ദശകള്‍" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) > 0 ആകണം" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) സെകന്റില്‍" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + "ഡിലേ (കാത്തിരിക്കേണ്ട സമയം) : %.1f secs; ബാച്ച്: %s; സുരക്ഷിതം: %s;ക്രമം: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CSV-ല്‍ CPU അവസ്ഥ പ്രവര്‍ത്തന രഹിതമാക്കുക" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "CSV-ല്‍ ബ്ലോക്ക് ഡിവൈസ് അവസ്ഥ പ്രവര്‍ത്തന രഹിതമാക്കുക" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "CSV-ല്‍ net അവസ്ഥ പ്രവര്‍ത്തന രഹിതമാക്കുക" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "ഇനിറ്റ്( init) ഫയല്‍ വായിക്കരുത്" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ഡൊമേന്‍ തിരിച്ചറിയല്‍" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "ഡൊമേന്‍ പേരു്‌" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "ഡൊമേന്‍സ് ഡിസ്പ്ലേ" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "പിശക്" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "തന്ന സമയത്തില്‍ പുറത്തിറങ്ങുക" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "സഹായം" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "ഹിസ്റ്റോറിക്കല്‍ സിപിയു ഡിലേ" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "CSV ഫയലിലേക്കുള്ള ലോഗ് സ്ഥിതിവിവരക്കണക്കുകള്‍" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "പ്രധാന കീകള്‍" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "virt-top(1) man താളില്‍ കൂടുതല്‍ സഹായം. തിരികെ പോകുന്നതിനായി ഏതെങ്കിലും കീ " + "അമര്‍ത്തുക." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"കുറിപ്പു്: ഒരു ലോക്കല്‍ ക്സെന്‍ ഹൈപ്പര്‍വൈസര്‍ നിരീക്ഷിക്കുന്നതിനു്, ഒരു " +-"റൂട്ടായി പാടുള്ളൂ." + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "നെറ്റ് RX ബൈറ്റുകള്‍" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "നെറ്റ് TX ബൈറ്റുകള്‍" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "ശരിയായ അക്കം അല്ല" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Number of iterations to run" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "നിര്‍ത്തുക" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "ഒരു സ്ക്രിപ്റ്റില്‍ നിന്നും പ്രവര്‍ത്തിപ്പിക്കുക (no user interface)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "ക്രമീകരിക്കുന്നു" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "സെക്യുര്‍ (\\\"kiosk\\\") മോഡ്" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "സോര്‍ട്ട് ഫീള്‍ഡ് തെരഞ്ഞെടുക്കുക" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "ഫയലിലേക്കു് ഡീബഗ് സന്ദേശങ്ങള്‍ അയയ്ക്കുക" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init ഫയലിനുള്ള പേരു് സജ്ജമാക്കുക" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "ക്രമം സജ്ജമാക്കുക (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Set sort order for main display" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "പരിഷ്കരണത്തിനുള്ള ഇടവേള ക്രമികരിക്കുക" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU അനുസരിച്ചു് ക്രമത്തിലാക്കുക" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM അനുസരിച്ചു് ക്രമത്തിലാക്കുക" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ഐഡി അനുസരിച്ചു് ക്രമത്തിലാക്കുക" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "സമയമനുസരിച്ചു് ക്രമത്തിലാക്കുക" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "ബ്ലോക്ക് ഡിവൈസകുള്‍ കാണിച്ചു് ആരംഭിക്കുക" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "സംയോജക ഘടകങ്ങള്‍ കാണിച്ചു് ആരംഭിക്കുക" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPU കാണിച്ചു് ആരംഭിക്കുക (default: tasks)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "സമയം (CPU സമയം)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "ബ്ലോക്ക് ഡിവൈസുകള്‍ ടൊഗിള്‍ ചെയ്യുക" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "നെറ്റ്‌വര്‍ക്ക് സംയോജകഘടകങ്ങള്‍ ടൊഗിള്‍ ചെയ്യുക" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "ഫിസിക്കല്‍ സിപിയുകള്‍ ടൊഗിള്‍ ചെയ്യുക" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + "കീ ടൈപ്പ് ചെയ്യുക അല്ലെങ്കില്‍ മുകളിലേക്കും താഴേക്കുമുള്ള കര്‍സര്‍ കീകള്‍ " + "ഉപയോഗിക്കുക" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "സഹായത്തിനായി അപരിചിതമായ നിര്‍ദ്ദേശം - try 'h' ഉപയോഗിക്കുക" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "ഡിസ്പ്ലേ പുതുക്കുക" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "%s-ലേക്കു് ക്രമികരണങ്ങളിക്ക് എഴുതപ്പെട്ടിരിക്കുന്നു" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc didn't return " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -347,13 +363,14 @@ msgstr "" + "\n" + "OPTIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + "CSV ഫയലുകള്‍ക്കുള്ള പിന്തുണ ലഭ്യമല്ലാതെ virt-top കംപൈല്‍ ചെയ്തിരിക്കുന്നു" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" + "തീയതികള്‍ക്കും സമയങ്ങള്‍ക്കുമുള്ള പിന്തുണ ലഭ്യമല്ലാതെ virt-top കംപൈല്‍ " + "ചെയ്തിരിക്കുന്നു" ++ +diff --git a/po/mr.po b/po/mr.po +index 3adfac8..536df27 100644 +--- a/po/mr.po ++++ b/po/mr.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,38 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top संरचना फाइल\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# नामांकीत फाइल करीता CSV आऊटपुट कार्यान्वीत करा\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# ही फाइल खोडून पुन्हा लिहीण्यापासून, पुढिल ओळीतील टिपण्णी काढून टाका\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# फाइल करीता डीबग व त्रुटी संदेश पाठविण्याकरीता, पुढिल ओळीतील टिपण्णीत काढून" +-" टाका\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %s वर बनविले, %s द्वारे\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -56,275 +50,299 @@ msgstr "" + "%d क्षेत्र, %d सक्रीय, %d कार्यरत, %d अकार्यक्षम, %d स्तब्ध, %d निष्क्रीय " + "D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: प्रदर्शक %s असायला हवे" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: क्रमवारी यानुरूप असायला हवे: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: अपरिचीत बाब" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: संयोजना घटक ``%s'' दुर्लक्षीत केले गेले\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: नकारात्मक विलंब निश्चित केले जाऊ शकत नाही" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "बॅच् पद्धती" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "ब्लॉक वाचन करीता आवश्यकता" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "ब्लॉक लेखन आवश्यक" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB अतिथी द्वारे)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "%.1f पासूनचे विलंब यानुरूप बदलवा: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "URI शी जुळवणी करा (मुलभूत: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "जुळवणी: %s; यजमाननाव: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "DISPLAY पद्धती" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "विलंब असायला हवे > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "विलंब वेळ अवधी (सेकंद)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "विलंब: %.1f secs; बॅच्: %s; सुरक्षीत: %s; क्रमवारी: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CSV अंतर्गत CPU आकडेवारी अकार्यान्वीत करा" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "CSV अंतर्गत ब्लॉक साधन आकडेवारी अकार्यान्वीत करा" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "CSV अंतर्गत नेट आकडेवारी अकार्यान्वीत करा" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "आवृत्ती क्रमांक दाखवा व बाहेर पडा" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init फाइल वाचू नका" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "डोमेन ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "क्षेत्र नाव" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "क्षेत्र प्रदर्शन" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "चूक" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "ठराविक वेळेस बाहेर पडा" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "मदत" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "ऐतिहासिक CPU विलंब" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "CSV फाइल करीता लॉग आकडेवारी" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "मुख्य कि" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "virt-top(1) man पान अंतर्गत अधिक मदत. पहाण्याकरीता कुठलिही कि दाबा." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: स्थानीय Xen हायपरवाइजर मॉनीटर करायचे असल्यास, तुम्हाला रूट व्हावे लागेल" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "एकूण RX बाइटस्" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "एकूणTX बाइटस्" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "वैध संख्या नाही" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "चालविण्याजोगी काळचक्रची संख्या" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "बंद करा" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "सुरू करा" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "सोडून द्या" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "स्क्रीप्ट पासून चालवा (वापरकर्ता संवाद नाही)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTING" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "सुरक्षा (\\\"कीओस्क्\\\") पद्धती" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "क्रमवारी गुणविशेष निवडा" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "डीबग संदेश फाइल करीता पाठवा" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init फाइल करीता नाव निश्चित करा" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "क्रमवारी निश्चित करा (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "क्रमवारी निश्चित करा (%s)" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "अद्ययावत अवधी निश्चित करा" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU नुरूप क्रमावरीत लावा" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM नुरूप क्रमावरीत लावा" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID नुरूप क्रमावरीत लावा" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "TIME नुरूप क्रमावरीत लावा" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "ब्लॉक साधन दर्शवून प्रारंभ करा" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "संजाळ संवाद दर्शवून प्रारंभ करा" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPUs दर्शवून प्रारंभ करा (मुलभूत: कार्य))" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (CPU वेळ)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "ब्लॉक साधन बदलवा" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "संजाळ संवाद बदलवा" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "वास्तविक CPU बदलवा" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "कि टाइप करा किंवा वर आणि खाली कर्सर कि चा वापर करा." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "अपरिचीत आदेश - मदत करीता 'h' वापरून पहा" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "प्रदर्शन अद्ययावत करा" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "%s करीता संयोजना लिहीले" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "पूर्वनिर्धारित" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc ने पुरवले नाही" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d, Red Hat द्वारे" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -340,10 +358,11 @@ msgstr "" + "\n" + "पर्याय" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top ला CSV फाइल करीता समर्थन न पुरविता कंपाईल केले गेले" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top ला दिनांक व वेळ करीता समर्थन न पुरविता कंपाईल केले गेले" ++ +diff --git a/po/nl.po b/po/nl.po +index 67aa032..46ee51e 100644 +--- a/po/nl.po ++++ b/po/nl.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top configuratiebestand\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Schakel CSV output naar het genoemde bestand\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Om dit bestand te beschermen tegen overschrijven, haal het commentaar " +-"teken weg inde volgende regel\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Om debug en foutmeldingen naar een bestand te sturen, haal het commentaar " +-"teken weg in de volgende regel\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# gegenereerd op %s door %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,277 +50,300 @@ msgstr "" + "%d domeinen, %d actief, %d draaiend, %d slapend, %d gepauzeerd, %d inactieve" + " D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: display moet %s zijn" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: sorteervolgorde moet worden: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: onbekende parameter" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: configuratie item ``%s'' genegeerd\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: kan geen negatieve vertraging instellen" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Batch mode" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Blok lees aanvragen" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Blok schrijf aanvragen" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU:%2.1f%% Mem: %Ld MB (%Ld MB door gasten)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Verander vertraging van %.1f naar: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Verbind met URI (standaard: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Verbinding: %s; hostnaam: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "DISPLAY MODES" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Vertraging moet > 0 zijn" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Vertragingstijd interval (seconden)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Vertraging: %.1f sec; batch: %s; veilig: %s; sorteren: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Zet CPU stats in CSV uit" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Zet blokapparaat stats in CSV uit" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Zet netwerk stats in CSV uit" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Toon versie nummer en sluit af" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Lees init bestand niet" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "Domein ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Domeinnaam" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Domeinen display" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Fout" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Afsluiten op aangegeven tijdstip" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Hulp" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Historische CPU vertraging" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Log statistieken naar CSV bestand" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "HOOFD SLEUTELS" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Meer hulp in de virt-top(1) man pagina. Druk op een toets om terug te keren." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: Als je een lokale Xen hypervisor wilt monitoren, moet je gewoonlijk root" +-" zijn." + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Netwerk RX bytes" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Netwerk TX bytes" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Geen geldig getal" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Aantal te draaien iteraties" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Uit" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Op" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Verlaten" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Uitvoeren vanuit een script (geen gebruikersinterface)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTEREN" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Veilige (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Selecteer sorteer veld" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Stuur debug berichten naar bestand" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Stel naam van init bestand in" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Stel sorteervolgorde in (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Stel sorteervolgorde in voor hoofddisplay" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Stel vernieuw-interval in" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Sorteer volgens %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Sorteer volgens %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Sorteer volgens ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Sorteer volgens TIJD" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Begin met het weergeven van blokapparaten" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Begin met het weergeven van netwerkinterfaces" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Begin met het weergeven van pCPU's (standaard: taken)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIJD (CPU-tijd)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Schakel blokapparaten om" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Schakel netwerkinterfaces om" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Schakel fysieke CPU's om" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Type toets of gebruik omhoog en omlaag cursortoetsen." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Onbekend commando - probeer 'h' voor hulp" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Vernieuw display" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Instellingen naar %s geschreven" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "standaard" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc gaf niet terug" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d door Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -343,10 +359,11 @@ msgstr "" + "\n" + "OPTIES" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top werd gecompileerd zonder ondersteuning voor CSV bestanden" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top werd gecompileerd zonder ondersteuning voor datum en tijd" ++ +diff --git a/po/or.po b/po/or.po +index eefe587..066d36d 100644 +--- a/po/or.po ++++ b/po/or.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top ବିନ୍ୟାସ ଫାଇଲ\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# CSV ଫଳାଫଳକୁ ନାମିତ ଫାଇଲରେ ସକ୍ରିୟ କରନ୍ତୁ\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# ଏହି ଫାଇଲକୁ ନବଲିଖନ ହେବାରୁ ସୁରକ୍ଷିତ କରିବା ପାଇଁ, ପରବର୍ତ୍ତୀ ଧାଡ଼ିକୁ ଟିପ୍ପଣୀହୀନ" +-" କରନ୍ତୁ\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# ତ୍ରୁଟି ନିବାରଣ ଏବଂ ତ୍ରୁଟି ସନ୍ଦେଶଗୁଡ଼ିକୁ ଗୋଟିଏ ଫାଇଲ ମଧ୍ଯକୁ ପଠାଇବା ପାଇଁ, " +-"ପରବର୍ତ୍ତୀ ଧାଡ଼ିକୁ ଟିପ୍ପଣୀବିହୀନ କରନ୍ତୁ\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %s ତାରିଖରେ %s ଦ୍ୱାରା ନିର୍ମିତ\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,277 +50,300 @@ msgstr "" + "%d ଡମେନ, %d ସକ୍ରିୟ, %d ଚାଲୁଅଛି, %d ସୁପ୍ତ, %d ସ୍ଥିର, %d ନିଷ୍କ୍ରିୟ D:%d O:%d " + "X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: ପ୍ରଦର୍ଶନଟି %s ହୋଇଥିବା ଉଚିତ" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: କ୍ରମସଜ୍ଜା ଏହି ପରି ହେବା ଉଚିତ: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: ଅଜଣା ପ୍ରାଚଳ" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: ବିନ୍ୟାସ ବସ୍ତୁ ``%s'' କୁ ଅଗ୍ରାହ୍ୟ କରାଯାଇଛି\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: ରୂଣାତ୍ମକ ବିଳମ୍ବ ସେଟ କରିପାରିବେ ନାହିଁ" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "ବ୍ୟାଚ ଅବସ୍ଥା" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "ପଠନୀୟ reqs କୁ ଅଟକାନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "ଲିଖନୀୟ reqs କୁ ଅଟକାନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "ବିଳ୍ମ୍ବକୁ %.1f କୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "URI ସହିତ ସଂଯୋଗ କରନ୍ତୁ (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "ସଂଯୋଗ କରନ୍ତୁ: %s; ହୋଷ୍ଟ ନାମ: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "DISPLAY MODES" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "ବିଳମ୍ବ ନିଶ୍ଚିତ ଭାବରେ > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "ବିଳମ୍ବ ସମୟ ଅନ୍ତରାଳ (ସେକଣ୍ଡ)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "ବିଳମ୍ବ: %.1f secs; ବ୍ୟାଚ: %s; ସୁରକ୍ଷିତ: %s; କ୍ରମ: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CPU stats କୁ CSV ରେ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "ବ୍ଲକ ଉପକରଣ stats କୁ CSV ରେ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "ନେଟ stats କୁ CSV ରେ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "ସଂସ୍କରଣ ସଂଖ୍ୟାକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ ଏବଂ ପ୍ରସ୍ଥାନ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init ଫାଇଲକୁ ପଢ଼ନ୍ତୁ ନାହିଁ" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ପରିସର ପରିଚୟ" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "ଡମେନ ନାମ" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "ଡମେନ ଦୃଶ୍ୟ" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "ତ୍ରୁଟି" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "ପ୍ରଦତ୍ତ ସମୟରେ ପ୍ରସ୍ଥାନ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "ସହାୟତା" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "ପୁରାତନ CPU ବିଳମ୍ବ" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "CSV ଫାଇଲରେ ପରିସଂଖ୍ୟାନକୁ ଲଗ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "MAIN KEYS" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "virt-top(1) man ପୃଷ୍ଠାରେ ଅଧିକ ସହାୟତା। ଫେରିବା ପାଇଁ ଯେକୌଣସି କି କୁ ଦବାନ୍ତୁ।" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: ଯଦି ଆପଣ ଗୋଟିଏ ସ୍ଥାନୀୟ Xen ହାଇପରଭାଇଜରକୁ ନିରିକ୍ଷଣ କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ" +-" ସାଧାରଣତଃ ମୂଖ୍ୟଚାଳକ ହେବା ଆବଶ୍ୟକ" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "ସମୁଦାୟ RX ବାଇଟ" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "ସମୁଦାୟ TX ବାଇଟ" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "ଗୋଟିଏ ବୈଧ ସଂଖ୍ୟା ନୁହଁ" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "ଚଲାଇବା ପାଇଁ ପୁନରାବୃତ୍ତି ସଂଖ୍ୟା" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "ବନ୍ଦ" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "ରେ" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "ବିଦାୟ ନିଅନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "ଗୋଟିଏ ସ୍କ୍ରିପ୍ଟରୁ ଚଲାନ୍ତୁ (କୌଣସି ଚାଳକ ଅନ୍ତରାପୃଷ୍ଠ ନାହିଁ)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTING" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "ସୁରକ୍ଷିତ (\\\"kiosk\\\") ଅବସ୍ଥା" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "କ୍ରମ ସଜ୍ଜା କ୍ଷେତ୍ରକୁ ବାଛନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "ଫାଇଲ ମଧ୍ଯକୁ ତ୍ରୁଟିନିବାରଣ ସନ୍ଦେଶ ପଠାନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init ଫାଇଲର ନାମ ସେଟ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "କ୍ରମସଜ୍ଜା ସେଟ କରୁଅଛି (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "ମୂଖ୍ୟ ପ୍ରଦର୍ଶନି ପାଇଁ କ୍ରମସଜ୍ଜା ସେଟ କରୁଅଛି" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "ଅଦ୍ୟତନ ଅନ୍ତରାଳ ସେଟ କରୁଅଛି" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "TIME ଦ୍ୱାରା ସଜାଡ଼ନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "ବ୍ଲକ ଉପକରଣଗୁଡ଼ିକୁ ଦର୍ଶାଇ ଆରମ୍ଭ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "ନେଟୱର୍କ ଅନ୍ତରାପୃଷ୍ଠଗୁଡ଼ିକୁ ଦର୍ଶାଇ ଆରମ୍ଭ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPUs କୁ ଦର୍ଶାଇ ଆରମ୍ଭ କରନ୍ତୁ (default: tasks)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (CPU ସମୟ)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "ବ୍ଲକ ଉପକରଣଗୁଡ଼ିକୁ ଆଗପଛ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "ନେଟୱର୍କ ଅନ୍ତରାପୃଷ୍ଠଗୁଡ଼ିକୁ ଆଗପଛ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "ଭୌତିକ CPUs ଆଗପଛ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "କି ଟାଇପ କରନ୍ତୁ କିମ୍ବା ସୂଚକ କି କୁ ଉପର ତଳ କରନ୍ତୁ।" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "ଅଜଣା ନିର୍ଦ୍ଦେଶ - ସହାୟତା ପାଇଁ 'h' ବ୍ୟବହାର କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "ପ୍ରଦର୍ଶନକୁ ଅଦ୍ୟତନ କରନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "ସଂରଚନାକୁ %s ରେ ଲେଖନ୍ତୁ" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "ପୂର୍ବ ନିର୍ଦ୍ଧାରିତ" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc ଫେରାଇନଥାଏ" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat ଦ୍ୱାରା" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -343,10 +359,11 @@ msgstr "" + "\n" + "OPTIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top CSV ଫାଇଲଗୁଡ଼ିକ ପାଇଁ ସମର୍ଥନ ବିନା ସଂକଳନ କରାଯାଇଛି" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top ତାରିଖ ଏବଂ ସମୟ ପାଇଁ ସମର୍ଥନ ବିନା ସଂକଳନ କରାଯାଇଛି" ++ +diff --git a/po/pa.po b/po/pa.po +index 2237323..4005c46 100644 +--- a/po/pa.po ++++ b/po/pa.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# A S Alam , 2012 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: ਅਣਜਾਣ ਪੈਰਾਮੀਟਰ" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "ਬੈਂਚ ਮੋਡ" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "ਕੁਨੈਕਟ: %s; ਹੋਸਟ-ਨਾਂ: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "ਡਿਸਪਲੇਅ ਮੋਡ" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "ਦੇਰੀ ਸਮਾਂ ਅੰਤਰਾਲ (ਸਕਿੰਟ)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "ਦੇਰੀ: %.1f ਸਕਿੰਟ; ਬੈਂਚ: %s; ਸਕਿਉਰ: %s; ਲੜੀਬੱਧ: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init ਫਾਇਲ ਨਾ ਪੜ੍ਹੋ" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ਡੋਮੇਨ ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "ਡੋਮੇਨ ਨਾਂ" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "ਡੋਮੇਨ ਡਿਸਪਲੇਅ" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "ਗਲਤੀ" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "ਦਿੱਤੇ ਸਮੇਂ ਉੱਤੇ ਬੰਦ" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "ਮੱਦਦ" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "ਅਤੀਤ CPU ਦੇਰੀ" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "ਮੁੱਖ ਕੁੰਜੀਆਂ" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "ਠੀਕ ਨੰਬਰ ਨਹੀਂ ਹੈ" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "ਬੰਦ" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "ਚਾਲੂ" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "ਬਾਹਰ" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "ਡਿਫਾਲਟ" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat ਵਲੋਂ" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -330,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/pl.po b/po/pl.po +index 161712b..6b7863b 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# plik konfiguracji programu virt-top %s\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Włącza wyjście CSV do pliku named\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Aby ochronić ten plik przed zastąpieniem, należy usunąć komentarz z " +-"następnego wiersza\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Aby wysłać komunikaty debugowania i błędów do pliku, należy usunąć " +-"komentarz z następnego wiersza\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# utworzone %s przez %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,278 +50,303 @@ msgstr "" + "%d domeny, %d aktywne, %d uruchomione, %d uśpione, %d wstrzymane, %d " + "nieaktywne D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: ekran powinien być %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: porządek sortowania powinien być: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: nieznany parametr" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: zignorowano element konfiguracji ``%s''\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: nie można ustawić ujemnego opóźnienia" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Tryb wsadowy" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Wymagania odczytania blokowego" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Wymagania zapisania blokowego" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "Procesor: %2.1f%% Pamięć: %Ld MB (%Ld MB przez gości)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Zmień opóźnienie z %.1f na: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Połącz się z URI (domyślnie: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Połącz się: %s; nazwa gospodarza: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "TRYBY WYŚWIETLANIA" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Opóźnienie musi wynosić > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Czas między opóźnieniami (sekundy)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + "Opóźnienie: %.1f sekundy; wsadowo: %s; bezpieczeństwo: %s; sortowanie: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Wyłącza statystyki procesora w CSV" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Wyłącza statystyki urządzenia blokowego w CSV" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Wyłącza statystyki sieci w CSV" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Wyświetla numer wersji i kończy działanie" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Bez odczytu pliku init" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "Identyfikator domeny" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Nazwa domeny" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Ekran domen" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Błąd" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Kończy pracę o podanym czasie" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Pomoc" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Historyczne opóźnienie procesora" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Zapisuje statystyki do pliku CSV" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "GŁÓWNE KLUCZE" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Więcej pomocy na stronie podręcznika virt-top(1). Proszę nacisnąć dowolny " + "klawisz, aby kontynuować." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" +-msgstr "NB: aby monitorować lokalnego nadzorcę Xena, zwykle należy być rootem" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" ++msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Sieciowe bajty RX" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Sieciowe bajty TX" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Nie jest prawidłowym numerem" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Liczba iteracji do wykonania" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Wyłączone" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Włączone" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Zakończ" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Uruchamia ze skryptu (brak interfejsu użytkownika)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTOWANIE" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Tryb bezpieczny (\\\"kiosk\\\")" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Wybór pola sortowania" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Wysyła komunikaty debugowania do pliku" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Ustawia nazwę pliku init" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Ustawia porządek sortowania (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Ustawia porządek sortowania dla głównego ekranu" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Ustawia czas między aktualizacjami" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Uporządkowuje według %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Uporządkowuje według %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Uporządkowuje według identyfikatorów" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Uporządkowuje według TIME" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Uruchamia przez wyświetlenie urządzeń blokowych" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Uruchamia przez wyświetlenie interfejsów sieciowych" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + "Uruchamia przez wyświetlanie fizycznych procesorów (domyślnie: zadania)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (czas procesora)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Przełącza urządzenia blokowe" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Przełącza interfejsy sieciowe" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Przełącza fizyczne procesory" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Proszę podać klucz lub użyć klawiszy kursora w górę i w dół." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Nieznane polecenie - proszę spróbować \"h\", aby uzyskać pomoc" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Aktualizuje ekran" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Zapisano ustawienia do %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "domyślne" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc nie zwróciło " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -344,10 +362,11 @@ msgstr "" + "\n" + "OPCJE" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top został skompilowany bez obsługi plików CSV" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top został skompilowany bez obsługi dat i czasu" ++ +diff --git a/po/pt.po b/po/pt.po +index 05d81fd..a23d7fb 100644 +--- a/po/pt.po ++++ b/po/pt.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# arquivo de configuração do virt-top %s\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Habilita a saída CSV para o arquivo indicado\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Para proteger este arquivo contra sobreescrita, desmarque o sinal de " +-"comentário da próxima linha\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Para enviar mensagens de erro e de depuração para um arquivo, desmarque o " +-"comentário da próxima linha\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# gerado em %s por %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,279 +50,302 @@ msgstr "" + "%d domínios, %d ativo, %d executando, %d adormecido, %d pausado, %d inativo " + "D.%d O.%d X.%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: a exibição deveria ser %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: a ordem da classificação deveria ser: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: parâmetro desconhecido" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: o item de configuração ``%s'' foi ignorado\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: não é possível atribuir um atraso negativo" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Modo em lotes" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Requisições de leitura em blocos" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Requisições de escrita em blocos" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB para convidados)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Alterar o atraso de %.1f para:" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Conectar a uma URI (padrão: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Conectar:%s; Nome de máquina: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "MODOS DE EXIBIÇÃO" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "O atraso deve ser > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Intervalo de tempo do atraso (segundos)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Atraso: %.1f segs; Lote: %s, Seguro: %s; Classificação: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Desabilita a estatística da CPU no CSV" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Desabilita as estatísticas de bloco no CSV" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Desabilita as estatísticas de rede no CSV" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Exibir número da versão e saída" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Não lê o arquivo init" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ID do domínio" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Nome do domínio" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Exibe os domínios" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Erro" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Sai em um dado tempo" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Ajuda" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Histórico do atraso da CPU" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Estatísticas de log para o arquivo CSV" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "MAIN KEYS" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Mais ajuda na página do manual do vit-top(1). Pressione qualquer tecla para " + "retornar." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: Se você quiser monitorar um hipervisor local do Xen, você precisa ser " +-"root." + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Quantidade líquida de bytes recebidos" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Quantidade líquida de bytes transmitidos" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Número inválido" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Número de iterações a serem executadas" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Desligado" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Ligado" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Sair" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Executa a partir de um script (sem interface do usuário)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "CLASSIFICANDO" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Modo seguro (\\\"quiosque\\\")" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Selecione o campo para classificação" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Envia as mensagens de depuração para um arquivo" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Define o nome do arquivo init" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Define a ordem da classificação (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Define a ordem de classificação para a exibição principal" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Define o intervalo de atualização" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Classificação por %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Classificação por %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Classificação por ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Classificação por TIME" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Inicia pela apresentação dos dispositivos de bloco" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Inicia pela apresentação das interfaces de rede" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Inicia pela apresentação das pCPUs (padrão: tarefas)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (tempo de CPU)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Alterna entre os dispositivos de bloco" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Alterna entre as interfaces de rede" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Alterna entre as CPUs físicas" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + "Pressione uma tecla ou use as teclas de navegação para cima e para baixo." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Comando desconhecido - tente \"h\" para ajuda" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Atualiza a exibição" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Configurações gravadas em %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "padrão" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "o get_xml_desc não retornou " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d por Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -345,10 +361,11 @@ msgstr "" + "\n" + "OPÇÕES" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "o virt-top foi compilado sem suporte para arquivos CSV " + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "o virt-top foi compilado sem suporte para datas e horas " ++ +diff --git a/po/pt_BR.po b/po/pt_BR.po +index 2270ed4..cf89490 100644 +--- a/po/pt_BR.po ++++ b/po/pt_BR.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n > 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# arquivo de configuração do virt-top %s\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Habilita a saída CSV para o arquivo indicado\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Para proteger este arquivo contra sobreescrita, desmarque o sinal de " +-"comentário da próxima linha\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Para enviar mensagens de erro e de depuração para um arquivo, desmarque o " +-"comentário da próxima linha\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# gerado em %s por %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,279 +50,302 @@ msgstr "" + "%d domínios, %d ativo, %d executando, %d adormecido, %d pausado, %d inativo " + "D.%d O.%d X.%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: a exibição deveria ser %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: a ordem da classificação deveria ser: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: parâmetro desconhecido" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: o item de configuração ``%s'' foi ignorado\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: não é possível atribuir um atraso negativo" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Modo em lotes" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Requisições de leitura em blocos" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Requisições de escrita em blocos" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB para convidados)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Alterar o atraso de %.1f para:" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Conectar a uma URI (padrão: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Conectar:%s; Nome de máquina: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "MODOS DE EXIBIÇÃO" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "O atraso deve ser > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Intervalo de tempo do atraso (segundos)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Atraso: %.1f segs; Lote: %s, Seguro: %s; Classificação: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Desabilita a estatística da CPU no CSV" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Desabilita as estatísticas de bloco no CSV" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Desabilita as estatísticas de rede no CSV" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Exibir número da versão e sair" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Não lê o arquivo init" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ID do domínio" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Nome do domínio" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Exibe os domínios" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Erro" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Sai em um dado tempo" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Ajuda" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Histórico do atraso da CPU" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Estatísticas de log para o arquivo CSV" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "MAIN KEYS" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Mais ajuda na página do manual do vit-top(1). Pressione qualquer tecla para " + "retornar." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: Se você quiser monitorar um hipervisor local do Xen, você precisa ser " +-"root." + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Quantidade líquida de bytes recebidos" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Quantidade líquida de bytes transmitidos" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Número inválido" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Número de iterações a serem executadas" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Off" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "On" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Sair" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Executa a partir de um script (sem interface do usuário)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "CLASSIFICANDO" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Modo seguro (\\\"quiosque\\\")" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Selecione o campo para classificação" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Envia as mensagens de depuração para um arquivo" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Define o nome do arquivo init" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Define a ordem da classificação (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Define a ordem de classificação para a exibição principal" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Define o intervalo de atualização" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Classificação por %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Classificação por %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Classificação por ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Classificação por TIME" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Inicia pela apresentação dos dispositivos de bloco" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Inicia pela apresentação das interfaces de rede" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Inicia pela apresentação das pCPUs (padrão: tarefas)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (tempo de CPU)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Alterna entre os dispositivos de bloco" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Alterna entre as interfaces de rede" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Alterna entre as CPUs físicas" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + "Pressione uma tecla ou use as teclas de navegação para cima e para baixo." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Comando desconhecido - tente \"h\" para ajuda" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Atualiza a exibição" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Configurações gravadas em %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "padrão" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "o get_xml_desc não retornou " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d pela Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -345,10 +361,11 @@ msgstr "" + "\n" + "OPÇÕES" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "o virt-top foi compilado sem suporte para arquivos CSV " + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "o virt-top foi compilado sem suporte para datas e horas " ++ +diff --git a/po/ru.po b/po/ru.po +index ec3deac..820c549 100644 +--- a/po/ru.po ++++ b/po/ru.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,39 +14,35 @@ msgstr "" + "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" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s файл конфигурации virt-top\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Включить вывод CSV в указанный файл\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Чтобы защитить этот файл от перезаписи, снимите комментарий со следующей " +-"строки\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Для передачи отладочных сообщений и ошибок в файл снимите комментарий со " +-"следующей строки\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# создан %s, %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -57,276 +50,301 @@ msgstr "" + "%d домен(ов), %d активно, %d запущено, %d простаивает, %d приостановлено, %d" + " не активно D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: должно быть показано %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: сортировка должна быть: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: неизвестный параметр" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: элемент конфигурации ``%s'' проигнорирован\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: значение задержки не может быть отрицательным" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Командный режим" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Запросы чтения блоков" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Запросы записи блоков" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Память: %Ld МБ (%Ld МБ для гостей)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Изменить задержку с %.1f на: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Подключиться к URI (по умолчанию: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Подключение: %s; имя узла: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "РЕЖИМЫ ОТОБРАЖЕНИЯ" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Задержка должна быть > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Интервал задержки (сек.)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Задержка: %.1f сек.; пакет: %s; безопасность: %s; сортировка: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Отключить статистику процессора в CSV" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Отключить статистику блочных устройств в CSV" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Отключить статистику сети в CSV" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Показать номер версии и выйти" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Не читать init файл" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ID домена" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Имя домена" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Экран доменов" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Ошибка" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Выход в заданное время" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Справка" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "История задержки процессора" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Сохранять статистику в файл CSV" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "ГЛАВНЫЕ КЛАВИШИ" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Подробную справку по virt-top(1) можно найти на странице man. Нажмите любую " + "клавишу для возврата." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" +-msgstr "NB: Для мониторинга локального гипервизора Xen необходимы права root." ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" ++msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Передано байт" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Принято байт" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Недопустимый номер" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Число итераций" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Выкл." + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Вкл." + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Выход" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Запуск из сценария (без интерфейса пользователя)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "СОРТИРОВКА" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Безопасный (\\\"kiosk\\\") режим" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Выберите поле сортировки" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Отправить отладочные сообщения в файл" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Задать имя init файла" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Задать порядок сортировки (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Задать порядок сортировки для основного экрана" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Задать интервал обновлений" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Сортировка по %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Сортировка по %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Сортировка по ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Сортировка по времени" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Сначала показать блочные устройства" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Сначала показать сетевые интерфейсы" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Сначала показать физические процессоры (по умолчанию: задания)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "ВРЕМЯ (процессорное)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Переключение блочных устройств" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Переключение сетевых интерфейсов" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Переключение физических процессоров" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Нажмите кнопку или используйте стрелки вверх и вниз." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Неизвестная команда. Введите «h» для получения справки." + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Обновить экран" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Настройки записаны в %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "по умолчанию" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc не вернул " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -342,10 +360,11 @@ msgstr "" + "\n" + "ОПЦИИ" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top собран без поддержки файлов CSV" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top собран без поддержки времени и даты" ++ +diff --git a/po/sr.po b/po/sr.po +index 8131374..fa5e93a 100644 +--- a/po/sr.po ++++ b/po/sr.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# Momcilo Medic , 2015 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,39 +14,35 @@ msgstr "" + "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" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top датотека подешавања\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Омогући CSV излаз у наведену датотеку\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Да заштитите ову датотеку од поновног уписа, одкоментаришите следећу " +-"линију\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Да пошаљете поруке о отклањању грешака и самим грешкама у датотеку, " +-"одкоментаришите следећу линију\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# створено %s од стране %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -59,278 +50,301 @@ msgstr "" + "%d области, %d активних, %d покренутих, %d мирујућих, %d паузираних, %d " + "неактивних D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: приказ би требао да буде %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: начин ређања би требао бити: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: непознат параметар" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: ставка подешавања ``%s'' занемарена\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: не може се поставити негативна пауза" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Групни режим" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Захтеви блок читања" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Захтеви блок уписа" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB од стране гостију)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Променити паузу са %.1f на: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Повежи се на URI (подразумевано: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Повежи: %s; Hostname: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "РЕЖИМИ ПРИКАЗА" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Пауза мора бити > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Интервал паузе (секунде)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Пауза: %.1f секунди; Група: %s; Сигурност: %s; Ређање: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Онемогући CPU статистике у CSV-у" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Онемогући статистике блок уређаја у CSV-у" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Онемогући мрежне статистике у CSV-у" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Прикажи број верзије и изађи" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Немој читати инициализациону датотеку" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "ID области" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Име области" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Приказ области" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Грешка" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Излаз у одређено време" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Помоћ" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Историјска CPU пауза" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Записуј статистике у CSV датотеку" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "ГЛАВНИ КЉУЧЕВИ" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Више помоћи на virt-top(1) man страници. Притисните било који тастер за " + "повратак." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: Ако желите да надгледате локални Xen надзорник, углавном је потребно да " +-"будете root" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Мрежни RX бајтови" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Мрежни TX бајтови" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Није исправан број" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Број понављања за извршавање" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Искључи" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Укључи" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Изађи" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Извршавање из скрипте (без корисничког окружења)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "РЕЂАЊЕ" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Безбедни (\\\"kiosk\\\") режим" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Одаберите поље по којем се ређа" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Пошаљи поруке за отклањање грешака у датотеку" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Постави име иницијализационе датотеке" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Постави начин ређања (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Постави начин ређања за главни приказ" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Постави интервал освежавања" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Поређај по %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Поређај по %MEM" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Поређај по ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Поређај по ВРЕМЕНУ" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Почни са приказивањем блок уређаја" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Почни са приказивањем мрежних интерфејса" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Почни са приказивањем pCPU-ова (подразумевано: задаци)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "ВРЕМЕ (CPU време)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Пребаци блок уређаје" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Пребаци мрежне интерфејсе" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Пребаци физичке CPU-ове" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Притистните тастер или користите тастере навигације горе и доле." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Непозната команда - покушајте 'h' за помоћ" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Освежи приказ" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Уписана подешавања у %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "подразумевано" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc није вратио " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d од Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -346,10 +360,11 @@ msgstr "" + "\n" + "ОПЦИЈЕ" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top је компајлиран без подршке за CSV датотеке" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top је компајлиран без подршке за датуме и времена" ++ +diff --git a/po/sv.po b/po/sv.po +index 928e0bb..27dede8 100644 +--- a/po/sv.po ++++ b/po/sv.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# Göran Uddeborg , 2012 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,38 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# konfigurationsfilen %s för virt-top\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Aktivera CSV-utmatning till den namngivna filen\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# För att skydda denna fil från att skrivas över, avkommentera nästa rad\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# För att skicka felsöknings- och felmeddelanden till en fil, avkommentera " +-"nästa rad\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# genererad %s av %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MNE" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -58,276 +50,300 @@ msgstr "" + "%d domäner, %d aktiva, %d körande, %d sovande, %d pausade, %d inaktiva N:%d " + "A:%d K:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: display skall vara %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: sort-ordning skall vara: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: okänd parameter" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: konfigurationspost ”%s” ignoreras\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: kan inte sätta en negativ fördröjning" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Satsvis läge" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Blocksläsningsbegäranden" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Blockskrivningsbegäranden" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f %% Mne: %Ld MB (%Ld MB av gäster)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Ändra fördröjning från %.1f till: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "Anslut till URI (standard: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "Anslut: %s; Värdnamn: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "VISNINGSLÄGEN" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Fördröjning måste vara > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Tidsfördröjningsintervall (sekunder)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Fördröjning: %.1f s; Satsvis: %s; Säkert: %s; Sortering: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Avaktivera CPU-statistik i CSV" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Avaktivera blockenhetsstatistik i CSV" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Avaktivera nätstatistik i CSV" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Visa versionsnummer och avsluta" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Läs inte initieringsfilen" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "Domän-ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Domännamn" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Domänvisning" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Fel" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Avsluta vid given tidpunkt" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Hjälp" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Historisk CPU-fördröjning" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Logga statistik till en CSV-fil" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "HUVUDTANGENTER" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Mer hjälp i manualsidan virt-top(1). Tryck en tangent för att återvända." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"OBS: Om du vill övervaka en lokal Xen-hypervisor behöver du normal vara root" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Netto MT byte" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Netto SD byte" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Inte ett giltigt tal" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Antal iterationer att köra" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Av" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "På" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Avsluta" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Kör från ett skript (inget användargränssnitt)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SORTERING" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Säkert (\\\"kiosk-\\\")läge" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Välj sorteringsfält" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Skicka felsökningsmeddelanden till en fil" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Ange namn på initieringsfilen" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Ange sorteringsordning (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Ange sorteringsordning för huvudsidan" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Ange uppdateringsintervall" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Sortera efter %CPU" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Sortera efter %MNE" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Sortera efter ID" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Sortera efter TID" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Starta med att visa blockenheter" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Starta med att visa nätverksgränssnitt" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Starta med att visa fCPU:er (standard: uppgifter)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TID (CPU-tid)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Växla blockenheter" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Växla nätverksgränssnitt" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Växla fysiska CPU:er" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Tryck en tangent eller använd piltangenterna upp och ned." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Okänt kommando - försök med ”h” för hjälp" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Uppdatera visningen" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Skrev inställningar till %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "standard" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc returnerade inte " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d av Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -343,10 +359,11 @@ msgstr "" + "\n" + "FLAGGOR" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top kompilerade utan stöd för CSV-filer" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top kompilerades utan stöd för datum och tider" ++ +diff --git a/po/te.po b/po/te.po +index d6e7386..f345ada 100644 +--- a/po/te.po ++++ b/po/te.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,38 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top ఆకృతీకరణ ఫైలు\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# CSV అవుట్పుట్‌ను నామపు ఫైలునకు చేతనముచేయి\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# ఈ ఫైలును దిద్దిరాయుట నుండి రక్షించుటకు, తరువాతి లైను కామెంట్ తీసివేయుము\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# డీబగ్ మరియు దోష సందేశాన్ని వొక ఫైలునకు పంపుటకు, తరువాతి వరుస కామెంట్‌ను " +-"తీసివేయుము\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# %sన %s ద్వారా చేయబడింది\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -56,277 +50,300 @@ msgstr "" + "%d డొమైన్లు, %d క్రియాశీల, %d నడుస్తున్నవి, %d స్లీపింగ్, %d నిలిపివున్నవి, " + "%d క్రియాహీన D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: ప్రదర్శన %s కావలె" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: క్రమీకరణ క్రమము యిది కావలె: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: తెలియని పారామితి" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: ఆకృతీకరణ అంశము ``%s'' వదిలివేయబడింది\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: ఋణ ఆలస్యంను అమర్చలేము" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "బాచ్ రీతి" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "బ్లాక్ రీడ్ రెక్స్" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "బ్లాక్ వ్రైట్ రెక్స్" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "ఆలస్యాన్ని %.1f నుండి దీనికి మార్చుము: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "URI కు అనుసంధానించుము (అప్రమేయ: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "అనుసంధానించు: %s; హోస్టునామము: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "ప్రదర్శన రీతులు" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "ఆలస్యం తప్పక > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "ఆలస్యానికి విరామం (క్షణాలు)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "ఆలస్యం: %.1f క్షణాలు; బాచ్: %s; రక్షణ: %s; క్రమము: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "CSV నందు CPU గణాంకాలను అచేతనముచేయి" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "CSV నందు బ్లాక్ పరికరపు గణాంకాలను అచేతనముచేయి" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "CSV నందు నెట్ గణాంకాలను అచేతనముచేయి" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "వర్షన్ సంఖ్యను ప్రదర్శించు మరియు నిష్క్రమించు" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "init ఫైలును చదువవద్దు" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "డొమైన్ ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "డొమైన్ నామము" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "డొమైన్ ప్రదర్శన" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "దోషము" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "ఇచ్చిన సమయమందు నిష్క్రమించుము" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "సహాయం" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "చారిత్రక CPU ఆలస్యము" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "CSV ఫైలునకు లాగ్ గణాంకాలు" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "ముఖ్య కీలు" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "virt-top(1) man పేజీ నందు మరింత సహాయం. తిరిగివచ్చుటకు యేదేని కీను వత్తుము." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: మీరు స్థానిక Xen హైపర్విజర్‌ను మానిటర్ చేయాలని అనుకొంటే, మీరు సాధారణంగా " +-"root అయివుండాలి" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "నెట్ RX బైట్లు" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "నెట్ TX బైట్లు" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "చెల్లునటువంటి సంఖ్యకాదు" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "నడుపవలసిన ఆవర్తనముల సంఖ్య" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "ఆఫ్" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "ఆన్" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "నిష్క్రమించు" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "స్క్రిప్టునుండి నడుపుము (యెటువంటి వినియోగదారి యింటర్ఫేస్ లేదు)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "క్రమీకరణము" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "సురక్షిత (\\\"kiosk\\\") రీతి" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "క్రమీకరణ క్షేత్రమును యెంపికచేయుము" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "డీబగ్ సందేశములను ఫైలునకు పంపుము" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "init ఫైలు యొక్క నామమును అమర్చుము" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "క్రమీకరణ క్రమమును అమర్చుము (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "ముఖ్య ప్రదర్శన కొరకు క్రమీకరణ క్రమమును అమర్చుము" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "నవీకరణ విరామమును అమర్చుము" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU ద్వారా క్రమీకరణము" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "%MEM ద్వారా క్రమీకరణము" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID ద్వారా క్రమీకరణము" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "సమయం ద్వారా క్రమీకరణము" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "బ్లాక్ పరికరములను ప్రదర్శించుట ద్వారా ప్రారంభించుము" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "నెట్వర్కు యింటర్ఫేసులను ప్రదర్శించుట ద్వారా ప్రారంభించుము" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "pCPUలను ప్రదర్శించుట ద్వారా ప్రారంభించుము (అప్రమేయ: కర్తవ్యాలు)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "TIME (CPU సమయం)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "బ్లాక్ పరికరాలను అటుదిటుచేయి" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "నెట్వర్కు యింటర్ఫేసులను అటుదిటుచేయి" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "భౌతిక CPUలను అటుదిటుచేయి" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "కీను టైపుచేయి లేదా పైన మరియు క్రింద కర్సర్ కీలను వుపయోగించుము" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "తెలియని ఆదేశము - సహాయం కొరకు 'h' ప్రయత్నించుము" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "ప్రదర్శనను నవీకరించుము" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "అమరికలను %sకు వ్రాయుము" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "అప్రమేయ" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc అనునది తిరిగియిచ్చుటలేదు" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -342,10 +359,11 @@ msgstr "" + "\n" + "OPTIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "CSV ఫైళ్ళకు మద్దతు లేకుండా virt-top కంపైల్ చేయబడింది" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "తేదీలు మరియు సమయాలకు మద్దతులేకుండా virt-top నిర్వర్తించబడినది" ++ +diff --git a/po/tg.po b/po/tg.po +index cac104d..565e36b 100644 +--- a/po/tg.po ++++ b/po/tg.po +@@ -1,8 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -18,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Хатогӣ" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Роҳнамо" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Хомӯш" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Фаъол" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Баромад" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "ВАҚТ (вақти CPU)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "пешфарз" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -329,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/tr.po b/po/tr.po +index 8cd8c83..005561d 100644 +--- a/po/tr.po ++++ b/po/tr.po +@@ -1,9 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# +-# Translators: +-# Necdet Yücel , 2012 ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -19,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=2; plural=(n > 1);\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: bilinmeyen parametre" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Gecikme > 0 olmalı" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "Alan ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Alan adı" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Hata" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Yardım" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Kapalı" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Açık" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Çık" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Betikten çalıştır (arayüz olmadan)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "SIRALAMA" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "%CPU'ya göre sırala" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "ID'ye göre sırala" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "ZAMAN'a göre sırala" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "ZAMAN (CPU zamanı)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "öntanımlı" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -330,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +diff --git a/po/uk.po b/po/uk.po +index 15d0f88..1a074de 100644 +--- a/po/uk.po ++++ b/po/uk.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,38 +14,35 @@ msgstr "" + "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" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# Файл налаштування virt-top %s\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# Увімкнути виведення даних у форматі CSV до вказаного файла\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" +-"# Щоб захистити цей файл від перезапису, розкоментуйте наступний рядок\\n" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" +-"# Щоб надіслати діагностичні повідомлення до файла, розкоментуйте наступний " +-"рядок\\n" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# створено %s за допомогою %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%ЦП" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%ПАМ" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -56,278 +50,301 @@ msgstr "" + "%d доменів, %d активних, %d запущених, %d приспаних, %d призупинених, %d " + "неактивних D:%d O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s: має бути показано %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s: впорядкуванням має бути: %s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: невідомий параметр" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d: пункт налаштування «%s» проігноровано\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d: не можна використовувати від’ємну затримку" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "Пакетний режим" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "Запити читання блоків" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "Запити запису блоків" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "ЦП: %2.1f%% Пам: %Ld МБ (%Ld МБ гостьових)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "Змінити затримку з %.1f на: " + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "З’єднатися з адресою (типово: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "З’єднання: %s; назва вузла: %s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "РЕЖИМИ ПОКАЗУ" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "Затримкою має бути величина > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "Інтервал затримки (у секундах)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Затримка: %.1f с; пакет: %s; захист: %s; впорядкування: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "Вимкнути статистику процесора у CSV" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "Вимкнути статистику блокових пристроїв у CSV" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "Вимкнути статистику мережі у CSV" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "Показати дані щодо версії і завершити роботу" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "Не читати файл ініціалізації" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "Ід. домену" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "Назва домену" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "Показ доменів" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "Помилка" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "Вийти у вказаний час" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "Довідка" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "Історична затримка процесора" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "Записувати статистичні дані до файла CSV" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "ОСНОВНІ КЛЮЧІ" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + "Докладніше — на сторінці довідки (man) virt-top(1). Натисніть будь-яку " + "клавішу для повернення." + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" +-"NB: для спостереження за локальним гіпервізором Xen, зазвичай, потрібні " +-"права root" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "Передано байтів" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "Отримано байтів" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "Некоректне число" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "Кількість ітерацій" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "Вимкн." + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "Увімкн." + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "Вийти" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "Запуск без скрипту (без інтерфейсу користувача)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "ВПОРЯДКУВАННЯ" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "Безпечний режим («кіоск»)" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "Вибрати поле впорядкування" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "Надіслати діагностичні повідомлення до файла" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "Встановити назву файла ініціалізації" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "Встановити впорядкування (%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "Встановити впорядкування для основного показу" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "Встановити інтервал оновлення" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "Впорядкувати за %ЦП" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "Впорядкувати за %ПАМ" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "Впорядкувати за ІДЕНТИФІКАТОРОМ" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "Впорядкувати за ЧАСОМ" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "Показати першими блокові пристрої" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "Показати першими інтерфейси мережі" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "Показати першими фізичні процесори (типово: завдання)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "ЧАС (процесорний час)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "Увімкнути або вимкнути блокові пристрої" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "Увімкнути або вимкнути мережеві інтерфейси" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "Увімкнути або вимкнути фізичні процесори" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "Натисніть клавішу або скористайтеся клавішами стрілок вгору/вниз." + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "Невідома команда. Скористайтеся «h» для отримання довідки." + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "Оновити показ" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "Параметри записано до %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "типовий" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc не повернуто " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d, створено у Red Hat" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -343,10 +360,11 @@ msgstr "" + "\n" + "ПАРАМЕТРИ" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top було зібрано без підтримки файлів CSV" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top було зібрано без підтримки показу дат і часу" ++ +diff --git a/po/virt-top.pot b/po/virt-top.pot +index f1d39a2..3d7a1e5 100644 +--- a/po/virt-top.pot ++++ b/po/virt-top.pot +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2009-10-06 14:58+0000\n" ++"POT-Creation-Date: 2017-03-27 11:32+0000\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -17,312 +17,339 @@ msgstr "" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 +-#. ../virt-top/virt_top.ml:1544 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "NB: If you want to monitor a local Xen hypervisor, you usually need to be root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "virt-top : a 'top'-like utility for virtualization\n\nSUMMARY\n virt-top [-options]\n\nOPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" + +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 23b0a1e..f06191f 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,35 +14,35 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" +-msgstr "# %s virt-top 配置文件\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" +-msgstr "# 启用 CSV 输出到命名文件\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" +-msgstr "# 保护这个文件不被覆盖,下一行取消注释\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" +-msgstr "# 将 debug 和出错信息发送到一个文件,下一行取消注释\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" +-msgstr "# 使用 %s 在 %s 中创建\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" ++msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" +@@ -53,274 +50,299 @@ msgstr "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "%s:显示应该为 %s" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "%s:排列顺寻应该为:%s" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s:未知参数" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" +-msgstr "%s:%d:忽略配置项目 ``%s''\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" ++msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "-d:无法设定负延迟" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "批模式" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "块读取请求" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "块写入请求" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "CPU: %2.1f%% Mem: %Ld MB(客户端 %Ld MB)" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "将延迟从 %.1f 更改至:" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" +-msgstr "连接到 URI(默认:Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "连接:%s;主机名:%s" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "显示模式" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "延迟必须 > 0" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "延迟时间间隔(秒)" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "在 CSV 中禁用 XPU 统计" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "在 CSV 中禁用块设备统计" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "在 CSV 中禁用网络统计" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "显示版本号并退出" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "不读取初始化文件" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "域 ID" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "域名" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "域显示" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "错误" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "在指定时间退出" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "帮助" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "CPU 延迟历史记录" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "将统计记录到 CSV 文件中作为日志" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "主要密钥" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "更多帮助请参考 virt-top(1) man page。按任意键返回。" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" +-msgstr "NB:如果您要监控本地 Xen 监控程序,您通常需要是根用户" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" ++msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "纯 RX 字节" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "纯 TX 字节" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "非有效数字" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "要运行的重复数" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "关闭" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "打开" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "退出" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "从脚本运行(而不是用户界面)" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "排序" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" +-msgstr "安全默认是(\\\"kiosk\\\")" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" ++msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "选择排序字段" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "将 debug 信息发送到文件中" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "设定初始化文件名称" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "设定排序顺序(%s)" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "为主显示设定排序顺序" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "设定更新间隔" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "根据 %CPU 排序" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "根据 %MEM 排序" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "根据 ID 排序" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "根据时间排序" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "用显示的块设备启动" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "用显示的网络接口启动" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "用显示的 pCPU 启动(默认:任务)" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "时间(CPU 时间)" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "触发块设备" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "触发网络接口" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "触发物理 CPU" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "输入密钥或者使用上下箭头键。" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "未知命令 - 试用 ‘h’获得帮助" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "更新显示" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "将设置写入 %s" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "默认" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "get_xml_desc 没有返回 " + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "红帽提供的 virt-top %s ocaml-libvirt %s libvirt %d.%d.%d" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -336,10 +358,11 @@ msgstr "" + "\n" + "OPTIONS" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "virt-top 是以不支持 CSV 文件的形式编译" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "virt-top 是以不支持日期和时间的形式编译" ++ +diff --git a/po/zh_TW.po b/po/zh_TW.po +index dcf0de0..4df1241 100644 +--- a/po/zh_TW.po ++++ b/po/zh_TW.po +@@ -1,7 +1,4 @@ +-# SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +-# This file is distributed under the same license as the PACKAGE package. +-# FIRST AUTHOR , YEAR. ++#, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" +@@ -17,308 +14,333 @@ msgstr "" + "Plural-Forms: nplurals=1; plural=0\n" + "X-Generator: Zanata 3.5.1\n" + +-#: ../virt-top/virt_top.ml:1506 +-msgid "# %s virt-top configuration file\\n" ++#: ../src/top.ml:1670 ++msgid "# %s virt-top configuration file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1524 +-msgid "# Enable CSV output to the named file\\n" ++#: ../src/top.ml:1688 ++msgid "# Enable CSV output to the named file\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1527 +-msgid "# To protect this file from being overwritten, uncomment next line\\n" ++#: ../src/top.ml:1691 ++msgid "# To protect this file from being overwritten, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1521 +-msgid "# To send debug and error messages to a file, uncomment next line\\n" ++#: ../src/top.ml:1685 ++msgid "# To send debug and error messages to a file, uncomment next line\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:1507 +-msgid "# generated on %s by %s\\n" ++#: ../src/top.ml:1671 ++msgid "# generated on %s by %s\n" + msgstr "" + +-#: ../virt-top/virt_top.ml:65 ++#: ../src/top.ml:65 + msgid "%CPU" + msgstr "%CPU" + +-#: ../virt-top/virt_top.ml:66 ++#: ../src/top.ml:66 + msgid "%MEM" + msgstr "%MEM" + +-#: ../virt-top/virt_top.ml:1158 ++#: ../src/top.ml:1237 + msgid "" + "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " + "O:%d X:%d" + msgstr "" + +-#: ../virt-top/virt_top.ml:105 ++#: ../src/top.ml:245 ++msgid "%s: could not parse '%s' in init file: expecting %s" ++msgstr "" ++ ++#: ../src/top.ml:240 ++msgid "%s: could not parse '%s' in init file: expecting a number" ++msgstr "" ++ ++#: ../src/top.ml:235 ++msgid "%s: could not parse '%s' in init file: expecting an integer" ++msgstr "" ++ ++#: ../src/top.ml:105 + msgid "%s: display should be %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:83 ++#: ../src/top.ml:83 + msgid "%s: sort order should be: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:207 ++#: ../src/top.ml:217 + msgid "%s: unknown parameter" + msgstr "%s: unknown parameter" + +-#: ../virt-top/virt_top.ml:238 +-msgid "%s:%d: configuration item ``%s'' ignored\\n%!" ++#: ../src/top.ml:269 ++msgid "%s:%d: configuration item ``%s'' ignored\n%!" + msgstr "" + +-#: ../virt-top/virt_top.ml:144 ++#: ../src/top.ml:147 + msgid "-d: cannot set a negative delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:170 ++#: ../src/top.ml:173 + msgid "Batch mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:72 ++#: ../src/top.ml:72 + msgid "Block read reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:73 ++#: ../src/top.ml:73 + msgid "Block write reqs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1165 ++#: ../src/top.ml:1244 + msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1335 ++#: ../src/top.ml:1493 + msgid "Change delay from %.1f to: " + msgstr "" + +-#: ../virt-top/virt_top.ml:174 ../virt-top/virt_top.ml:172 +-msgid "Connect to URI (default: Xen)" ++#: ../src/top.ml:177 ../src/top.ml:175 ++msgid "Connect to libvirt URI" + msgstr "" + +-#: ../virt-top/virt_top.ml:1580 ++#: ../src/top.ml:1744 + msgid "Connect: %s; Hostname: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1618 ++#: ../src/top.ml:1783 + msgid "DISPLAY MODES" + msgstr "" + +-#: ../virt-top/virt_top.ml:1342 ++#: ../src/top.ml:1500 + msgid "Delay must be > 0" + msgstr "" + +-#: ../virt-top/virt_top.ml:184 ++#: ../src/top.ml:189 + msgid "Delay time interval (seconds)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1573 ++#: ../src/top.ml:1737 + msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:178 ++#: ../src/top.ml:181 + msgid "Disable CPU stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:180 ++#: ../src/top.ml:185 + msgid "Disable block device stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:182 ++#: ../src/top.ml:183 ++msgid "Disable memory stats in CSV" ++msgstr "" ++ ++#: ../src/top.ml:187 + msgid "Disable net stats in CSV" + msgstr "" + +-#: ../virt-top/virt_top.ml:204 ++#: ../src/top.ml:214 + msgid "Display version number and exit" + msgstr "" + +-#: ../virt-top/virt_top.ml:194 ++#: ../src/top.ml:199 + msgid "Do not read init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:68 ++#: ../src/top.ml:68 + msgid "Domain ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:69 ++#: ../src/top.ml:69 + msgid "Domain name" + msgstr "" + +-#: ../virt-top/virt_top.ml:1632 ++#: ../src/top.ml:1797 + msgid "Domains display" + msgstr "" + +-#. ../virt-top/virt_top.ml:1544 +-#: ../virt-top/virt_top_main.ml:47 ../virt-top/virt_top.ml:1547 ++#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 + msgid "Error" + msgstr "" + +-#: ../virt-top/virt_top.ml:188 ++#: ../src/top.ml:193 + msgid "Exit at given time" + msgstr "" + +-#: ../virt-top/virt_top.ml:1602 ++#: ../src/top.ml:1766 + msgid "Help" + msgstr "" + +-#: ../virt-top/virt_top.ml:190 ++#: ../src/top.ml:195 + msgid "Historical CPU delay" + msgstr "" + +-#: ../virt-top/virt_top.ml:176 ++#: ../src/top.ml:179 + msgid "Log statistics to CSV file" + msgstr "" + +-#: ../virt-top/virt_top.ml:1585 ++#: ../src/top.ml:1749 + msgid "MAIN KEYS" + msgstr "" + +-#: ../virt-top/virt_top.ml:1639 ++#: ../src/top.ml:1804 + msgid "More help in virt-top(1) man page. Press any key to return." + msgstr "" + +-#: ../virt-top/virt_top.ml:263 +-msgid "" +-"NB: If you want to monitor a local Xen hypervisor, you usually need to be " +-"root" ++#: ../src/top.ml:294 ++msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" + msgstr "" + +-#: ../virt-top/virt_top.ml:70 ++#: ../src/top.ml:70 + msgid "Net RX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:71 ++#: ../src/top.ml:71 + msgid "Net TX bytes" + msgstr "" + +-#: ../virt-top/virt_top.ml:1348 ++#: ../src/top.ml:1506 + msgid "Not a valid number" + msgstr "" + +-#: ../virt-top/virt_top.ml:196 ++#: ../src/top.ml:201 + msgid "Number of iterations to run" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "Off" + msgstr "" + +-#: ../virt-top/virt_top.ml:1576 ../virt-top/virt_top.ml:1575 ++#: ../src/top.ml:1740 ../src/top.ml:1739 + msgid "On" + msgstr "" + +-#: ../virt-top/virt_top.ml:1600 ++#: ../src/top.ml:1764 + msgid "Quit" + msgstr "" + +-#: ../virt-top/virt_top.ml:202 ++#: ../src/top.ml:208 + msgid "Run from a script (no user interface)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1606 ++#: ../src/top.ml:1771 + msgid "SORTING" + msgstr "" + +-#: ../virt-top/virt_top.ml:200 +-msgid "Secure (\\\"kiosk\\\") mode" ++#: ../src/top.ml:206 ++msgid "Secure (\"kiosk\") mode" + msgstr "" + +-#: ../virt-top/virt_top.ml:1615 ++#: ../src/top.ml:1780 + msgid "Select sort field" + msgstr "" + +-#: ../virt-top/virt_top.ml:186 ++#: ../src/top.ml:191 + msgid "Send debug messages to file" + msgstr "" + +-#: ../virt-top/virt_top.ml:192 ++#: ../src/top.ml:197 + msgid "Set name of init file" + msgstr "" + +-#: ../virt-top/virt_top.ml:198 ++#: ../src/top.ml:203 + msgid "Set sort order (%s)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1356 ++#: ../src/top.ml:1514 + msgid "Set sort order for main display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1601 ++#: ../src/top.ml:1765 + msgid "Set update interval" + msgstr "" + +-#: ../virt-top/virt_top.ml:1611 ++#: ../src/top.ml:1776 + msgid "Sort by %CPU" + msgstr "" + +-#: ../virt-top/virt_top.ml:1612 ++#: ../src/top.ml:1777 + msgid "Sort by %MEM" + msgstr "" + +-#: ../virt-top/virt_top.ml:1614 ++#: ../src/top.ml:1779 + msgid "Sort by ID" + msgstr "" + +-#: ../virt-top/virt_top.ml:1613 ++#: ../src/top.ml:1778 + msgid "Sort by TIME" + msgstr "" + +-#: ../virt-top/virt_top.ml:168 ++#: ../src/top.ml:171 + msgid "Start by displaying block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:166 ++#: ../src/top.ml:169 + msgid "Start by displaying network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:164 ++#: ../src/top.ml:167 + msgid "Start by displaying pCPUs (default: tasks)" + msgstr "" + +-#: ../virt-top/virt_top.ml:67 ++#: ../src/top.ml:67 + msgid "TIME (CPU time)" + msgstr "" + +-#: ../virt-top/virt_top.ml:1635 ++#: ../src/top.ml:1800 + msgid "Toggle block devices" + msgstr "" + +-#: ../virt-top/virt_top.ml:1634 ++#: ../src/top.ml:1799 + msgid "Toggle network interfaces" + msgstr "" + +-#: ../virt-top/virt_top.ml:1633 ++#: ../src/top.ml:1798 + msgid "Toggle physical CPUs" + msgstr "" + +-#: ../virt-top/virt_top.ml:1357 ++#: ../src/top.ml:1515 + msgid "Type key or use up and down cursor keys." + msgstr "" + +-#: ../virt-top/virt_top.ml:1644 ++#: ../src/top.ml:1809 + msgid "Unknown command - try 'h' for help" + msgstr "" + +-#: ../virt-top/virt_top.ml:1599 ++#: ../src/top.ml:1763 + msgid "Update display" + msgstr "" + +-#: ../virt-top/virt_top.ml:1539 ++#: ../src/top.ml:1703 + msgid "Wrote settings to %s" + msgstr "" + +-#: ../virt-top/virt_top.ml:1581 ++#: ../src/top.ml:1745 + msgid "default" + msgstr "" + +-#: ../virt-top/virt_top_xml.ml:46 ++#: ../src/top.ml:210 ++msgid "dump output to stdout (no userinterface)" ++msgstr "" ++ ++#: ../src/opt_xml.ml:46 + msgid "get_xml_desc didn't return " + msgstr "" + +-#: ../virt-top/virt_top.ml:1561 ++#: ../src/top.ml:212 ++msgid "show block device load in bytes rather than reqs" ++msgstr "" ++ ++#: ../src/top.ml:1767 ++msgid "toggle block info req/bytes" ++msgstr "" ++ ++#: ../src/top.ml:1725 + msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" + msgstr "" + +-#: ../virt-top/virt_top.ml:208 ++#: ../src/top.ml:218 + msgid "" + "virt-top : a 'top'-like utility for virtualization\n" + "\n" +@@ -328,10 +350,11 @@ msgid "" + "OPTIONS" + msgstr "" + +-#: ../virt-top/virt_top.ml:42 ++#: ../src/top.ml:42 + msgid "virt-top was compiled without support for CSV files" + msgstr "" + +-#: ../virt-top/virt_top.ml:53 ++#: ../src/top.ml:53 + msgid "virt-top was compiled without support for dates and times" + msgstr "" ++ +-- +2.19.0.rc0 + diff --git a/SOURCES/0011-Remove-support-for-OCaml-Calendar-v1.patch b/SOURCES/0011-Remove-support-for-OCaml-Calendar-v1.patch new file mode 100644 index 0000000..2e6a56c --- /dev/null +++ b/SOURCES/0011-Remove-support-for-OCaml-Calendar-v1.patch @@ -0,0 +1,203 @@ +From effd1ec5897a2cac6e897ae7bce72f6b1e617b90 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 12:41:21 +0100 +Subject: [PATCH 11/20] Remove support for OCaml Calendar v1. + +Calendar v2 was released in 2008 (9 years ago!), thus remove support +for v1. + +This was already broken by commit dc0e217390132f7e76a4d9c0a8a81a9556d19081 +so it likely didn't work anyway. +--- + MANIFEST | 3 +- + configure.ac | 6 --- + po/POTFILES | 3 +- + src/.depend | 6 +-- + src/Makefile.in | 7 +-- + src/README | 8 ++-- + src/{opt_calendar2.ml => opt_calendar.ml} | 0 + src/opt_calendar1.ml | 56 ----------------------- + 8 files changed, 9 insertions(+), 80 deletions(-) + rename src/{opt_calendar2.ml => opt_calendar.ml} (100%) + delete mode 100644 src/opt_calendar1.ml + +diff --git a/MANIFEST b/MANIFEST +index 2cf377f..26e87b2 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -55,8 +55,7 @@ src/.depend + src/Makefile.in + src/README + src/main.ml +-src/opt_calendar1.ml +-src/opt_calendar2.ml ++src/opt_calendar.ml + src/opt_csv.ml + src/opt_xml.ml + src/top.ml +diff --git a/configure.ac b/configure.ac +index ad65465..c9c7e34 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -57,12 +57,7 @@ dnl Check for optional OCaml packages. + AC_CHECK_OCAML_PKG(gettext) + AC_CHECK_OCAML_PKG(xml-light) + AC_CHECK_OCAML_PKG(csv) +- +-dnl Need to check which version of calendar is installed. + AC_CHECK_OCAML_PKG(calendar) +-if test "x$OCAML_PKG_calendar" != "xno"; then +- AC_CHECK_OCAML_MODULE(is_calendar2,calendar,[CalendarLib.Date],[+$OCAML_PKG_calendar]) +-fi + + AC_SUBST(OCAML_PKG_unix) + AC_SUBST(OCAML_PKG_extlib) +@@ -71,7 +66,6 @@ AC_SUBST(OCAML_PKG_gettext) + AC_SUBST(OCAML_PKG_xml_light) + AC_SUBST(OCAML_PKG_csv) + AC_SUBST(OCAML_PKG_calendar) +-AC_SUBST(is_calendar2) + + dnl Check for optional perldoc (for building manual pages). + AC_CHECK_PROG(HAVE_PERLDOC,perldoc,perldoc) +diff --git a/po/POTFILES b/po/POTFILES +index 70d62d5..b826a2a 100644 +--- a/po/POTFILES ++++ b/po/POTFILES +@@ -1,6 +1,5 @@ + ../src/main.ml +-../src/opt_calendar1.ml +-../src/opt_calendar2.ml ++../src/opt_calendar.ml + ../src/opt_csv.ml + ../src/opt_gettext.ml + ../src/opt_xml.ml +diff --git a/src/.depend b/src/.depend +index 5325c54..f487c18 100644 +--- a/src/.depend ++++ b/src/.depend +@@ -1,9 +1,7 @@ + main.cmo: top.cmi opt_gettext.cmo + main.cmx: top.cmx opt_gettext.cmx +-opt_calendar1.cmo: top.cmi opt_gettext.cmo +-opt_calendar1.cmx: top.cmx opt_gettext.cmx +-opt_calendar2.cmo: top.cmi opt_gettext.cmo +-opt_calendar2.cmx: top.cmx opt_gettext.cmx ++opt_calendar.cmo: top.cmi opt_gettext.cmo ++opt_calendar.cmx: top.cmx opt_gettext.cmx + opt_csv.cmo: top.cmi opt_gettext.cmo + opt_csv.cmx: top.cmx opt_gettext.cmx + opt_gettext.cmo: +diff --git a/src/Makefile.in b/src/Makefile.in +index d744fd7..ae896cb 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -52,13 +52,8 @@ OBJS += opt_csv.cmo + OCAMLCPACKAGES += -package csv + endif + ifneq ($(OCAML_PKG_calendar),no) +-ifeq ($(is_calendar2),no) +-OBJS += opt_calendar1.cmo ++OBJS += opt_calendar.cmo + OCAMLCPACKAGES += -package calendar +-else +-OBJS += opt_calendar2.cmo +-OCAMLCPACKAGES += -package calendar +-endif + endif + OBJS += main.cmo + +diff --git a/src/README b/src/README +index 47382a5..8aa2348 100644 +--- a/src/README ++++ b/src/README +@@ -40,16 +40,16 @@ The code is structured into these files: + Any code which needs the optional ocaml-csv library goes + in here. This implements the --csv command line option. + +- opt_calendar1.ml, opt_calendar2.ml ++ opt_calendar.ml + + Any code which needs the optional ocaml-calendar library +- (v1 or v2) goes in here. This implements the --end-time +- command line option. ++ (v2) goes in here. This implements the --end-time command ++ line option. + + main.ml + + This is just a small bit of code to glue the modules together +- Top + Opt_xml? + Opt_csv? + Opt_calendar{1,2}? ++ Top + Opt_xml? + Opt_csv? + Opt_calendar? + + The man-page is generated from the single file: + +diff --git a/src/opt_calendar2.ml b/src/opt_calendar.ml +similarity index 100% +rename from src/opt_calendar2.ml +rename to src/opt_calendar.ml +diff --git a/src/opt_calendar1.ml b/src/opt_calendar1.ml +deleted file mode 100644 +index 2c459fe..0000000 +--- a/src/opt_calendar1.ml ++++ /dev/null +@@ -1,56 +0,0 @@ +-(* 'top'-like tool for libvirt domains. +- (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. +- http://libvirt.org/ +- +- 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. +- +- This file contains all code which requires ocaml-calendar < 2.0 +-*) +- +-open Printf +-open ExtString +- +-open Opt_gettext.Gettext ;; +- +-Top.parse_date_time := +-fun time -> +- let cal : Calendar.t = +- if String.starts_with time "+" then ( (* +something *) +- let period = String.sub time 1 (String.length time - 1) in +- let period = +- if String.contains period ':' then ( (* +HH:MM:SS *) +- let t = Printer.TimePrinter.from_string period in +- let hh = Time.hour t and mm = Time.minute t and ss = Time.second t in +- Calendar.Period.make 0 0 0 hh mm ss +- ) else (* +seconds *) +- Calendar.Period.second (int_of_string period) in +- (* Add it as an offset from the current time. *) +- Calendar.add (Calendar.now ()) period +- ) else ( +- if String.contains time '-' then (* YYYY-MM-DD HH:MM:SS *) +- Printer.CalendarPrinter.from_string time +- else ( (* HH:MM:SS *) +- let time = Printer.TimePrinter.from_string time in +- Calendar.create (Date.today ()) time +- ) +- ) in +- +- eprintf "end time: %s\n" (Printer.CalendarPrinter.to_string cal); +- +- (* Convert to a time_t. Note that we compare this against +- * Unix.gettimeofday in the main module, so this must be returned as +- * plain seconds from 1970 with no timezone adjustment. (RHBZ#637964) +- *) +- Calendar.to_unixfloat cal +-- +2.19.0.rc0 + diff --git a/SOURCES/0012-src-Fix-some-comments-which-referred-to-the-old-file.patch b/SOURCES/0012-src-Fix-some-comments-which-referred-to-the-old-file.patch new file mode 100644 index 0000000..5cb1dff --- /dev/null +++ b/SOURCES/0012-src-Fix-some-comments-which-referred-to-the-old-file.patch @@ -0,0 +1,76 @@ +From 3e9ed9c0fe49c3d4e4a8e467d521f676769c485a Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 13:06:18 +0100 +Subject: [PATCH 12/20] src: Fix some comments which referred to the old + filenames. + +Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c. +--- + src/top.ml | 8 ++++---- + src/top.mli | 6 +++--- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/top.ml b/src/top.ml +index 38658c6..f50e6a8 100644 +--- a/src/top.ml ++++ b/src/top.ml +@@ -30,13 +30,13 @@ module N = Libvirt.Network + + let rcfile = ".virt-toprc" + +-(* Hook for XML support (see virt_top_xml.ml). *) ++(* Hook for XML support (see [opt_xml.ml]). *) + let parse_device_xml : (int -> [>`R] D.t -> string list * string list) ref = + ref ( + fun _ _ -> [], [] + ) + +-(* Hooks for CSV support (see virt_top_csv.ml). *) ++(* Hooks for CSV support (see [opt_csv.ml]). *) + let csv_start : (string -> unit) ref = + ref ( + fun _ -> failwith (s_"virt-top was compiled without support for CSV files") +@@ -46,7 +46,7 @@ let csv_write : (string list -> unit) ref = + fun _ -> () + ) + +-(* Hook for calendar support (see virt_top_calendar.ml). *) ++(* Hook for calendar support (see [opt_calendar.ml]). *) + let parse_date_time : (string -> float) ref = + ref ( + fun _ -> +@@ -345,7 +345,7 @@ OPTIONS" in + + (* This tuple of static information is called 'setup' in other parts + * of this program, and is passed to other functions such as redraw and +- * main_loop. See virt_top_main.ml. ++ * main_loop. See [main.ml]. + *) + (conn, + !batch_mode, !script_mode, !csv_enabled, !stream_mode, (* immutable modes *) +diff --git a/src/top.mli b/src/top.mli +index 3ad0718..b0953dd 100644 +--- a/src/top.mli ++++ b/src/top.mli +@@ -17,15 +17,15 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + *) + +-(* Hook for virt_top_xml to override (if present). *) ++(* Hook for [Opt_xml] to override (if present). *) + val parse_device_xml : + (int -> [ `R ] Libvirt.Domain.t -> string list * string list) ref + +-(* Hooks for virt_top_csv to override (if present). *) ++(* Hooks for [Opt_csv] to override (if present). *) + val csv_start : (string -> unit) ref + val csv_write : (string list -> unit) ref + +-(* Hook for virt_top_calendar to override (if present). *) ++(* Hook for [Opt_calendar] to override (if present). *) + val parse_date_time : (string -> float) ref + + type setup = +-- +2.19.0.rc0 + diff --git a/SOURCES/0013-Split-up-huge-Top-module-into-smaller-modules.patch b/SOURCES/0013-Split-up-huge-Top-module-into-smaller-modules.patch new file mode 100644 index 0000000..a4f5046 --- /dev/null +++ b/SOURCES/0013-Split-up-huge-Top-module-into-smaller-modules.patch @@ -0,0 +1,3274 @@ +From 90d14bc151e488972d33eefaac2242d9a6e07578 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 15:29:23 +0100 +Subject: [PATCH 13/20] Split up huge Top module into smaller modules. + +This change is hopefully pure refactoring, splitting up the very large +and highly interlinked module into more manageable modules with +well-defined (or at least *better*-defined) interfaces between them. +--- + MANIFEST | 12 + + po/POTFILES | 6 + + src/.depend | 36 +- + src/Makefile.in | 6 + + src/README | 38 +- + src/collect.ml | 455 ++++++++++++++++ + src/collect.mli | 86 ++++ + src/csv_output.ml | 118 +++++ + src/csv_output.mli | 27 + + src/opt_csv.ml | 2 +- + src/opt_xml.ml | 2 +- + src/redraw.ml | 506 ++++++++++++++++++ + src/redraw.mli | 20 + + src/screen.ml | 52 ++ + src/screen.mli | 41 ++ + src/stream_output.ml | 84 +++ + src/stream_output.mli | 22 + + src/top.ml | 1139 +---------------------------------------- + src/top.mli | 20 +- + src/types.ml | 147 ++++++ + src/types.mli | 49 ++ + src/utils.ml | 65 --- + src/utils.mli | 9 - + 23 files changed, 1719 insertions(+), 1223 deletions(-) + create mode 100644 src/collect.ml + create mode 100644 src/collect.mli + create mode 100644 src/csv_output.ml + create mode 100644 src/csv_output.mli + create mode 100644 src/redraw.ml + create mode 100644 src/redraw.mli + create mode 100644 src/screen.ml + create mode 100644 src/screen.mli + create mode 100644 src/stream_output.ml + create mode 100644 src/stream_output.mli + create mode 100644 src/types.ml + create mode 100644 src/types.mli + +diff --git a/MANIFEST b/MANIFEST +index 26e87b2..4e4014b 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -54,12 +54,24 @@ TODO + src/.depend + src/Makefile.in + src/README ++src/collect.ml ++src/collect.mli ++src/csv_output.ml ++src/csv_output.mli + src/main.ml + src/opt_calendar.ml + src/opt_csv.ml + src/opt_xml.ml ++src/redraw.ml ++src/redraw.mli ++src/screen.ml ++src/screen.mli ++src/stream_output.ml ++src/stream_output.mli + src/top.ml + src/top.mli ++src/types.ml ++src/types.mli + src/utils.ml + src/utils.mli + src/version.ml.in +diff --git a/po/POTFILES b/po/POTFILES +index b826a2a..6150703 100644 +--- a/po/POTFILES ++++ b/po/POTFILES +@@ -1,8 +1,14 @@ ++../src/collect.ml ++../src/csv_output.ml + ../src/main.ml + ../src/opt_calendar.ml + ../src/opt_csv.ml + ../src/opt_gettext.ml + ../src/opt_xml.ml ++../src/redraw.ml ++../src/screen.ml ++../src/stream.ml + ../src/top.ml ++../src/types.ml + ../src/utils.ml + ../src/version.ml +diff --git a/src/.depend b/src/.depend +index f487c18..1075f36 100644 +--- a/src/.depend ++++ b/src/.depend +@@ -1,18 +1,36 @@ ++collect.cmi: types.cmi ++collect.cmo: utils.cmi types.cmi collect.cmi ++collect.cmx: utils.cmx types.cmx collect.cmi ++csv_output.cmi: types.cmi collect.cmi ++csv_output.cmo: collect.cmi csv_output.cmi ++csv_output.cmx: collect.cmx csv_output.cmi + main.cmo: top.cmi opt_gettext.cmo + main.cmx: top.cmx opt_gettext.cmx + opt_calendar.cmo: top.cmi opt_gettext.cmo + opt_calendar.cmx: top.cmx opt_gettext.cmx +-opt_csv.cmo: top.cmi opt_gettext.cmo +-opt_csv.cmx: top.cmx opt_gettext.cmx ++opt_csv.cmo: top.cmi opt_gettext.cmo csv_output.cmi ++opt_csv.cmx: top.cmx opt_gettext.cmx csv_output.cmx + opt_gettext.cmo: + opt_gettext.cmx: +-opt_xml.cmo: top.cmi opt_gettext.cmo +-opt_xml.cmx: top.cmx opt_gettext.cmx +-top.cmi: +-top.cmo: version.cmo utils.cmi opt_gettext.cmo top.cmi +-top.cmx: version.cmx utils.cmx opt_gettext.cmx top.cmi ++opt_xml.cmo: opt_gettext.cmo collect.cmi ++opt_xml.cmx: opt_gettext.cmx collect.cmx ++redraw.cmi: types.cmi collect.cmi ++redraw.cmo: utils.cmi types.cmi screen.cmi opt_gettext.cmo collect.cmi redraw.cmi ++redraw.cmx: utils.cmx types.cmx screen.cmx opt_gettext.cmx collect.cmx redraw.cmi ++screen.cmi: ++screen.cmo: screen.cmi ++screen.cmx: screen.cmi ++stream_output.cmi: types.cmi collect.cmi ++stream_output.cmo: utils.cmi screen.cmi collect.cmi stream_output.cmi ++stream_output.cmx: utils.cmx screen.cmx collect.cmx stream_output.cmi ++top.cmi: types.cmi ++top.cmo: version.cmo utils.cmi types.cmi stream_output.cmi screen.cmi redraw.cmi opt_gettext.cmo csv_output.cmi collect.cmi top.cmi ++top.cmx: version.cmx utils.cmx types.cmx stream_output.cmx screen.cmx redraw.cmx opt_gettext.cmx csv_output.cmx collect.cmx top.cmi ++types.cmi: ++types.cmo: utils.cmi opt_gettext.cmo types.cmi ++types.cmx: utils.cmx opt_gettext.cmx types.cmi + utils.cmi: +-utils.cmo: opt_gettext.cmo utils.cmi +-utils.cmx: opt_gettext.cmx utils.cmi ++utils.cmo: utils.cmi ++utils.cmx: utils.cmi + version.cmo: + version.cmx: +diff --git a/src/Makefile.in b/src/Makefile.in +index ae896cb..64f431e 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -42,6 +42,12 @@ OBJS := \ + version.cmo \ + opt_gettext.cmo \ + utils.cmo \ ++ types.cmo \ ++ collect.cmo \ ++ screen.cmo \ ++ redraw.cmo \ ++ csv_output.cmo \ ++ stream_output.cmo \ + top.cmo + ifneq ($(OCAML_PKG_xml_light),no) + OBJS += opt_xml.cmo +diff --git a/src/README b/src/README +index 8aa2348..1fd4be3 100644 +--- a/src/README ++++ b/src/README +@@ -5,19 +5,37 @@ The code is structured into these files: + String functions and other small utility functions. This is + included directly into virt_top.ml. + ++ types.mli, types.ml ++ ++ Various internally used types and functions operating on those ++ types. ++ ++ collect.mli, collect.ml ++ ++ Stats information is collected in these functions. ++ ++ screen.mli, screen.ml ++ ++ Various useful functions for drawing to the curses screen. ++ ++ redraw.mli, redraw.ml ++ ++ Redraw the main display. ++ ++ csv_output.mli, csv_output.ml ++ ++ Functions which implement --csv mode. ++ ++ stream_output.mli, stream_output.ml ++ ++ Functions which implement --stream mode. ++ + top.mli, top.ml + + This is the virt-top program. + +- The two interesting functions are called 'collect' and 'redraw'. +- +- 'collect' collects all the information about domains, etc. +- +- 'redraw' updates the display on each frame. +- +- Another interesting function is 'start_up' which handles all +- start-up stuff, eg. command line arguments, connecting to the +- hypervisor, enabling curses. ++ 'start_up' handles all start-up stuff, eg. command line arguments, ++ connecting to the hypervisor, enabling curses. + + The function 'main_loop' runs the main loop and has sub-functions + to deal with keypresses, help screens and so on. +@@ -38,7 +56,7 @@ The code is structured into these files: + opt_csv.ml + + Any code which needs the optional ocaml-csv library goes +- in here. This implements the --csv command line option. ++ in here. + + opt_calendar.ml + +diff --git a/src/collect.ml b/src/collect.ml +new file mode 100644 +index 0000000..f856067 +--- /dev/null ++++ b/src/collect.ml +@@ -0,0 +1,455 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++module C = Libvirt.Connect ++module D = Libvirt.Domain ++ ++open Printf ++open ExtList ++ ++open Utils ++open Types ++ ++(* Hook for XML support (see [opt_xml.ml]). *) ++let parse_device_xml : (int -> [>`R] D.t -> string list * string list) ref = ++ ref ( ++ fun _ _ -> [], [] ++ ) ++ ++(* Intermediate "domain + stats" structure that we use to collect ++ * everything we know about a domain within the collect function. ++ *) ++type rd_domain = Inactive | Active of rd_active ++and rd_active = { ++ rd_domid : int; (* Domain ID. *) ++ rd_dom : [`R] D.t; (* Domain object. *) ++ rd_info : D.info; (* Domain CPU info now. *) ++ rd_block_stats : (string * D.block_stats) list; ++ (* Domain block stats now. *) ++ rd_interface_stats : (string * D.interface_stats) list; ++ (* Domain net stats now. *) ++ rd_prev_info : D.info option; (* Domain CPU info previously. *) ++ rd_prev_block_stats : (string * D.block_stats) list; ++ (* Domain block stats prev. *) ++ rd_prev_interface_stats : (string * D.interface_stats) list; ++ (* Domain interface stats prev. *) ++ (* The following are since the last slice, or 0 if cannot be calculated: *) ++ rd_cpu_time : float; (* CPU time used in nanoseconds. *) ++ rd_percent_cpu : float; (* CPU time as percent of total. *) ++ rd_mem_bytes : int64; (* Memory usage in bytes *) ++ rd_mem_percent: int64; (* Memory usage as percent of total *) ++ (* The following are since the last slice, or None if cannot be calc'd: *) ++ rd_block_rd_reqs : int64 option; (* Number of block device read rqs. *) ++ rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *) ++ rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) ++ rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) ++ (* _info fields includes the number considering --block_in_bytes option *) ++ rd_block_rd_info : int64 option; (* Block device read info for user *) ++ rd_block_wr_info : int64 option; (* Block device read info for user *) ++ ++ rd_net_rx_bytes : int64 option; (* Number of bytes received. *) ++ rd_net_tx_bytes : int64 option; (* Number of bytes transmitted. *) ++} ++ ++type stats = { ++ rd_doms : (string * rd_domain) list; (* List of domains. *) ++ rd_time : float; ++ rd_printable_time : string; ++ rd_nr_pcpus : int; ++ rd_total_cpu : float; ++ rd_total_cpu_per_pcpu : float; ++ rd_totals : (int * int * int * int * int * int * int * int * int * float * ++ int64 * int64); ++} ++ ++type pcpu_stats = { ++ rd_pcpu_doms : (int * string * int * ++ Libvirt.Domain.vcpu_info array * int64 array array * ++ int64 array array * string * int) list; ++ rd_pcpu_pcpus : int64 array array array; ++ rd_pcpu_pcpus_cpu_time : float array ++} ++ ++(* We cache the list of block devices and interfaces for each domain ++ * here, so we don't need to reparse the XML each time. ++ *) ++let devices = Hashtbl.create 13 ++ ++(* Function to get the list of block devices, network interfaces for ++ * a particular domain. Get it from the devices cache, and if not ++ * there then parse the domain XML. ++ *) ++let get_devices id dom = ++ try Hashtbl.find devices id ++ with Not_found -> ++ let blkdevs, netifs = (!parse_device_xml) id dom in ++ Hashtbl.replace devices id (blkdevs, netifs); ++ blkdevs, netifs ++ ++(* We save the state of domains across redraws here, which allows us ++ * to deduce %CPU usage from the running total. ++ *) ++let last_info = Hashtbl.create 13 ++let last_time = ref (Unix.gettimeofday ()) ++ ++(* Save pcpu_usages structures across redraws too (only for pCPU display). *) ++let last_pcpu_usages = Hashtbl.create 13 ++ ++let clear_pcpu_display_data () = ++ Hashtbl.clear last_pcpu_usages ++ ++let collect (conn, _, _, _, _, node_info, _, _) block_in_bytes = ++ (* Number of physical CPUs (some may be disabled). *) ++ let nr_pcpus = C.maxcpus_of_node_info node_info in ++ ++ (* Get the current time. *) ++ let time = Unix.gettimeofday () in ++ let tm = Unix.localtime time in ++ let printable_time = ++ sprintf "%02d:%02d:%02d" tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec in ++ ++ (* What's the total CPU time elapsed since we were last called? (ns) *) ++ let total_cpu_per_pcpu = 1_000_000_000. *. (time -. !last_time) in ++ (* Avoid division by zero. *) ++ let total_cpu_per_pcpu = ++ if total_cpu_per_pcpu <= 0. then 1. else total_cpu_per_pcpu in ++ let total_cpu = float node_info.C.cpus *. total_cpu_per_pcpu in ++ ++ (* Get the domains. Match up with their last_info (if any). *) ++ let doms = ++ (* Active domains. *) ++ let n = C.num_of_domains conn in ++ let ids = ++ if n > 0 then Array.to_list (C.list_domains conn n) ++ else [] in ++ let doms = ++ List.filter_map ( ++ fun id -> ++ try ++ let dom = D.lookup_by_id conn id in ++ let name = D.get_name dom in ++ let blkdevs, netifs = get_devices id dom in ++ ++ (* Get current CPU, block and network stats. *) ++ let info = D.get_info dom in ++ let block_stats = ++ try List.map (fun dev -> dev, D.block_stats dom dev) blkdevs ++ with ++ | Libvirt.Not_supported "virDomainBlockStats" ++ | Libvirt.Virterror _ -> [] in ++ let interface_stats = ++ try List.map (fun dev -> dev, D.interface_stats dom dev) netifs ++ with ++ | Libvirt.Not_supported "virDomainInterfaceStats" ++ | Libvirt.Virterror _ -> [] in ++ ++ let prev_info, prev_block_stats, prev_interface_stats = ++ try ++ let prev_info, prev_block_stats, prev_interface_stats = ++ Hashtbl.find last_info id in ++ Some prev_info, prev_block_stats, prev_interface_stats ++ with Not_found -> None, [], [] in ++ ++ Some (name, ++ Active { ++ rd_domid = id; rd_dom = dom; rd_info = info; ++ rd_block_stats = block_stats; ++ rd_interface_stats = interface_stats; ++ rd_prev_info = prev_info; ++ rd_prev_block_stats = prev_block_stats; ++ rd_prev_interface_stats = prev_interface_stats; ++ rd_cpu_time = 0.; rd_percent_cpu = 0.; ++ rd_mem_bytes = 0L; rd_mem_percent = 0L; ++ rd_block_rd_reqs = None; rd_block_wr_reqs = None; ++ rd_block_rd_bytes = None; rd_block_wr_bytes = None; ++ rd_block_rd_info = None; rd_block_wr_info = None; ++ rd_net_rx_bytes = None; rd_net_tx_bytes = None; ++ }) ++ with ++ Libvirt.Virterror _ -> None (* ignore transient error *) ++ ) ids in ++ ++ (* Inactive domains. *) ++ let doms_inactive = ++ try ++ let n = C.num_of_defined_domains conn in ++ let names = ++ if n > 0 then Array.to_list (C.list_defined_domains conn n) ++ else [] in ++ List.map (fun name -> name, Inactive) names ++ with ++ (* Ignore transient errors, in particular errors from ++ * num_of_defined_domains if it cannot contact xend. ++ *) ++ | Libvirt.Virterror _ -> [] in ++ ++ doms @ doms_inactive in ++ ++ (* Calculate the CPU time (ns) and %CPU used by each domain. *) ++ let doms = ++ List.map ( ++ function ++ (* We have previous CPU info from which to calculate it? *) ++ | name, Active ({ rd_prev_info = Some prev_info } as rd) -> ++ let cpu_time = ++ Int64.to_float (rd.rd_info.D.cpu_time -^ prev_info.D.cpu_time) in ++ let percent_cpu = 100. *. cpu_time /. total_cpu in ++ let mem_usage = rd.rd_info.D.memory in ++ let mem_percent = ++ 100L *^ rd.rd_info.D.memory /^ node_info.C.memory in ++ let rd = { rd with ++ rd_cpu_time = cpu_time; ++ rd_percent_cpu = percent_cpu; ++ rd_mem_bytes = mem_usage; ++ rd_mem_percent = mem_percent} in ++ name, Active rd ++ (* For all other domains we can't calculate it, so leave as 0 *) ++ | rd -> rd ++ ) doms in ++ ++ (* Calculate the number of block device read/write requests across ++ * all block devices attached to a domain. ++ *) ++ let doms = ++ List.map ( ++ function ++ (* Do we have stats from the previous slice? *) ++ | name, Active ({ rd_prev_block_stats = ((_::_) as prev_block_stats) } ++ as rd) -> ++ let block_stats = rd.rd_block_stats in (* stats now *) ++ ++ (* Add all the devices together. Throw away device names. *) ++ let prev_block_stats = ++ sum_block_stats (List.map snd prev_block_stats) in ++ let block_stats = ++ sum_block_stats (List.map snd block_stats) in ++ ++ (* Calculate increase in read & write requests. *) ++ let read_reqs = ++ block_stats.D.rd_req -^ prev_block_stats.D.rd_req in ++ let write_reqs = ++ block_stats.D.wr_req -^ prev_block_stats.D.wr_req in ++ let read_bytes = ++ block_stats.D.rd_bytes -^ prev_block_stats.D.rd_bytes in ++ let write_bytes = ++ block_stats.D.wr_bytes -^ prev_block_stats.D.wr_bytes in ++ ++ let rd = { rd with ++ rd_block_rd_reqs = Some read_reqs; ++ rd_block_wr_reqs = Some write_reqs; ++ rd_block_rd_bytes = Some read_bytes; ++ rd_block_wr_bytes = Some write_bytes; ++ } in ++ let rd = { rd with ++ rd_block_rd_info = ++ if block_in_bytes then ++ rd.rd_block_rd_bytes else rd.rd_block_rd_reqs; ++ rd_block_wr_info = ++ if block_in_bytes then ++ rd.rd_block_wr_bytes else rd.rd_block_wr_reqs; ++ } in ++ name, Active rd ++ (* For all other domains we can't calculate it, so leave as None. *) ++ | rd -> rd ++ ) doms in ++ ++ (* Calculate the same as above for network interfaces across ++ * all network interfaces attached to a domain. ++ *) ++ let doms = ++ List.map ( ++ function ++ (* Do we have stats from the previous slice? *) ++ | name, Active ({ rd_prev_interface_stats = ++ ((_::_) as prev_interface_stats) } ++ as rd) -> ++ let interface_stats = rd.rd_interface_stats in (* stats now *) ++ ++ (* Add all the devices together. Throw away device names. *) ++ let prev_interface_stats = ++ sum_interface_stats (List.map snd prev_interface_stats) in ++ let interface_stats = ++ sum_interface_stats (List.map snd interface_stats) in ++ ++ (* Calculate increase in rx & tx bytes. *) ++ let rx_bytes = ++ interface_stats.D.rx_bytes -^ prev_interface_stats.D.rx_bytes in ++ let tx_bytes = ++ interface_stats.D.tx_bytes -^ prev_interface_stats.D.tx_bytes in ++ ++ let rd = { rd with ++ rd_net_rx_bytes = Some rx_bytes; ++ rd_net_tx_bytes = Some tx_bytes } in ++ name, Active rd ++ (* For all other domains we can't calculate it, so leave as None. *) ++ | rd -> rd ++ ) doms in ++ ++ (* Calculate totals. *) ++ let totals = ++ List.fold_left ( ++ fun (count, running, blocked, paused, shutdown, shutoff, ++ crashed, active, inactive, ++ total_cpu_time, total_memory, total_domU_memory) -> ++ function ++ | (name, Active rd) -> ++ let test state orig = ++ if rd.rd_info.D.state = state then orig+1 else orig ++ in ++ let running = test D.InfoRunning running in ++ let blocked = test D.InfoBlocked blocked in ++ let paused = test D.InfoPaused paused in ++ let shutdown = test D.InfoShutdown shutdown in ++ let shutoff = test D.InfoShutoff shutoff in ++ let crashed = test D.InfoCrashed crashed in ++ ++ let total_cpu_time = total_cpu_time +. rd.rd_cpu_time in ++ let total_memory = total_memory +^ rd.rd_info.D.memory in ++ let total_domU_memory = ++ total_domU_memory +^ ++ if rd.rd_domid > 0 then rd.rd_info.D.memory else 0L in ++ ++ (count+1, running, blocked, paused, shutdown, shutoff, ++ crashed, active+1, inactive, ++ total_cpu_time, total_memory, total_domU_memory) ++ ++ | (name, Inactive) -> (* inactive domain *) ++ (count+1, running, blocked, paused, shutdown, shutoff, ++ crashed, active, inactive+1, ++ total_cpu_time, total_memory, total_domU_memory) ++ ) (0,0,0,0,0,0,0,0,0, 0.,0L,0L) doms in ++ ++ (* Update last_time, last_info. *) ++ last_time := time; ++ Hashtbl.clear last_info; ++ List.iter ( ++ function ++ | (_, Active rd) -> ++ let info = rd.rd_info, rd.rd_block_stats, rd.rd_interface_stats in ++ Hashtbl.add last_info rd.rd_domid info ++ | _ -> () ++ ) doms; ++ ++ { rd_doms = doms; ++ rd_time = time; ++ rd_printable_time = printable_time; ++ rd_nr_pcpus = nr_pcpus; ++ rd_total_cpu = total_cpu; ++ rd_total_cpu_per_pcpu = total_cpu_per_pcpu; ++ rd_totals = totals } ++ ++(* Collect some extra information in PCPUDisplay display_mode. *) ++let collect_pcpu { rd_doms = doms; rd_nr_pcpus = nr_pcpus } = ++ (* Get the VCPU info and VCPU->PCPU mappings for active domains. ++ * Also cull some data we don't care about. ++ *) ++ let doms = ++ List.filter_map ( ++ function ++ | (name, Active rd) -> ++ (try ++ let domid = rd.rd_domid in ++ let maplen = C.cpumaplen nr_pcpus in ++ let cpu_stats = D.get_cpu_stats rd.rd_dom in ++ ++ (* Note the terminology is confusing. ++ * ++ * In libvirt, cpu_time is the total time (hypervisor + ++ * vCPU). vcpu_time is the time only taken by the vCPU, ++ * excluding time taken inside the hypervisor. ++ * ++ * For each pCPU, libvirt may return either "cpu_time" ++ * or "vcpu_time" or neither or both. This function ++ * returns an array pair [|cpu_time, vcpu_time|]; ++ * if either is missing it is returned as 0. ++ *) ++ let find_cpu_usages params = ++ let rec find_uint64_field name = function ++ | (n, D.TypedFieldUInt64 usage) :: _ when n = name -> ++ usage ++ | _ :: params -> find_uint64_field name params ++ | [] -> 0L ++ in ++ [| find_uint64_field "cpu_time" params; ++ find_uint64_field "vcpu_time" params |] ++ in ++ ++ let pcpu_usages = Array.map find_cpu_usages cpu_stats in ++ let maxinfo = rd.rd_info.D.nr_virt_cpu in ++ let nr_vcpus, vcpu_infos, cpumaps = ++ D.get_vcpus rd.rd_dom maxinfo maplen in ++ ++ (* Got previous pcpu_usages for this domain? *) ++ let prev_pcpu_usages = ++ try Some (Hashtbl.find last_pcpu_usages domid) ++ with Not_found -> None in ++ (* Update last_pcpu_usages. *) ++ Hashtbl.replace last_pcpu_usages domid pcpu_usages; ++ ++ (match prev_pcpu_usages with ++ | Some prev_pcpu_usages ++ when Array.length prev_pcpu_usages = Array.length pcpu_usages -> ++ Some (domid, name, nr_vcpus, vcpu_infos, pcpu_usages, ++ prev_pcpu_usages, cpumaps, maplen) ++ | _ -> None (* ignore missing / unequal length prev_vcpu_infos *) ++ ); ++ with ++ Libvirt.Virterror _ -> None (* ignore transient libvirt errors *) ++ ) ++ | (_, Inactive) -> None (* ignore inactive doms *) ++ ) doms in ++ let nr_doms = List.length doms in ++ ++ (* Rearrange the data into a matrix. Major axis (down) is ++ * pCPUs. Minor axis (right) is domains. At each node we store: ++ * cpu_time hypervisor + domain (on this pCPU only, nanosecs), ++ * vcpu_time domain only (on this pCPU only, nanosecs). ++ *) ++ let make_3d_array dimx dimy dimz e = ++ Array.init dimx (fun _ -> Array.make_matrix dimy dimz e) ++ in ++ let pcpus = make_3d_array nr_pcpus nr_doms 2 0L in ++ ++ List.iteri ( ++ fun di (domid, name, nr_vcpus, vcpu_infos, pcpu_usages, ++ prev_pcpu_usages, cpumaps, maplen) -> ++ (* Which pCPUs can this dom run on? *) ++ for p = 0 to Array.length pcpu_usages - 1 do ++ pcpus.(p).(di).(0) <- ++ pcpu_usages.(p).(0) -^ prev_pcpu_usages.(p).(0); ++ pcpus.(p).(di).(1) <- ++ pcpu_usages.(p).(1) -^ prev_pcpu_usages.(p).(1) ++ done ++ ) doms; ++ ++ (* Sum the total CPU time used by each pCPU, for the %CPU column. *) ++ let pcpus_cpu_time = ++ Array.map ( ++ fun row -> ++ let cpu_time = ref 0L in ++ for di = 0 to Array.length row-1 do ++ let t = row.(di).(0) in ++ cpu_time := !cpu_time +^ t ++ done; ++ Int64.to_float !cpu_time ++ ) pcpus in ++ ++ { rd_pcpu_doms = doms; ++ rd_pcpu_pcpus = pcpus; ++ rd_pcpu_pcpus_cpu_time = pcpus_cpu_time } +diff --git a/src/collect.mli b/src/collect.mli +new file mode 100644 +index 0000000..440859b +--- /dev/null ++++ b/src/collect.mli +@@ -0,0 +1,86 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(* Hook for [Opt_xml] to override (if present). *) ++val parse_device_xml : ++ (int -> [ `R ] Libvirt.Domain.t -> string list * string list) ref ++ ++(* Intermediate "domain + stats" structure that we use to collect ++ * everything we know about a domain within the collect function. ++ *) ++type rd_domain = Inactive | Active of rd_active ++and rd_active = { ++ rd_domid : int; (* Domain ID. *) ++ rd_dom : [`R] Libvirt.Domain.t; (* Domain object. *) ++ rd_info : Libvirt.Domain.info; (* Domain CPU info now. *) ++ rd_block_stats : (string * Libvirt.Domain.block_stats) list; ++ (* Domain block stats now. *) ++ rd_interface_stats : (string * Libvirt.Domain.interface_stats) list; ++ (* Domain net stats now. *) ++ rd_prev_info : Libvirt.Domain.info option; (* Domain CPU info previously. *) ++ rd_prev_block_stats : (string * Libvirt.Domain.block_stats) list; ++ (* Domain block stats prev. *) ++ rd_prev_interface_stats : (string * Libvirt.Domain.interface_stats) list; ++ (* Domain interface stats prev. *) ++ (* The following are since the last slice, or 0 if cannot be calculated: *) ++ rd_cpu_time : float; (* CPU time used in nanoseconds. *) ++ rd_percent_cpu : float; (* CPU time as percent of total. *) ++ rd_mem_bytes : int64; (* Memory usage in bytes *) ++ rd_mem_percent: int64; (* Memory usage as percent of total *) ++ (* The following are since the last slice, or None if cannot be calc'd: *) ++ rd_block_rd_reqs : int64 option; (* Number of block device read rqs. *) ++ rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *) ++ rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) ++ rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) ++ (* _info fields includes the number considering --block_in_bytes option *) ++ rd_block_rd_info : int64 option; (* Block device read info for user *) ++ rd_block_wr_info : int64 option; (* Block device read info for user *) ++ ++ rd_net_rx_bytes : int64 option; (* Number of bytes received. *) ++ rd_net_tx_bytes : int64 option; (* Number of bytes transmitted. *) ++} ++ ++type stats = { ++ rd_doms : (string * rd_domain) list; (* List of domains. *) ++ rd_time : float; ++ rd_printable_time : string; ++ rd_nr_pcpus : int; ++ rd_total_cpu : float; ++ rd_total_cpu_per_pcpu : float; ++ rd_totals : (int * int * int * int * int * int * int * int * int * float * ++ int64 * int64); ++} ++ ++type pcpu_stats = { ++ rd_pcpu_doms : (int * string * int * ++ Libvirt.Domain.vcpu_info array * int64 array array * ++ int64 array array * string * int) list; ++ rd_pcpu_pcpus : int64 array array array; ++ rd_pcpu_pcpus_cpu_time : float array ++} ++ ++val collect : Types.setup -> bool -> stats ++(** Collect statistics. *) ++ ++val collect_pcpu : stats -> pcpu_stats ++(** Used in PCPUDisplay mode only, this returns extra per-PCPU stats. *) ++ ++val clear_pcpu_display_data : unit -> unit ++(** Clear the cache of pcpu_usages used by PCPUDisplay display_mode ++ when we switch back to TaskDisplay mode. *) +diff --git a/src/csv_output.ml b/src/csv_output.ml +new file mode 100644 +index 0000000..9496ca8 +--- /dev/null ++++ b/src/csv_output.ml +@@ -0,0 +1,118 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(* CSV output functions. *) ++ ++open Printf ++open ExtList ++ ++open Collect ++ ++module C = Libvirt.Connect ++ ++(* Hook for CSV support (see [opt_csv.ml]). *) ++let csv_write : (string list -> unit) ref = ++ ref ( ++ fun _ -> () ++ ) ++ ++(* Write CSV header row. *) ++let write_csv_header (csv_cpu, csv_mem, csv_block, csv_net) block_in_bytes = ++ (!csv_write) ( ++ [ "Hostname"; "Time"; "Arch"; "Physical CPUs"; ++ "Count"; "Running"; "Blocked"; "Paused"; "Shutdown"; ++ "Shutoff"; "Crashed"; "Active"; "Inactive"; ++ "%CPU"; ++ "Total hardware memory (KB)"; ++ "Total memory (KB)"; "Total guest memory (KB)"; ++ "Total CPU time (ns)" ] @ ++ (* These fields are repeated for each domain: *) ++ [ "Domain ID"; "Domain name"; ] @ ++ (if csv_cpu then [ "CPU (ns)"; "%CPU"; ] else []) @ ++ (if csv_mem then [ "Mem (bytes)"; "%Mem";] else []) @ ++ (if csv_block && not block_in_bytes ++ then [ "Block RDRQ"; "Block WRRQ"; ] else []) @ ++ (if csv_block && block_in_bytes ++ then [ "Block RDBY"; "Block WRBY"; ] else []) @ ++ (if csv_net then [ "Net RXBY"; "Net TXBY" ] else []) ++ ) ++ ++(* Write summary data to CSV file. *) ++let append_csv (_, _, _, _, _, node_info, hostname, _) (* setup *) ++ (csv_cpu, csv_mem, csv_block, csv_net) ++ { rd_doms = doms; ++ rd_printable_time = printable_time; ++ rd_nr_pcpus = nr_pcpus; rd_total_cpu = total_cpu; ++ rd_totals = totals } (* state *) = ++ (* The totals / summary fields. *) ++ let (count, running, blocked, paused, shutdown, shutoff, ++ crashed, active, inactive, ++ total_cpu_time, total_memory, total_domU_memory) = totals in ++ ++ let percent_cpu = 100. *. total_cpu_time /. total_cpu in ++ ++ let summary_fields = [ ++ hostname; printable_time; node_info.C.model; string_of_int nr_pcpus; ++ string_of_int count; string_of_int running; string_of_int blocked; ++ string_of_int paused; string_of_int shutdown; string_of_int shutoff; ++ string_of_int crashed; string_of_int active; string_of_int inactive; ++ sprintf "%2.1f" percent_cpu; ++ Int64.to_string node_info.C.memory; ++ Int64.to_string total_memory; Int64.to_string total_domU_memory; ++ Int64.to_string (Int64.of_float total_cpu_time) ++ ] in ++ ++ (* The domains. ++ * ++ * Sort them by ID so that the list of relatively stable. Ignore ++ * inactive domains. ++ *) ++ let doms = List.filter_map ( ++ function ++ | _, Inactive -> None (* Ignore inactive domains. *) ++ | name, Active rd -> Some (name, rd) ++ ) doms in ++ let cmp (_, { rd_domid = rd_domid1 }) (_, { rd_domid = rd_domid2 }) = ++ compare rd_domid1 rd_domid2 ++ in ++ let doms = List.sort ~cmp doms in ++ ++ let string_of_int64_option = Option.map_default Int64.to_string "" in ++ ++ let domain_fields = List.map ( ++ fun (domname, rd) -> ++ [ string_of_int rd.rd_domid; domname ] @ ++ (if csv_cpu then [ ++ string_of_float rd.rd_cpu_time; string_of_float rd.rd_percent_cpu ++ ] else []) @ ++ (if csv_mem then [ ++ Int64.to_string rd.rd_mem_bytes; Int64.to_string rd.rd_mem_percent ++ ] else []) @ ++ (if csv_block then [ ++ string_of_int64_option rd.rd_block_rd_info; ++ string_of_int64_option rd.rd_block_wr_info; ++ ] else []) @ ++ (if csv_net then [ ++ string_of_int64_option rd.rd_net_rx_bytes; ++ string_of_int64_option rd.rd_net_tx_bytes; ++ ] else []) ++ ) doms in ++ let domain_fields = List.flatten domain_fields in ++ ++ (!csv_write) (summary_fields @ domain_fields) +diff --git a/src/csv_output.mli b/src/csv_output.mli +new file mode 100644 +index 0000000..d5eab0f +--- /dev/null ++++ b/src/csv_output.mli +@@ -0,0 +1,27 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(** CSV output functions. *) ++ ++(* Hook for [Opt_csv] to override (if present). *) ++val csv_write : (string list -> unit) ref ++ ++val write_csv_header : bool * bool * bool * bool -> bool -> unit ++ ++val append_csv : Types.setup -> bool * bool * bool * bool -> Collect.stats -> unit +diff --git a/src/opt_csv.ml b/src/opt_csv.ml +index 6c3b2be..6625c61 100644 +--- a/src/opt_csv.ml ++++ b/src/opt_csv.ml +@@ -28,7 +28,7 @@ Top.csv_start := + fun filename -> + chan := Some (open_out filename) ;; + +-Top.csv_write := ++Csv_output.csv_write := + fun row -> + match !chan with + | None -> () (* CSV output not enabled. *) +diff --git a/src/opt_xml.ml b/src/opt_xml.ml +index bb83780..1037b85 100644 +--- a/src/opt_xml.ml ++++ b/src/opt_xml.ml +@@ -27,7 +27,7 @@ module C = Libvirt.Connect + module D = Libvirt.Domain + module N = Libvirt.Network ;; + +-Top.parse_device_xml := ++Collect.parse_device_xml := + fun id dom -> + try + let xml = D.get_xml_desc dom in +diff --git a/src/redraw.ml b/src/redraw.ml +new file mode 100644 +index 0000000..9ce889b +--- /dev/null ++++ b/src/redraw.ml +@@ -0,0 +1,506 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++open ExtList ++open Curses ++open Printf ++ ++open Opt_gettext.Gettext ++open Utils ++open Types ++open Screen ++open Collect ++ ++module C = Libvirt.Connect ++module D = Libvirt.Domain ++ ++(* Keep a historical list of %CPU usages. *) ++let historical_cpu = ref [] ++let historical_cpu_last_time = ref (Unix.gettimeofday ()) ++ ++(* Redraw the display. *) ++let redraw display_mode sort_order ++ (_, _, _, _, _, node_info, _, _) (* setup *) ++ block_in_bytes ++ historical_cpu_delay ++ { rd_doms = doms; ++ rd_time = time; rd_printable_time = printable_time; ++ rd_nr_pcpus = nr_pcpus; ++ rd_total_cpu = total_cpu; ++ rd_total_cpu_per_pcpu = total_cpu_per_pcpu; ++ rd_totals = totals } (* state *) ++ pcpu_display = ++ clear (); ++ ++ (* Get the screen/window size. *) ++ let lines, cols = get_size () in ++ ++ (* Time. *) ++ mvaddstr top_lineno 0 (sprintf "virt-top %s - " printable_time); ++ ++ (* Basic node_info. *) ++ addstr ++ (sprintf "%s %d/%dCPU %dMHz %LdMB " ++ node_info.C.model node_info.C.cpus nr_pcpus node_info.C.mhz ++ (node_info.C.memory /^ 1024L)); ++ (* Save the cursor position for when we come to draw the ++ * historical CPU times (down in this function). ++ *) ++ let stdscr = stdscr () in ++ let historical_cursor = getyx stdscr in ++ ++ (match display_mode with ++ ++ (*---------- Showing domains ----------*) ++ | TaskDisplay -> ++ (* Sort domains on current sort_order. *) ++ let doms = ++ let cmp = ++ match sort_order with ++ | DomainName -> ++ (fun _ -> 0) (* fallthrough to default name compare *) ++ | Processor -> ++ (function ++ | Active rd1, Active rd2 -> ++ compare rd2.rd_percent_cpu rd1.rd_percent_cpu ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ | Memory -> ++ (function ++ | Active { rd_info = info1 }, Active { rd_info = info2 } -> ++ compare info2.D.memory info1.D.memory ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ | Time -> ++ (function ++ | Active { rd_info = info1 }, Active { rd_info = info2 } -> ++ compare info2.D.cpu_time info1.D.cpu_time ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ | DomainID -> ++ (function ++ | Active { rd_domid = id1 }, Active { rd_domid = id2 } -> ++ compare id1 id2 ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ | NetRX -> ++ (function ++ | Active { rd_net_rx_bytes = r1 }, Active { rd_net_rx_bytes = r2 } -> ++ compare r2 r1 ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ | NetTX -> ++ (function ++ | Active { rd_net_tx_bytes = r1 }, Active { rd_net_tx_bytes = r2 } -> ++ compare r2 r1 ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ | BlockRdRq -> ++ (function ++ | Active { rd_block_rd_reqs = r1 }, Active { rd_block_rd_reqs = r2 } -> ++ compare r2 r1 ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ | BlockWrRq -> ++ (function ++ | Active { rd_block_wr_reqs = r1 }, Active { rd_block_wr_reqs = r2 } -> ++ compare r2 r1 ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ in ++ let cmp (name1, dom1) (name2, dom2) = ++ let r = cmp (dom1, dom2) in ++ if r <> 0 then r ++ else compare name1 name2 ++ in ++ List.sort ~cmp doms in ++ ++ (* Print domains. *) ++ attron A.reverse; ++ let header_string = ++ if block_in_bytes ++ then " ID S RDBY WRBY RXBY TXBY %CPU %MEM TIME NAME" ++ else " ID S RDRQ WRRQ RXBY TXBY %CPU %MEM TIME NAME" ++ in ++ mvaddstr header_lineno 0 ++ (pad cols header_string); ++ attroff A.reverse; ++ ++ let rec loop lineno = function ++ | [] -> () ++ | (name, Active rd) :: doms -> ++ if lineno < lines then ( ++ let state = show_state rd.rd_info.D.state in ++ let rd_req = Show.int64_option rd.rd_block_rd_info in ++ let wr_req = Show.int64_option rd.rd_block_wr_info in ++ let rx_bytes = Show.int64_option rd.rd_net_rx_bytes in ++ let tx_bytes = Show.int64_option rd.rd_net_tx_bytes in ++ let percent_cpu = Show.percent rd.rd_percent_cpu in ++ let percent_mem = Int64.to_float rd.rd_mem_percent in ++ let percent_mem = Show.percent percent_mem in ++ let time = Show.time rd.rd_info.D.cpu_time in ++ ++ let line = ++ sprintf "%5d %c %s %s %s %s %s %s %s %s" ++ rd.rd_domid state rd_req wr_req rx_bytes tx_bytes ++ percent_cpu percent_mem time name in ++ let line = pad cols line in ++ mvaddstr lineno 0 line; ++ loop (lineno+1) doms ++ ) ++ | (name, Inactive) :: doms -> (* inactive domain *) ++ if lineno < lines then ( ++ let line = ++ sprintf ++ " - (%s)" ++ name in ++ let line = pad cols line in ++ mvaddstr lineno 0 line; ++ loop (lineno+1) doms ++ ) ++ in ++ loop domains_lineno doms ++ ++ (*---------- Showing physical CPUs ----------*) ++ | PCPUDisplay -> ++ let { rd_pcpu_doms = doms; ++ rd_pcpu_pcpus = pcpus; ++ rd_pcpu_pcpus_cpu_time = pcpus_cpu_time } = ++ match pcpu_display with ++ | Some p -> p ++ | None -> failwith "internal error: no pcpu_display data" in ++ ++ (* Display the pCPUs. *) ++ let dom_names = ++ String.concat "" ( ++ List.map ( ++ fun (_, name, _, _, _, _, _, _) -> ++ let len = String.length name in ++ let width = max (len+1) 12 in ++ pad width name ++ ) doms ++ ) in ++ attron A.reverse; ++ mvaddstr header_lineno 0 (pad cols ("PHYCPU %CPU " ^ dom_names)); ++ attroff A.reverse; ++ ++ Array.iteri ( ++ fun p row -> ++ mvaddstr (p+domains_lineno) 0 (sprintf "%4d " p); ++ let cpu_time = pcpus_cpu_time.(p) in (* ns used on this CPU *) ++ let percent_cpu = 100. *. cpu_time /. total_cpu_per_pcpu in ++ addstr (Show.percent percent_cpu); ++ addch ' '; ++ ++ List.iteri ( ++ fun di (domid, name, _, _, _, _, _, _) -> ++ let t = pcpus.(p).(di).(0) in (* hypervisor + domain *) ++ let t_only = pcpus.(p).(di).(1) in (* domain only *) ++ let len = String.length name in ++ let width = max (len+1) 12 in ++ let str_t = ++ if t <= 0L then "" ++ else ( ++ let t = Int64.to_float t in ++ let percent = 100. *. t /. total_cpu_per_pcpu in ++ Show.percent percent ++ ) in ++ let str_t_only = ++ if t_only <= 0L then "" ++ else ( ++ let t_only = Int64.to_float t_only in ++ let percent = 100. *. t_only /. total_cpu_per_pcpu in ++ Show.percent percent ++ ) in ++ addstr (pad 5 str_t); ++ addstr (pad 5 str_t_only); ++ addstr (pad (width-10) " "); ++ () ++ ) doms ++ ) pcpus; ++ ++ (*---------- Showing network interfaces ----------*) ++ | NetDisplay -> ++ (* Only care about active domains. *) ++ let doms = ++ List.filter_map ( ++ function ++ | (name, Active rd) -> Some (name, rd) ++ | (_, Inactive) -> None ++ ) doms in ++ ++ (* For each domain we have a list of network interfaces seen ++ * this slice, and seen in the previous slice, which we now ++ * match up to get a list of (domain, interface) for which ++ * we have current & previous knowledge. (And ignore the rest). ++ *) ++ let devs = ++ List.map ( ++ fun (name, rd) -> ++ List.filter_map ( ++ fun (dev, stats) -> ++ try ++ (* Have prev slice stats for this device? *) ++ let prev_stats = ++ List.assoc dev rd.rd_prev_interface_stats in ++ Some (dev, name, rd, stats, prev_stats) ++ with Not_found -> None ++ ) rd.rd_interface_stats ++ ) doms in ++ ++ (* Finally we have a list of: ++ * device name, domain name, rd_* stuff, curr stats, prev stats. ++ *) ++ let devs : (string * string * rd_active * ++ D.interface_stats * D.interface_stats) list = ++ List.flatten devs in ++ ++ (* Difference curr slice & prev slice. *) ++ let devs = ++ List.map ( ++ fun (dev, name, rd, curr, prev) -> ++ dev, name, rd, diff_interface_stats curr prev ++ ) devs in ++ ++ (* Sort by current sort order, but map some of the standard ++ * sort orders into ones which makes sense here. ++ *) ++ let devs = ++ let cmp = ++ match sort_order with ++ | DomainName -> ++ (fun _ -> 0) (* fallthrough to default name compare *) ++ | DomainID -> ++ (fun (_, { rd_domid = id1 }, _, { rd_domid = id2 }) -> ++ compare id1 id2) ++ | Processor | Memory | Time ++ | BlockRdRq | BlockWrRq ++ (* fallthrough to RXBY comparison. *) ++ | NetRX -> ++ (fun ({ D.rx_bytes = b1 }, _, { D.rx_bytes = b2 }, _) -> ++ compare b2 b1) ++ | NetTX -> ++ (fun ({ D.tx_bytes = b1 }, _, { D.tx_bytes = b2 }, _) -> ++ compare b2 b1) ++ in ++ let cmp (dev1, name1, rd1, stats1) (dev2, name2, rd2, stats2) = ++ let r = cmp (stats1, rd1, stats2, rd2) in ++ if r <> 0 then r ++ else compare (dev1, name1) (dev2, name2) ++ in ++ List.sort ~cmp devs in ++ ++ (* Print the header for network devices. *) ++ attron A.reverse; ++ mvaddstr header_lineno 0 ++ (pad cols " ID S RXBY TXBY RXPK TXPK DOMAIN INTERFACE"); ++ attroff A.reverse; ++ ++ (* Print domains and devices. *) ++ let rec loop lineno = function ++ | [] -> () ++ | (dev, name, rd, stats) :: devs -> ++ if lineno < lines then ( ++ let state = show_state rd.rd_info.D.state in ++ let rx_bytes = ++ if stats.D.rx_bytes >= 0L ++ then Show.int64 stats.D.rx_bytes ++ else " " in ++ let tx_bytes = ++ if stats.D.tx_bytes >= 0L ++ then Show.int64 stats.D.tx_bytes ++ else " " in ++ let rx_packets = ++ if stats.D.rx_packets >= 0L ++ then Show.int64 stats.D.rx_packets ++ else " " in ++ let tx_packets = ++ if stats.D.tx_packets >= 0L ++ then Show.int64 stats.D.tx_packets ++ else " " in ++ ++ let line = sprintf "%5d %c %s %s %s %s %-12s %s" ++ rd.rd_domid state ++ rx_bytes tx_bytes ++ rx_packets tx_packets ++ (pad 12 name) dev in ++ let line = pad cols line in ++ mvaddstr lineno 0 line; ++ loop (lineno+1) devs ++ ) ++ in ++ loop domains_lineno devs ++ ++ (*---------- Showing block devices ----------*) ++ | BlockDisplay -> ++ (* Only care about active domains. *) ++ let doms = ++ List.filter_map ( ++ function ++ | (name, Active rd) -> Some (name, rd) ++ | (_, Inactive) -> None ++ ) doms in ++ ++ (* For each domain we have a list of block devices seen ++ * this slice, and seen in the previous slice, which we now ++ * match up to get a list of (domain, device) for which ++ * we have current & previous knowledge. (And ignore the rest). ++ *) ++ let devs = ++ List.map ( ++ fun (name, rd) -> ++ List.filter_map ( ++ fun (dev, stats) -> ++ try ++ (* Have prev slice stats for this device? *) ++ let prev_stats = ++ List.assoc dev rd.rd_prev_block_stats in ++ Some (dev, name, rd, stats, prev_stats) ++ with Not_found -> None ++ ) rd.rd_block_stats ++ ) doms in ++ ++ (* Finally we have a list of: ++ * device name, domain name, rd_* stuff, curr stats, prev stats. ++ *) ++ let devs : (string * string * rd_active * ++ D.block_stats * D.block_stats) list = ++ List.flatten devs in ++ ++ (* Difference curr slice & prev slice. *) ++ let devs = ++ List.map ( ++ fun (dev, name, rd, curr, prev) -> ++ dev, name, rd, diff_block_stats curr prev ++ ) devs in ++ ++ (* Sort by current sort order, but map some of the standard ++ * sort orders into ones which makes sense here. ++ *) ++ let devs = ++ let cmp = ++ match sort_order with ++ | DomainName -> ++ (fun _ -> 0) (* fallthrough to default name compare *) ++ | DomainID -> ++ (fun (_, { rd_domid = id1 }, _, { rd_domid = id2 }) -> ++ compare id1 id2) ++ | Processor | Memory | Time ++ | NetRX | NetTX ++ (* fallthrough to RDRQ comparison. *) ++ | BlockRdRq -> ++ (fun ({ D.rd_req = b1 }, _, { D.rd_req = b2 }, _) -> ++ compare b2 b1) ++ | BlockWrRq -> ++ (fun ({ D.wr_req = b1 }, _, { D.wr_req = b2 }, _) -> ++ compare b2 b1) ++ in ++ let cmp (dev1, name1, rd1, stats1) (dev2, name2, rd2, stats2) = ++ let r = cmp (stats1, rd1, stats2, rd2) in ++ if r <> 0 then r ++ else compare (dev1, name1) (dev2, name2) ++ in ++ List.sort ~cmp devs in ++ ++ (* Print the header for block devices. *) ++ attron A.reverse; ++ mvaddstr header_lineno 0 ++ (pad cols " ID S RDBY WRBY RDRQ WRRQ DOMAIN DEVICE"); ++ attroff A.reverse; ++ ++ (* Print domains and devices. *) ++ let rec loop lineno = function ++ | [] -> () ++ | (dev, name, rd, stats) :: devs -> ++ if lineno < lines then ( ++ let state = show_state rd.rd_info.D.state in ++ let rd_bytes = ++ if stats.D.rd_bytes >= 0L ++ then Show.int64 stats.D.rd_bytes ++ else " " in ++ let wr_bytes = ++ if stats.D.wr_bytes >= 0L ++ then Show.int64 stats.D.wr_bytes ++ else " " in ++ let rd_req = ++ if stats.D.rd_req >= 0L ++ then Show.int64 stats.D.rd_req ++ else " " in ++ let wr_req = ++ if stats.D.wr_req >= 0L ++ then Show.int64 stats.D.wr_req ++ else " " in ++ ++ let line = sprintf "%5d %c %s %s %s %s %-12s %s" ++ rd.rd_domid state ++ rd_bytes wr_bytes ++ rd_req wr_req ++ (pad 12 name) dev in ++ let line = pad cols line in ++ mvaddstr lineno 0 line; ++ loop (lineno+1) devs ++ ) ++ in ++ loop domains_lineno devs ++ ); (* end of display_mode conditional section *) ++ ++ let (count, running, blocked, paused, shutdown, shutoff, ++ crashed, active, inactive, ++ total_cpu_time, total_memory, total_domU_memory) = totals in ++ ++ mvaddstr summary_lineno 0 ++ (sprintf ++ (f_"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d O:%d X:%d") ++ count active running blocked paused inactive shutdown shutoff crashed); ++ ++ (* Total %CPU used, and memory summary. *) ++ let percent_cpu = 100. *. total_cpu_time /. total_cpu in ++ mvaddstr (summary_lineno+1) 0 ++ (sprintf ++ (f_"CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)") ++ percent_cpu (total_memory /^ 1024L) (total_domU_memory /^ 1024L)); ++ ++ (* Time to grab another historical %CPU for the list? *) ++ if time >= !historical_cpu_last_time +. float historical_cpu_delay ++ then ( ++ historical_cpu := percent_cpu :: List.take 10 !historical_cpu; ++ historical_cpu_last_time := time ++ ); ++ ++ (* Display historical CPU time. *) ++ let () = ++ let y, x = historical_cursor in ++ let maxwidth = cols - x in ++ let line = ++ String.concat " " ++ (List.map (sprintf "%2.1f%%") !historical_cpu) in ++ let line = pad maxwidth line in ++ mvaddstr y x line; ++ () in ++ ++ move message_lineno 0; (* Park cursor in message area, as with top. *) ++ refresh () (* Refresh the display. *) +diff --git a/src/redraw.mli b/src/redraw.mli +new file mode 100644 +index 0000000..2ea97c3 +--- /dev/null ++++ b/src/redraw.mli +@@ -0,0 +1,20 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++val redraw : Types.display -> Types.sort_order -> Types.setup -> bool -> int -> Collect.stats -> Collect.pcpu_stats option -> unit +diff --git a/src/screen.ml b/src/screen.ml +new file mode 100644 +index 0000000..0d847a2 +--- /dev/null ++++ b/src/screen.ml +@@ -0,0 +1,52 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(* The virt-top screen layout. *) ++ ++open Curses ++ ++module D = Libvirt.Domain ++ ++(* Line numbers. *) ++let top_lineno = 0 ++let summary_lineno = 1 (* this takes 2 lines *) ++let message_lineno = 3 ++let header_lineno = 4 ++let domains_lineno = 5 ++ ++(* Easier to use versions of curses functions addstr, mvaddstr, etc. *) ++let move y x = ignore (move y x) ++let refresh () = ignore (refresh ()) ++let addch c = ignore (addch (int_of_char c)) ++let addstr s = ignore (addstr s) ++let mvaddstr y x s = ignore (mvaddstr y x s) ++ ++(* Print in the "message area". *) ++let clear_msg () = move message_lineno 0; clrtoeol () ++let print_msg str = clear_msg (); mvaddstr message_lineno 0 str ++ ++(* Show a libvirt domain state (the 'S' column). *) ++let show_state = function ++ | D.InfoNoState -> '?' ++ | D.InfoRunning -> 'R' ++ | D.InfoBlocked -> 'S' ++ | D.InfoPaused -> 'P' ++ | D.InfoShutdown -> 'D' ++ | D.InfoShutoff -> 'O' ++ | D.InfoCrashed -> 'X' +diff --git a/src/screen.mli b/src/screen.mli +new file mode 100644 +index 0000000..a8a23a0 +--- /dev/null ++++ b/src/screen.mli +@@ -0,0 +1,41 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(** The virt-top screen layout. *) ++ ++(* Line numbers. *) ++val top_lineno : int ++val summary_lineno : int (** this takes 2 lines *) ++val message_lineno : int ++val header_lineno : int ++val domains_lineno : int ++ ++(* Easier to use versions of curses functions addstr, mvaddstr, etc. *) ++val move : int -> int -> unit ++val refresh : unit -> unit ++val addch : char -> unit ++val addstr : string -> unit ++val mvaddstr : int -> int -> string -> unit ++ ++(* Print in the "message area". *) ++val clear_msg : unit -> unit ++val print_msg : string -> unit ++ ++(* Show a libvirt domain state (the 'S' column). *) ++val show_state : Libvirt.Domain.state -> char +diff --git a/src/stream_output.ml b/src/stream_output.ml +new file mode 100644 +index 0000000..bf7b114 +--- /dev/null ++++ b/src/stream_output.ml +@@ -0,0 +1,84 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(* [--stream] mode output functions. *) ++ ++open Printf ++open ExtList ++ ++open Utils ++open Collect ++ ++module C = Libvirt.Connect ++module D = Libvirt.Domain ++ ++let append_stream (_, _, _, _, _, node_info, hostname, _) (* setup *) ++ block_in_bytes ++ { rd_doms = doms; ++ rd_printable_time = printable_time; ++ rd_nr_pcpus = nr_pcpus; rd_total_cpu = total_cpu; ++ rd_totals = totals } (* state *) = ++ (* Header for this iteration *) ++ printf "virt-top time %s Host %s %s %d/%dCPU %dMHz %LdMB \n" ++ printable_time hostname node_info.C.model node_info.C.cpus nr_pcpus ++ node_info.C.mhz (node_info.C.memory /^ 1024L); ++ (* dump domain information one by one *) ++ let rd, wr = if block_in_bytes then "RDBY", "WRBY" else "RDRQ", "WRRQ" ++ in ++ printf " ID S %s %s RXBY TXBY %%CPU %%MEM TIME NAME\n" rd wr; ++ ++ (* sort by ID *) ++ let doms = ++ let compare = ++ (function ++ | Active {rd_domid = id1 }, Active {rd_domid = id2} -> ++ compare id1 id2 ++ | Active _, Inactive -> -1 ++ | Inactive, Active _ -> 1 ++ | Inactive, Inactive -> 0) ++ in ++ let cmp (name1, dom1) (name2, dom2) = compare(dom1, dom2) in ++ List.sort ~cmp doms in ++ (*Print domains *) ++ let dump_domain = fun name rd ++ -> begin ++ let state = Screen.show_state rd.rd_info.D.state in ++ let rd_req = if rd.rd_block_rd_info = None then " 0" ++ else Show.int64_option rd.rd_block_rd_info in ++ let wr_req = if rd.rd_block_wr_info = None then " 0" ++ else Show.int64_option rd.rd_block_wr_info in ++ let rx_bytes = if rd.rd_net_rx_bytes = None then " 0" ++ else Show.int64_option rd.rd_net_rx_bytes in ++ let tx_bytes = if rd.rd_net_tx_bytes = None then " 0" ++ else Show.int64_option rd.rd_net_tx_bytes in ++ let percent_cpu = Show.percent rd.rd_percent_cpu in ++ let percent_mem = Int64.to_float rd.rd_mem_percent in ++ let percent_mem = Show.percent percent_mem in ++ let time = Show.time rd.rd_info.D.cpu_time in ++ printf "%5d %c %s %s %s %s %s %s %s %s\n" ++ rd.rd_domid state rd_req wr_req rx_bytes tx_bytes ++ percent_cpu percent_mem time name; ++ end ++ in ++ List.iter ( ++ function ++ | name, Active dom -> dump_domain name dom ++ | name, Inactive -> () ++ ) doms; ++ flush stdout +diff --git a/src/stream_output.mli b/src/stream_output.mli +new file mode 100644 +index 0000000..c45e548 +--- /dev/null ++++ b/src/stream_output.mli +@@ -0,0 +1,22 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(** [--stream] mode output functions. *) ++ ++val append_stream : Types.setup -> bool -> Collect.stats -> unit +diff --git a/src/top.ml b/src/top.ml +index f50e6a8..204f3b6 100644 +--- a/src/top.ml ++++ b/src/top.ml +@@ -1,5 +1,5 @@ + (* 'top'-like tool for libvirt domains. +- (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. + http://libvirt.org/ + + This program is free software; you can redistribute it and/or modify +@@ -23,6 +23,9 @@ open Curses + + open Opt_gettext.Gettext + open Utils ++open Types ++open Collect ++open Screen + + module C = Libvirt.Connect + module D = Libvirt.Domain +@@ -30,21 +33,11 @@ module N = Libvirt.Network + + let rcfile = ".virt-toprc" + +-(* Hook for XML support (see [opt_xml.ml]). *) +-let parse_device_xml : (int -> [>`R] D.t -> string list * string list) ref = +- ref ( +- fun _ _ -> [], [] +- ) +- + (* Hooks for CSV support (see [opt_csv.ml]). *) + let csv_start : (string -> unit) ref = + ref ( + fun _ -> failwith (s_"virt-top was compiled without support for CSV files") + ) +-let csv_write : (string list -> unit) ref = +- ref ( +- fun _ -> () +- ) + + (* Hook for calendar support (see [opt_calendar.ml]). *) + let parse_date_time : (string -> float) ref = +@@ -53,62 +46,6 @@ let parse_date_time : (string -> float) ref = + failwith (s_"virt-top was compiled without support for dates and times") + ) + +-(* Sort order. *) +-type sort_order = +- | DomainID | DomainName | Processor | Memory | Time +- | NetRX | NetTX | BlockRdRq | BlockWrRq +-let all_sort_fields = [ +- DomainID; DomainName; Processor; Memory; Time; +- NetRX; NetTX; BlockRdRq; BlockWrRq +-] +-let printable_sort_order = function +- | Processor -> s_"%CPU" +- | Memory -> s_"%MEM" +- | Time -> s_"TIME (CPU time)" +- | DomainID -> s_"Domain ID" +- | DomainName -> s_"Domain name" +- | NetRX -> s_"Net RX bytes" +- | NetTX -> s_"Net TX bytes" +- | BlockRdRq -> s_"Block read reqs" +- | BlockWrRq -> s_"Block write reqs" +-let sort_order_of_cli = function +- | "cpu" | "processor" -> Processor +- | "mem" | "memory" -> Memory +- | "time" -> Time +- | "id" -> DomainID +- | "name" -> DomainName +- | "netrx" -> NetRX | "nettx" -> NetTX +- | "blockrdrq" -> BlockRdRq | "blockwrrq" -> BlockWrRq +- | str -> +- failwithf (f_"%s: sort order should be: %s") +- str "cpu|mem|time|id|name|netrx|nettx|blockrdrq|blockwrrq" +-let cli_of_sort_order = function +- | Processor -> "cpu" +- | Memory -> "mem" +- | Time -> "time" +- | DomainID -> "id" +- | DomainName -> "name" +- | NetRX -> "netrx" +- | NetTX -> "nettx" +- | BlockRdRq -> "blockrdrq" +- | BlockWrRq -> "blockwrrq" +- +-(* Current major display mode: TaskDisplay is the normal display. *) +-type display = TaskDisplay | PCPUDisplay | BlockDisplay | NetDisplay +- +-let display_of_cli = function +- | "task" -> TaskDisplay +- | "pcpu" -> PCPUDisplay +- | "block" -> BlockDisplay +- | "net" -> NetDisplay +- | str -> +- failwithf (f_"%s: display should be %s") str "task|pcpu|block|net" +-let cli_of_display = function +- | TaskDisplay -> "task" +- | PCPUDisplay -> "pcpu" +- | BlockDisplay -> "block" +- | NetDisplay -> "net" +- + (* Init file. *) + type init_file = NoInitFile | DefaultInitFile | InitFile of string + +@@ -134,11 +71,6 @@ let script_mode = ref false + let stream_mode = ref false + let block_in_bytes = ref false + +-(* Tuple of never-changing data returned by start_up function. *) +-type setup = +- Libvirt.ro C.t * bool * bool * bool * bool * C.node_info * string * +- (int * int * int) +- + (* Function to read command line arguments and go into curses mode. *) + let start_up () = + (* Read command line arguments. *) +@@ -352,16 +284,6 @@ OPTIONS" in + node_info, hostname, libvirt_version (* info that doesn't change *) + ) + +-(* Show a domain state (the 'S' column). *) +-let show_state = function +- | D.InfoNoState -> '?' +- | D.InfoRunning -> 'R' +- | D.InfoBlocked -> 'S' +- | D.InfoPaused -> 'P' +- | D.InfoShutdown -> 'D' +- | D.InfoShutoff -> 'O' +- | D.InfoCrashed -> 'X' +- + (* Sleep in seconds. *) + let sleep = Unix.sleep + +@@ -387,1039 +309,33 @@ let get_string maxlen = + Not_found -> str (* it is full maxlen bytes *) + ) + +-(* Line numbers. *) +-let top_lineno = 0 +-let summary_lineno = 1 (* this takes 2 lines *) +-let message_lineno = 3 +-let header_lineno = 4 +-let domains_lineno = 5 +- +-(* Easier to use versions of curses functions addstr, mvaddstr, etc. *) +-let move y x = ignore (move y x) +-let refresh () = ignore (refresh ()) +-let addch c = ignore (addch (int_of_char c)) +-let addstr s = ignore (addstr s) +-let mvaddstr y x s = ignore (mvaddstr y x s) +- +-(* Print in the "message area". *) +-let clear_msg () = move message_lineno 0; clrtoeol () +-let print_msg str = clear_msg (); mvaddstr message_lineno 0 str +- +-(* Intermediate "domain + stats" structure that we use to collect +- * everything we know about a domain within the collect function. +- *) +-type rd_domain = Inactive | Active of rd_active +-and rd_active = { +- rd_domid : int; (* Domain ID. *) +- rd_dom : [`R] D.t; (* Domain object. *) +- rd_info : D.info; (* Domain CPU info now. *) +- rd_block_stats : (string * D.block_stats) list; +- (* Domain block stats now. *) +- rd_interface_stats : (string * D.interface_stats) list; +- (* Domain net stats now. *) +- rd_prev_info : D.info option; (* Domain CPU info previously. *) +- rd_prev_block_stats : (string * D.block_stats) list; +- (* Domain block stats prev. *) +- rd_prev_interface_stats : (string * D.interface_stats) list; +- (* Domain interface stats prev. *) +- (* The following are since the last slice, or 0 if cannot be calculated: *) +- rd_cpu_time : float; (* CPU time used in nanoseconds. *) +- rd_percent_cpu : float; (* CPU time as percent of total. *) +- rd_mem_bytes : int64; (* Memory usage in bytes *) +- rd_mem_percent: int64; (* Memory usage as percent of total *) +- (* The following are since the last slice, or None if cannot be calc'd: *) +- rd_block_rd_reqs : int64 option; (* Number of block device read rqs. *) +- rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *) +- rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) +- rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) +- (* _info fields includes the number considering --block_in_bytes option *) +- rd_block_rd_info : int64 option; (* Block device read info for user *) +- rd_block_wr_info : int64 option; (* Block device read info for user *) +- +- rd_net_rx_bytes : int64 option; (* Number of bytes received. *) +- rd_net_tx_bytes : int64 option; (* Number of bytes transmitted. *) +-} +- +-(* Collect stats. *) +-let collect, clear_pcpu_display_data = +- (* We cache the list of block devices and interfaces for each domain +- * here, so we don't need to reparse the XML each time. +- *) +- let devices = Hashtbl.create 13 in +- +- (* Function to get the list of block devices, network interfaces for +- * a particular domain. Get it from the devices cache, and if not +- * there then parse the domain XML. +- *) +- let get_devices id dom = +- try Hashtbl.find devices id +- with Not_found -> +- let blkdevs, netifs = (!parse_device_xml) id dom in +- Hashtbl.replace devices id (blkdevs, netifs); +- blkdevs, netifs +- in +- +- (* We save the state of domains across redraws here, which allows us +- * to deduce %CPU usage from the running total. +- *) +- let last_info = Hashtbl.create 13 in +- let last_time = ref (Unix.gettimeofday ()) in +- +- (* Save pcpu_usages structures across redraws too (only for pCPU display). *) +- let last_pcpu_usages = Hashtbl.create 13 in +- +- let clear_pcpu_display_data () = +- (* Clear out pcpu_usages used by PCPUDisplay display_mode +- * when we switch back to TaskDisplay mode. +- *) +- Hashtbl.clear last_pcpu_usages +- in +- +- let collect (conn, _, _, _, _, node_info, _, _) = +- (* Number of physical CPUs (some may be disabled). *) +- let nr_pcpus = C.maxcpus_of_node_info node_info in +- +- (* Get the current time. *) +- let time = Unix.gettimeofday () in +- let tm = Unix.localtime time in +- let printable_time = +- sprintf "%02d:%02d:%02d" tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec in +- +- (* What's the total CPU time elapsed since we were last called? (ns) *) +- let total_cpu_per_pcpu = 1_000_000_000. *. (time -. !last_time) in +- (* Avoid division by zero. *) +- let total_cpu_per_pcpu = +- if total_cpu_per_pcpu <= 0. then 1. else total_cpu_per_pcpu in +- let total_cpu = float node_info.C.cpus *. total_cpu_per_pcpu in +- +- (* Get the domains. Match up with their last_info (if any). *) +- let doms = +- (* Active domains. *) +- let n = C.num_of_domains conn in +- let ids = +- if n > 0 then Array.to_list (C.list_domains conn n) +- else [] in +- let doms = +- List.filter_map ( +- fun id -> +- try +- let dom = D.lookup_by_id conn id in +- let name = D.get_name dom in +- let blkdevs, netifs = get_devices id dom in +- +- (* Get current CPU, block and network stats. *) +- let info = D.get_info dom in +- let block_stats = +- try List.map (fun dev -> dev, D.block_stats dom dev) blkdevs +- with +- | Libvirt.Not_supported "virDomainBlockStats" +- | Libvirt.Virterror _ -> [] in +- let interface_stats = +- try List.map (fun dev -> dev, D.interface_stats dom dev) netifs +- with +- | Libvirt.Not_supported "virDomainInterfaceStats" +- | Libvirt.Virterror _ -> [] in +- +- let prev_info, prev_block_stats, prev_interface_stats = +- try +- let prev_info, prev_block_stats, prev_interface_stats = +- Hashtbl.find last_info id in +- Some prev_info, prev_block_stats, prev_interface_stats +- with Not_found -> None, [], [] in +- +- Some (name, Active { +- rd_domid = id; rd_dom = dom; rd_info = info; +- rd_block_stats = block_stats; +- rd_interface_stats = interface_stats; +- rd_prev_info = prev_info; +- rd_prev_block_stats = prev_block_stats; +- rd_prev_interface_stats = prev_interface_stats; +- rd_cpu_time = 0.; rd_percent_cpu = 0.; +- rd_mem_bytes = 0L; rd_mem_percent = 0L; +- rd_block_rd_reqs = None; rd_block_wr_reqs = None; +- rd_block_rd_bytes = None; rd_block_wr_bytes = None; +- rd_block_rd_info = None; rd_block_wr_info = None; +- rd_net_rx_bytes = None; rd_net_tx_bytes = None; +- }) +- with +- Libvirt.Virterror _ -> None (* ignore transient error *) +- ) ids in +- +- (* Inactive domains. *) +- let doms_inactive = +- try +- let n = C.num_of_defined_domains conn in +- let names = +- if n > 0 then Array.to_list (C.list_defined_domains conn n) +- else [] in +- List.map (fun name -> name, Inactive) names +- with +- (* Ignore transient errors, in particular errors from +- * num_of_defined_domains if it cannot contact xend. +- *) +- | Libvirt.Virterror _ -> [] in +- +- doms @ doms_inactive in +- +- (* Calculate the CPU time (ns) and %CPU used by each domain. *) +- let doms = +- List.map ( +- function +- (* We have previous CPU info from which to calculate it? *) +- | name, Active ({ rd_prev_info = Some prev_info } as rd) -> +- let cpu_time = +- Int64.to_float (rd.rd_info.D.cpu_time -^ prev_info.D.cpu_time) in +- let percent_cpu = 100. *. cpu_time /. total_cpu in +- let mem_usage = rd.rd_info.D.memory in +- let mem_percent = +- 100L *^ rd.rd_info.D.memory /^ node_info.C.memory in +- let rd = { rd with +- rd_cpu_time = cpu_time; +- rd_percent_cpu = percent_cpu; +- rd_mem_bytes = mem_usage; +- rd_mem_percent = mem_percent} in +- name, Active rd +- (* For all other domains we can't calculate it, so leave as 0 *) +- | rd -> rd +- ) doms in +- +- (* Calculate the number of block device read/write requests across +- * all block devices attached to a domain. +- *) +- let doms = +- List.map ( +- function +- (* Do we have stats from the previous slice? *) +- | name, Active ({ rd_prev_block_stats = ((_::_) as prev_block_stats) } +- as rd) -> +- let block_stats = rd.rd_block_stats in (* stats now *) +- +- (* Add all the devices together. Throw away device names. *) +- let prev_block_stats = +- sum_block_stats (List.map snd prev_block_stats) in +- let block_stats = +- sum_block_stats (List.map snd block_stats) in +- +- (* Calculate increase in read & write requests. *) +- let read_reqs = +- block_stats.D.rd_req -^ prev_block_stats.D.rd_req in +- let write_reqs = +- block_stats.D.wr_req -^ prev_block_stats.D.wr_req in +- let read_bytes = +- block_stats.D.rd_bytes -^ prev_block_stats.D.rd_bytes in +- let write_bytes = +- block_stats.D.wr_bytes -^ prev_block_stats.D.wr_bytes in +- +- let rd = { rd with +- rd_block_rd_reqs = Some read_reqs; +- rd_block_wr_reqs = Some write_reqs; +- rd_block_rd_bytes = Some read_bytes; +- rd_block_wr_bytes = Some write_bytes; +- } in +- let rd = { rd with +- rd_block_rd_info = if !block_in_bytes then +- rd.rd_block_rd_bytes else rd.rd_block_rd_reqs; +- rd_block_wr_info = if !block_in_bytes then +- rd.rd_block_wr_bytes else rd.rd_block_wr_reqs; +- } in +- name, Active rd +- (* For all other domains we can't calculate it, so leave as None. *) +- | rd -> rd +- ) doms in +- +- (* Calculate the same as above for network interfaces across +- * all network interfaces attached to a domain. +- *) +- let doms = +- List.map ( +- function +- (* Do we have stats from the previous slice? *) +- | name, Active ({ rd_prev_interface_stats = +- ((_::_) as prev_interface_stats) } +- as rd) -> +- let interface_stats = rd.rd_interface_stats in (* stats now *) +- +- (* Add all the devices together. Throw away device names. *) +- let prev_interface_stats = +- sum_interface_stats (List.map snd prev_interface_stats) in +- let interface_stats = +- sum_interface_stats (List.map snd interface_stats) in +- +- (* Calculate increase in rx & tx bytes. *) +- let rx_bytes = +- interface_stats.D.rx_bytes -^ prev_interface_stats.D.rx_bytes in +- let tx_bytes = +- interface_stats.D.tx_bytes -^ prev_interface_stats.D.tx_bytes in +- +- let rd = { rd with +- rd_net_rx_bytes = Some rx_bytes; +- rd_net_tx_bytes = Some tx_bytes } in +- name, Active rd +- (* For all other domains we can't calculate it, so leave as None. *) +- | rd -> rd +- ) doms in +- +- (* Collect some extra information in PCPUDisplay display_mode. *) +- let pcpu_display = +- if !display_mode = PCPUDisplay then ( +- (* Get the VCPU info and VCPU->PCPU mappings for active domains. +- * Also cull some data we don't care about. +- *) +- let doms = List.filter_map ( +- function +- | (name, Active rd) -> +- (try +- let domid = rd.rd_domid in +- let maplen = C.cpumaplen nr_pcpus in +- let cpu_stats = D.get_cpu_stats rd.rd_dom in +- +- (* Note the terminology is confusing. +- * +- * In libvirt, cpu_time is the total time (hypervisor + vCPU). +- * vcpu_time is the time only taken by the vCPU, +- * excluding time taken inside the hypervisor. +- * +- * For each pCPU, libvirt may return either "cpu_time" +- * or "vcpu_time" or neither or both. This function +- * returns an array pair [|cpu_time, vcpu_time|]; +- * if either is missing it is returned as 0. +- *) +- let find_cpu_usages params = +- let rec find_uint64_field name = function +- | (n, D.TypedFieldUInt64 usage) :: _ when n = name -> usage +- | _ :: params -> find_uint64_field name params +- | [] -> 0L +- in +- [| find_uint64_field "cpu_time" params; +- find_uint64_field "vcpu_time" params |] +- in +- +- let pcpu_usages = Array.map find_cpu_usages cpu_stats in +- let maxinfo = rd.rd_info.D.nr_virt_cpu in +- let nr_vcpus, vcpu_infos, cpumaps = +- D.get_vcpus rd.rd_dom maxinfo maplen in +- +- (* Got previous pcpu_usages for this domain? *) +- let prev_pcpu_usages = +- try Some (Hashtbl.find last_pcpu_usages domid) +- with Not_found -> None in +- (* Update last_pcpu_usages. *) +- Hashtbl.replace last_pcpu_usages domid pcpu_usages; +- +- (match prev_pcpu_usages with +- | Some prev_pcpu_usages +- when Array.length prev_pcpu_usages = Array.length pcpu_usages -> +- Some (domid, name, nr_vcpus, vcpu_infos, pcpu_usages, +- prev_pcpu_usages, cpumaps, maplen) +- | _ -> None (* ignore missing / unequal length prev_vcpu_infos *) +- ); +- with +- Libvirt.Virterror _ -> None(* ignore transient libvirt errs *) +- ) +- | (_, Inactive) -> None (* ignore inactive doms *) +- ) doms in +- let nr_doms = List.length doms in +- +- (* Rearrange the data into a matrix. Major axis (down) is +- * pCPUs. Minor axis (right) is domains. At each node we store: +- * cpu_time hypervisor + domain (on this pCPU only, nanosecs), +- * vcpu_time domain only (on this pCPU only, nanosecs). +- *) +- let make_3d_array dimx dimy dimz e = +- Array.init dimx (fun _ -> Array.make_matrix dimy dimz e) +- in +- let pcpus = make_3d_array nr_pcpus nr_doms 2 0L in +- +- List.iteri ( +- fun di (domid, name, nr_vcpus, vcpu_infos, pcpu_usages, +- prev_pcpu_usages, cpumaps, maplen) -> +- (* Which pCPUs can this dom run on? *) +- for p = 0 to Array.length pcpu_usages - 1 do +- pcpus.(p).(di).(0) <- +- pcpu_usages.(p).(0) -^ prev_pcpu_usages.(p).(0); +- pcpus.(p).(di).(1) <- +- pcpu_usages.(p).(1) -^ prev_pcpu_usages.(p).(1) +- done +- ) doms; +- +- (* Sum the total CPU time used by each pCPU, for the %CPU column. *) +- let pcpus_cpu_time = Array.map ( +- fun row -> +- let cpu_time = ref 0L in +- for di = 0 to Array.length row-1 do +- let t = row.(di).(0) in +- cpu_time := !cpu_time +^ t +- done; +- Int64.to_float !cpu_time +- ) pcpus in +- +- Some (doms, pcpus, pcpus_cpu_time) +- ) else +- None in +- +- (* Calculate totals. *) +- let totals = List.fold_left ( +- fun (count, running, blocked, paused, shutdown, shutoff, +- crashed, active, inactive, +- total_cpu_time, total_memory, total_domU_memory) -> +- function +- | (name, Active rd) -> +- let test state orig = +- if rd.rd_info.D.state = state then orig+1 else orig +- in +- let running = test D.InfoRunning running in +- let blocked = test D.InfoBlocked blocked in +- let paused = test D.InfoPaused paused in +- let shutdown = test D.InfoShutdown shutdown in +- let shutoff = test D.InfoShutoff shutoff in +- let crashed = test D.InfoCrashed crashed in +- +- let total_cpu_time = total_cpu_time +. rd.rd_cpu_time in +- let total_memory = total_memory +^ rd.rd_info.D.memory in +- let total_domU_memory = total_domU_memory +^ +- if rd.rd_domid > 0 then rd.rd_info.D.memory else 0L in +- +- (count+1, running, blocked, paused, shutdown, shutoff, +- crashed, active+1, inactive, +- total_cpu_time, total_memory, total_domU_memory) +- +- | (name, Inactive) -> (* inactive domain *) +- (count+1, running, blocked, paused, shutdown, shutoff, +- crashed, active, inactive+1, +- total_cpu_time, total_memory, total_domU_memory) +- ) (0,0,0,0,0,0,0,0,0, 0.,0L,0L) doms in +- +- (* Update last_time, last_info. *) +- last_time := time; +- Hashtbl.clear last_info; +- List.iter ( +- function +- | (_, Active rd) -> +- let info = rd.rd_info, rd.rd_block_stats, rd.rd_interface_stats in +- Hashtbl.add last_info rd.rd_domid info +- | _ -> () +- ) doms; +- +- (doms, +- time, printable_time, +- nr_pcpus, total_cpu, total_cpu_per_pcpu, +- totals, +- pcpu_display) +- in +- +- collect, clear_pcpu_display_data +- +-(* Redraw the display. *) +-let redraw = +- (* Keep a historical list of %CPU usages. *) +- let historical_cpu = ref [] in +- let historical_cpu_last_time = ref (Unix.gettimeofday ()) in +- fun +- (_, _, _, _, _, node_info, _, _) (* setup *) +- (doms, +- time, printable_time, +- nr_pcpus, total_cpu, total_cpu_per_pcpu, +- totals, +- pcpu_display) (* state *) -> +- clear (); +- +- (* Get the screen/window size. *) +- let lines, cols = get_size () in +- +- (* Time. *) +- mvaddstr top_lineno 0 (sprintf "virt-top %s - " printable_time); +- +- (* Basic node_info. *) +- addstr +- (sprintf "%s %d/%dCPU %dMHz %LdMB " +- node_info.C.model node_info.C.cpus nr_pcpus node_info.C.mhz +- (node_info.C.memory /^ 1024L)); +- (* Save the cursor position for when we come to draw the +- * historical CPU times (down in this function). +- *) +- let stdscr = stdscr () in +- let historical_cursor = getyx stdscr in +- +- (match !display_mode with +- | TaskDisplay -> (*---------- Showing domains ----------*) +- (* Sort domains on current sort_order. *) +- let doms = +- let cmp = +- match !sort_order with +- | DomainName -> +- (fun _ -> 0) (* fallthrough to default name compare *) +- | Processor -> +- (function +- | Active rd1, Active rd2 -> +- compare rd2.rd_percent_cpu rd1.rd_percent_cpu +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- | Memory -> +- (function +- | Active { rd_info = info1 }, Active { rd_info = info2 } -> +- compare info2.D.memory info1.D.memory +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- | Time -> +- (function +- | Active { rd_info = info1 }, Active { rd_info = info2 } -> +- compare info2.D.cpu_time info1.D.cpu_time +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- | DomainID -> +- (function +- | Active { rd_domid = id1 }, Active { rd_domid = id2 } -> +- compare id1 id2 +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- | NetRX -> +- (function +- | Active { rd_net_rx_bytes = r1 }, Active { rd_net_rx_bytes = r2 } -> +- compare r2 r1 +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- | NetTX -> +- (function +- | Active { rd_net_tx_bytes = r1 }, Active { rd_net_tx_bytes = r2 } -> +- compare r2 r1 +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- | BlockRdRq -> +- (function +- | Active { rd_block_rd_reqs = r1 }, Active { rd_block_rd_reqs = r2 } -> +- compare r2 r1 +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- | BlockWrRq -> +- (function +- | Active { rd_block_wr_reqs = r1 }, Active { rd_block_wr_reqs = r2 } -> +- compare r2 r1 +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- in +- let cmp (name1, dom1) (name2, dom2) = +- let r = cmp (dom1, dom2) in +- if r <> 0 then r +- else compare name1 name2 +- in +- List.sort ~cmp doms in +- +- (* Print domains. *) +- attron A.reverse; +- let header_string = if !block_in_bytes +- then " ID S RDBY WRBY RXBY TXBY %CPU %MEM TIME NAME" +- else " ID S RDRQ WRRQ RXBY TXBY %CPU %MEM TIME NAME" +- in +- mvaddstr header_lineno 0 +- (pad cols header_string); +- attroff A.reverse; +- +- let rec loop lineno = function +- | [] -> () +- | (name, Active rd) :: doms -> +- if lineno < lines then ( +- let state = show_state rd.rd_info.D.state in +- let rd_req = Show.int64_option rd.rd_block_rd_info in +- let wr_req = Show.int64_option rd.rd_block_wr_info in +- let rx_bytes = Show.int64_option rd.rd_net_rx_bytes in +- let tx_bytes = Show.int64_option rd.rd_net_tx_bytes in +- let percent_cpu = Show.percent rd.rd_percent_cpu in +- let percent_mem = Int64.to_float rd.rd_mem_percent in +- let percent_mem = Show.percent percent_mem in +- let time = Show.time rd.rd_info.D.cpu_time in +- +- let line = sprintf "%5d %c %s %s %s %s %s %s %s %s" +- rd.rd_domid state rd_req wr_req rx_bytes tx_bytes +- percent_cpu percent_mem time name in +- let line = pad cols line in +- mvaddstr lineno 0 line; +- loop (lineno+1) doms +- ) +- | (name, Inactive) :: doms -> (* inactive domain *) +- if lineno < lines then ( +- let line = +- sprintf +- " - (%s)" +- name in +- let line = pad cols line in +- mvaddstr lineno 0 line; +- loop (lineno+1) doms +- ) +- in +- loop domains_lineno doms +- +- | PCPUDisplay -> (*---------- Showing physical CPUs ----------*) +- let doms, pcpus, pcpus_cpu_time = +- match pcpu_display with +- | Some p -> p +- | None -> failwith "internal error: no pcpu_display data" in +- +- (* Display the pCPUs. *) +- let dom_names = +- String.concat "" ( +- List.map ( +- fun (_, name, _, _, _, _, _, _) -> +- let len = String.length name in +- let width = max (len+1) 12 in +- pad width name +- ) doms +- ) in +- attron A.reverse; +- mvaddstr header_lineno 0 (pad cols ("PHYCPU %CPU " ^ dom_names)); +- attroff A.reverse; +- +- Array.iteri ( +- fun p row -> +- mvaddstr (p+domains_lineno) 0 (sprintf "%4d " p); +- let cpu_time = pcpus_cpu_time.(p) in (* ns used on this CPU *) +- let percent_cpu = 100. *. cpu_time /. total_cpu_per_pcpu in +- addstr (Show.percent percent_cpu); +- addch ' '; +- +- List.iteri ( +- fun di (domid, name, _, _, _, _, _, _) -> +- let t = pcpus.(p).(di).(0) in (* hypervisor + domain *) +- let t_only = pcpus.(p).(di).(1) in (* domain only *) +- let len = String.length name in +- let width = max (len+1) 12 in +- let str_t = +- if t <= 0L then "" +- else ( +- let t = Int64.to_float t in +- let percent = 100. *. t /. total_cpu_per_pcpu in +- Show.percent percent +- ) in +- let str_t_only = +- if t_only <= 0L then "" +- else ( +- let t_only = Int64.to_float t_only in +- let percent = 100. *. t_only /. total_cpu_per_pcpu in +- Show.percent percent +- ) in +- addstr (pad 5 str_t); +- addstr (pad 5 str_t_only); +- addstr (pad (width-10) " "); +- () +- ) doms +- ) pcpus; +- +- | NetDisplay -> (*---------- Showing network interfaces ----------*) +- (* Only care about active domains. *) +- let doms = List.filter_map ( +- function +- | (name, Active rd) -> Some (name, rd) +- | (_, Inactive) -> None +- ) doms in +- +- (* For each domain we have a list of network interfaces seen +- * this slice, and seen in the previous slice, which we now +- * match up to get a list of (domain, interface) for which +- * we have current & previous knowledge. (And ignore the rest). +- *) +- let devs = +- List.map ( +- fun (name, rd) -> +- List.filter_map ( +- fun (dev, stats) -> +- try +- (* Have prev slice stats for this device? *) +- let prev_stats = +- List.assoc dev rd.rd_prev_interface_stats in +- Some (dev, name, rd, stats, prev_stats) +- with Not_found -> None +- ) rd.rd_interface_stats +- ) doms in +- +- (* Finally we have a list of: +- * device name, domain name, rd_* stuff, curr stats, prev stats. +- *) +- let devs : (string * string * rd_active * +- D.interface_stats * D.interface_stats) list = +- List.flatten devs in +- +- (* Difference curr slice & prev slice. *) +- let devs = List.map ( +- fun (dev, name, rd, curr, prev) -> +- dev, name, rd, diff_interface_stats curr prev +- ) devs in +- +- (* Sort by current sort order, but map some of the standard +- * sort orders into ones which makes sense here. +- *) +- let devs = +- let cmp = +- match !sort_order with +- | DomainName -> +- (fun _ -> 0) (* fallthrough to default name compare *) +- | DomainID -> +- (fun (_, { rd_domid = id1 }, _, { rd_domid = id2 }) -> +- compare id1 id2) +- | Processor | Memory | Time | BlockRdRq | BlockWrRq +- (* fallthrough to RXBY comparison. *) +- | NetRX -> +- (fun ({ D.rx_bytes = b1 }, _, { D.rx_bytes = b2 }, _) -> +- compare b2 b1) +- | NetTX -> +- (fun ({ D.tx_bytes = b1 }, _, { D.tx_bytes = b2 }, _) -> +- compare b2 b1) +- in +- let cmp (dev1, name1, rd1, stats1) (dev2, name2, rd2, stats2) = +- let r = cmp (stats1, rd1, stats2, rd2) in +- if r <> 0 then r +- else compare (dev1, name1) (dev2, name2) +- in +- List.sort ~cmp devs in +- +- (* Print the header for network devices. *) +- attron A.reverse; +- mvaddstr header_lineno 0 +- (pad cols " ID S RXBY TXBY RXPK TXPK DOMAIN INTERFACE"); +- attroff A.reverse; +- +- (* Print domains and devices. *) +- let rec loop lineno = function +- | [] -> () +- | (dev, name, rd, stats) :: devs -> +- if lineno < lines then ( +- let state = show_state rd.rd_info.D.state in +- let rx_bytes = +- if stats.D.rx_bytes >= 0L +- then Show.int64 stats.D.rx_bytes +- else " " in +- let tx_bytes = +- if stats.D.tx_bytes >= 0L +- then Show.int64 stats.D.tx_bytes +- else " " in +- let rx_packets = +- if stats.D.rx_packets >= 0L +- then Show.int64 stats.D.rx_packets +- else " " in +- let tx_packets = +- if stats.D.tx_packets >= 0L +- then Show.int64 stats.D.tx_packets +- else " " in +- +- let line = sprintf "%5d %c %s %s %s %s %-12s %s" +- rd.rd_domid state +- rx_bytes tx_bytes +- rx_packets tx_packets +- (pad 12 name) dev in +- let line = pad cols line in +- mvaddstr lineno 0 line; +- loop (lineno+1) devs +- ) +- in +- loop domains_lineno devs +- +- | BlockDisplay -> (*---------- Showing block devices ----------*) +- (* Only care about active domains. *) +- let doms = List.filter_map ( +- function +- | (name, Active rd) -> Some (name, rd) +- | (_, Inactive) -> None +- ) doms in +- +- (* For each domain we have a list of block devices seen +- * this slice, and seen in the previous slice, which we now +- * match up to get a list of (domain, device) for which +- * we have current & previous knowledge. (And ignore the rest). +- *) +- let devs = +- List.map ( +- fun (name, rd) -> +- List.filter_map ( +- fun (dev, stats) -> +- try +- (* Have prev slice stats for this device? *) +- let prev_stats = +- List.assoc dev rd.rd_prev_block_stats in +- Some (dev, name, rd, stats, prev_stats) +- with Not_found -> None +- ) rd.rd_block_stats +- ) doms in +- +- (* Finally we have a list of: +- * device name, domain name, rd_* stuff, curr stats, prev stats. +- *) +- let devs : (string * string * rd_active * +- D.block_stats * D.block_stats) list = +- List.flatten devs in +- +- (* Difference curr slice & prev slice. *) +- let devs = List.map ( +- fun (dev, name, rd, curr, prev) -> +- dev, name, rd, diff_block_stats curr prev +- ) devs in +- +- (* Sort by current sort order, but map some of the standard +- * sort orders into ones which makes sense here. +- *) +- let devs = +- let cmp = +- match !sort_order with +- | DomainName -> +- (fun _ -> 0) (* fallthrough to default name compare *) +- | DomainID -> +- (fun (_, { rd_domid = id1 }, _, { rd_domid = id2 }) -> +- compare id1 id2) +- | Processor | Memory | Time | NetRX | NetTX +- (* fallthrough to RDRQ comparison. *) +- | BlockRdRq -> +- (fun ({ D.rd_req = b1 }, _, { D.rd_req = b2 }, _) -> +- compare b2 b1) +- | BlockWrRq -> +- (fun ({ D.wr_req = b1 }, _, { D.wr_req = b2 }, _) -> +- compare b2 b1) +- in +- let cmp (dev1, name1, rd1, stats1) (dev2, name2, rd2, stats2) = +- let r = cmp (stats1, rd1, stats2, rd2) in +- if r <> 0 then r +- else compare (dev1, name1) (dev2, name2) +- in +- List.sort ~cmp devs in +- +- (* Print the header for block devices. *) +- attron A.reverse; +- mvaddstr header_lineno 0 +- (pad cols " ID S RDBY WRBY RDRQ WRRQ DOMAIN DEVICE"); +- attroff A.reverse; +- +- (* Print domains and devices. *) +- let rec loop lineno = function +- | [] -> () +- | (dev, name, rd, stats) :: devs -> +- if lineno < lines then ( +- let state = show_state rd.rd_info.D.state in +- let rd_bytes = +- if stats.D.rd_bytes >= 0L +- then Show.int64 stats.D.rd_bytes +- else " " in +- let wr_bytes = +- if stats.D.wr_bytes >= 0L +- then Show.int64 stats.D.wr_bytes +- else " " in +- let rd_req = +- if stats.D.rd_req >= 0L +- then Show.int64 stats.D.rd_req +- else " " in +- let wr_req = +- if stats.D.wr_req >= 0L +- then Show.int64 stats.D.wr_req +- else " " in +- +- let line = sprintf "%5d %c %s %s %s %s %-12s %s" +- rd.rd_domid state +- rd_bytes wr_bytes +- rd_req wr_req +- (pad 12 name) dev in +- let line = pad cols line in +- mvaddstr lineno 0 line; +- loop (lineno+1) devs +- ) +- in +- loop domains_lineno devs +- ); (* end of display_mode conditional section *) +- +- let (count, running, blocked, paused, shutdown, shutoff, +- crashed, active, inactive, +- total_cpu_time, total_memory, total_domU_memory) = totals in +- +- mvaddstr summary_lineno 0 +- (sprintf +- (f_"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d O:%d X:%d") +- count active running blocked paused inactive shutdown shutoff crashed); +- +- (* Total %CPU used, and memory summary. *) +- let percent_cpu = 100. *. total_cpu_time /. total_cpu in +- mvaddstr (summary_lineno+1) 0 +- (sprintf +- (f_"CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)") +- percent_cpu (total_memory /^ 1024L) (total_domU_memory /^ 1024L)); +- +- (* Time to grab another historical %CPU for the list? *) +- if time >= !historical_cpu_last_time +. float !historical_cpu_delay +- then ( +- historical_cpu := percent_cpu :: List.take 10 !historical_cpu; +- historical_cpu_last_time := time +- ); +- +- (* Display historical CPU time. *) +- let () = +- let y, x = historical_cursor in +- let maxwidth = cols - x in +- let line = +- String.concat " " +- (List.map (sprintf "%2.1f%%") !historical_cpu) in +- let line = pad maxwidth line in +- mvaddstr y x line; +- () in +- +- move message_lineno 0; (* Park cursor in message area, as with top. *) +- refresh () (* Refresh the display. *) +- +-(* Write CSV header row. *) +-let write_csv_header () = +- (!csv_write) ( +- [ "Hostname"; "Time"; "Arch"; "Physical CPUs"; +- "Count"; "Running"; "Blocked"; "Paused"; "Shutdown"; +- "Shutoff"; "Crashed"; "Active"; "Inactive"; +- "%CPU"; +- "Total hardware memory (KB)"; +- "Total memory (KB)"; "Total guest memory (KB)"; +- "Total CPU time (ns)" ] @ +- (* These fields are repeated for each domain: *) +- [ "Domain ID"; "Domain name"; ] @ +- (if !csv_cpu then [ "CPU (ns)"; "%CPU"; ] else []) @ +- (if !csv_mem then [ "Mem (bytes)"; "%Mem";] else []) @ +- (if !csv_block && not !block_in_bytes +- then [ "Block RDRQ"; "Block WRRQ"; ] else []) @ +- (if !csv_block && !block_in_bytes +- then [ "Block RDBY"; "Block WRBY"; ] else []) @ +- (if !csv_net then [ "Net RXBY"; "Net TXBY" ] else []) +- ) +- +-(* Write summary data to CSV file. *) +-let append_csv +- (_, _, _, _, _, node_info, hostname, _) (* setup *) +- (doms, +- _, printable_time, +- nr_pcpus, total_cpu, _, +- totals, +- _) (* state *) = +- +- (* The totals / summary fields. *) +- let (count, running, blocked, paused, shutdown, shutoff, +- crashed, active, inactive, +- total_cpu_time, total_memory, total_domU_memory) = totals in +- +- let percent_cpu = 100. *. total_cpu_time /. total_cpu in +- +- let summary_fields = [ +- hostname; printable_time; node_info.C.model; string_of_int nr_pcpus; +- string_of_int count; string_of_int running; string_of_int blocked; +- string_of_int paused; string_of_int shutdown; string_of_int shutoff; +- string_of_int crashed; string_of_int active; string_of_int inactive; +- sprintf "%2.1f" percent_cpu; +- Int64.to_string node_info.C.memory; +- Int64.to_string total_memory; Int64.to_string total_domU_memory; +- Int64.to_string (Int64.of_float total_cpu_time) +- ] in +- +- (* The domains. +- * +- * Sort them by ID so that the list of relatively stable. Ignore +- * inactive domains. +- *) +- let doms = List.filter_map ( +- function +- | _, Inactive -> None (* Ignore inactive domains. *) +- | name, Active rd -> Some (name, rd) +- ) doms in +- let cmp (_, { rd_domid = rd_domid1 }) (_, { rd_domid = rd_domid2 }) = +- compare rd_domid1 rd_domid2 +- in +- let doms = List.sort ~cmp doms in +- +- let string_of_int64_option = Option.map_default Int64.to_string "" in +- +- let domain_fields = List.map ( +- fun (domname, rd) -> +- [ string_of_int rd.rd_domid; domname ] @ +- (if !csv_cpu then [ +- string_of_float rd.rd_cpu_time; string_of_float rd.rd_percent_cpu +- ] else []) @ +- (if !csv_mem then [ +- Int64.to_string rd.rd_mem_bytes; Int64.to_string rd.rd_mem_percent +- ] else []) @ +- (if !csv_block then [ +- string_of_int64_option rd.rd_block_rd_info; +- string_of_int64_option rd.rd_block_wr_info; +- ] else []) @ +- (if !csv_net then [ +- string_of_int64_option rd.rd_net_rx_bytes; +- string_of_int64_option rd.rd_net_tx_bytes; +- ] else []) +- ) doms in +- let domain_fields = List.flatten domain_fields in +- +- (!csv_write) (summary_fields @ domain_fields) +- +-let dump_stdout +- (_, _, _, _, _, node_info, hostname, _) (* setup *) +- (doms, +- _, printable_time, +- nr_pcpus, total_cpu, _, +- totals, +- _) (* state *) = +- +- (* Header for this iteration *) +- printf "virt-top time %s Host %s %s %d/%dCPU %dMHz %LdMB \n" +- printable_time hostname node_info.C.model node_info.C.cpus nr_pcpus +- node_info.C.mhz (node_info.C.memory /^ 1024L); +- (* dump domain information one by one *) +- let rd, wr = if !block_in_bytes then "RDBY", "WRBY" else "RDRQ", "WRRQ" +- in +- printf " ID S %s %s RXBY TXBY %%CPU %%MEM TIME NAME\n" rd wr; +- +- (* sort by ID *) +- let doms = +- let compare = +- (function +- | Active {rd_domid = id1 }, Active {rd_domid = id2} -> +- compare id1 id2 +- | Active _, Inactive -> -1 +- | Inactive, Active _ -> 1 +- | Inactive, Inactive -> 0) +- in +- let cmp (name1, dom1) (name2, dom2) = compare(dom1, dom2) in +- List.sort ~cmp doms in +- (*Print domains *) +- let dump_domain = fun name rd +- -> begin +- let state = show_state rd.rd_info.D.state in +- let rd_req = if rd.rd_block_rd_info = None then " 0" +- else Show.int64_option rd.rd_block_rd_info in +- let wr_req = if rd.rd_block_wr_info = None then " 0" +- else Show.int64_option rd.rd_block_wr_info in +- let rx_bytes = if rd.rd_net_rx_bytes = None then " 0" +- else Show.int64_option rd.rd_net_rx_bytes in +- let tx_bytes = if rd.rd_net_tx_bytes = None then " 0" +- else Show.int64_option rd.rd_net_tx_bytes in +- let percent_cpu = Show.percent rd.rd_percent_cpu in +- let percent_mem = Int64.to_float rd.rd_mem_percent in +- let percent_mem = Show.percent percent_mem in +- let time = Show.time rd.rd_info.D.cpu_time in +- printf "%5d %c %s %s %s %s %s %s %s %s\n" +- rd.rd_domid state rd_req wr_req rx_bytes tx_bytes +- percent_cpu percent_mem time name; +- end +- in +- List.iter ( +- function +- | name, Active dom -> dump_domain name dom +- | name, Inactive -> () +- ) doms; +- flush stdout +- + (* Main loop. *) + let rec main_loop ((_, batch_mode, script_mode, csv_enabled, stream_mode, _, _, _) + as setup) = +- if csv_enabled then write_csv_header (); ++ let csv_flags = !csv_cpu, !csv_mem, !csv_block, !csv_net in ++ ++ if csv_enabled then ++ Csv_output.write_csv_header csv_flags !block_in_bytes; + + while not !quit do +- let state = collect setup in (* Collect stats. *) ++ (* Collect stats. *) ++ let state = collect setup !block_in_bytes in ++ let pcpu_display = ++ if !display_mode = PCPUDisplay then Some (collect_pcpu state) ++ else None in + (* Redraw display. *) +- if not script_mode && not stream_mode then redraw setup state; +- if csv_enabled then append_csv setup state; (* Update CSV file. *) +- if stream_mode then dump_stdout setup state; (* dump to stdout *) ++ if not script_mode && not stream_mode then ++ Redraw.redraw !display_mode !sort_order ++ setup !block_in_bytes !historical_cpu_delay ++ state pcpu_display; ++ ++ (* Update CSV file. *) ++ if csv_enabled then ++ Csv_output.append_csv setup csv_flags state; ++ ++ (* Append to stream output file. *) ++ if stream_mode then ++ Stream_output.append_stream setup !block_in_bytes state; + + (* Clear up unused virDomainPtr objects. *) + Gc.compact (); +@@ -1440,11 +356,10 @@ let rec main_loop ((_, batch_mode, script_mode, csv_enabled, stream_mode, _, _, + (* No --end-time option, so use the current delay. *) + !delay + | Some end_time -> +- let (_, time, _, _, _, _, _, _) = state in + let delay_secs = float !delay /. 1000. in +- if end_time <= time +. delay_secs then ( ++ if end_time <= state.rd_time +. delay_secs then ( + quit := true; +- let delay = int_of_float (1000. *. (end_time -. time)) in ++ let delay = int_of_float (1000. *. (end_time -. state.rd_time)) in + if delay >= 0 then delay else 0 + ) else + !delay in +diff --git a/src/top.mli b/src/top.mli +index b0953dd..b625910 100644 +--- a/src/top.mli ++++ b/src/top.mli +@@ -1,5 +1,5 @@ + (* 'top'-like tool for libvirt domains. +- (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. + http://libvirt.org/ + + This program is free software; you can redistribute it and/or modify +@@ -17,23 +17,11 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + *) + +-(* Hook for [Opt_xml] to override (if present). *) +-val parse_device_xml : +- (int -> [ `R ] Libvirt.Domain.t -> string list * string list) ref +- +-(* Hooks for [Opt_csv] to override (if present). *) ++(* Hook for [Opt_csv] to override (if present). *) + val csv_start : (string -> unit) ref +-val csv_write : (string list -> unit) ref + + (* Hook for [Opt_calendar] to override (if present). *) + val parse_date_time : (string -> float) ref + +-type setup = +- Libvirt.ro Libvirt.Connect.t (* connection *) +- * bool * bool * bool * bool (* batch, script, csv, stream mode *) +- * Libvirt.Connect.node_info (* node_info *) +- * string (* hostname *) +- * (int * int * int) (* libvirt version *) +- +-val start_up : unit -> setup +-val main_loop : setup -> unit ++val start_up : unit -> Types.setup ++val main_loop : Types.setup -> unit +diff --git a/src/types.ml b/src/types.ml +new file mode 100644 +index 0000000..2fdd49b +--- /dev/null ++++ b/src/types.ml +@@ -0,0 +1,147 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++open Opt_gettext.Gettext ++open Utils ++ ++module C = Libvirt.Connect ++module D = Libvirt.Domain ++ ++(* XXX We should get rid of this type. *) ++type setup = ++ Libvirt.ro C.t (* connection *) ++ * bool * bool * bool * bool (* batch, script, csv, stream mode *) ++ * C.node_info (* node_info *) ++ * string (* hostname *) ++ * (int * int * int) (* libvirt version *) ++ ++(* Sort order. *) ++type sort_order = ++ | DomainID | DomainName | Processor | Memory | Time ++ | NetRX | NetTX | BlockRdRq | BlockWrRq ++let all_sort_fields = [ ++ DomainID; DomainName; Processor; Memory; Time; ++ NetRX; NetTX; BlockRdRq; BlockWrRq ++] ++let printable_sort_order = function ++ | Processor -> s_"%CPU" ++ | Memory -> s_"%MEM" ++ | Time -> s_"TIME (CPU time)" ++ | DomainID -> s_"Domain ID" ++ | DomainName -> s_"Domain name" ++ | NetRX -> s_"Net RX bytes" ++ | NetTX -> s_"Net TX bytes" ++ | BlockRdRq -> s_"Block read reqs" ++ | BlockWrRq -> s_"Block write reqs" ++let sort_order_of_cli = function ++ | "cpu" | "processor" -> Processor ++ | "mem" | "memory" -> Memory ++ | "time" -> Time ++ | "id" -> DomainID ++ | "name" -> DomainName ++ | "netrx" -> NetRX | "nettx" -> NetTX ++ | "blockrdrq" -> BlockRdRq | "blockwrrq" -> BlockWrRq ++ | str -> ++ failwithf (f_"%s: sort order should be: %s") ++ str "cpu|mem|time|id|name|netrx|nettx|blockrdrq|blockwrrq" ++let cli_of_sort_order = function ++ | Processor -> "cpu" ++ | Memory -> "mem" ++ | Time -> "time" ++ | DomainID -> "id" ++ | DomainName -> "name" ++ | NetRX -> "netrx" ++ | NetTX -> "nettx" ++ | BlockRdRq -> "blockrdrq" ++ | BlockWrRq -> "blockwrrq" ++ ++(* Current major display mode: TaskDisplay is the normal display. *) ++type display = TaskDisplay | PCPUDisplay | BlockDisplay | NetDisplay ++ ++let display_of_cli = function ++ | "task" -> TaskDisplay ++ | "pcpu" -> PCPUDisplay ++ | "block" -> BlockDisplay ++ | "net" -> NetDisplay ++ | str -> ++ failwithf (f_"%s: display should be %s") str "task|pcpu|block|net" ++let cli_of_display = function ++ | TaskDisplay -> "task" ++ | PCPUDisplay -> "pcpu" ++ | BlockDisplay -> "block" ++ | NetDisplay -> "net" ++ ++(* Sum Domain.block_stats structures together. Missing fields ++ * get forced to 0. Empty list returns all 0. ++ *) ++let zero_block_stats = ++ { D.rd_req = 0L; rd_bytes = 0L; wr_req = 0L; wr_bytes = 0L; errs = 0L } ++let add_block_stats bs1 bs2 = ++ let add f1 f2 = if f1 >= 0L && f2 >= 0L then f1 +^ f2 else 0L in ++ { D.rd_req = add bs1.D.rd_req bs2.D.rd_req; ++ rd_bytes = add bs1.D.rd_bytes bs2.D.rd_bytes; ++ wr_req = add bs1.D.wr_req bs2.D.wr_req; ++ wr_bytes = add bs1.D.wr_bytes bs2.D.wr_bytes; ++ errs = add bs1.D.errs bs2.D.errs } ++let sum_block_stats = ++ List.fold_left add_block_stats zero_block_stats ++ ++(* Get the difference between two block_stats structures. Missing data ++ * forces the difference to -1. ++ *) ++let diff_block_stats curr prev = ++ let sub f1 f2 = if f1 >= 0L && f2 >= 0L then f1 -^ f2 else -1L in ++ { D.rd_req = sub curr.D.rd_req prev.D.rd_req; ++ rd_bytes = sub curr.D.rd_bytes prev.D.rd_bytes; ++ wr_req = sub curr.D.wr_req prev.D.wr_req; ++ wr_bytes = sub curr.D.wr_bytes prev.D.wr_bytes; ++ errs = sub curr.D.errs prev.D.errs } ++ ++(* Sum Domain.interface_stats structures together. Missing fields ++ * get forced to 0. Empty list returns all 0. ++ *) ++let zero_interface_stats = ++ { D.rx_bytes = 0L; rx_packets = 0L; rx_errs = 0L; rx_drop = 0L; ++ tx_bytes = 0L; tx_packets = 0L; tx_errs = 0L; tx_drop = 0L } ++let add_interface_stats is1 is2 = ++ let add f1 f2 = if f1 >= 0L && f2 >= 0L then f1 +^ f2 else 0L in ++ { D.rx_bytes = add is1.D.rx_bytes is2.D.rx_bytes; ++ rx_packets = add is1.D.rx_packets is2.D.rx_packets; ++ rx_errs = add is1.D.rx_errs is2.D.rx_errs; ++ rx_drop = add is1.D.rx_drop is2.D.rx_drop; ++ tx_bytes = add is1.D.tx_bytes is2.D.tx_bytes; ++ tx_packets = add is1.D.tx_packets is2.D.tx_packets; ++ tx_errs = add is1.D.tx_errs is2.D.tx_errs; ++ tx_drop = add is1.D.tx_drop is2.D.tx_drop } ++let sum_interface_stats = ++ List.fold_left add_interface_stats zero_interface_stats ++ ++(* Get the difference between two interface_stats structures. ++ * Missing data forces the difference to -1. ++ *) ++let diff_interface_stats curr prev = ++ let sub f1 f2 = if f1 >= 0L && f2 >= 0L then f1 -^ f2 else -1L in ++ { D.rx_bytes = sub curr.D.rx_bytes prev.D.rx_bytes; ++ rx_packets = sub curr.D.rx_packets prev.D.rx_packets; ++ rx_errs = sub curr.D.rx_errs prev.D.rx_errs; ++ rx_drop = sub curr.D.rx_drop prev.D.rx_drop; ++ tx_bytes = sub curr.D.tx_bytes prev.D.tx_bytes; ++ tx_packets = sub curr.D.tx_packets prev.D.tx_packets; ++ tx_errs = sub curr.D.tx_errs prev.D.tx_errs; ++ tx_drop = sub curr.D.tx_drop prev.D.tx_drop } +diff --git a/src/types.mli b/src/types.mli +new file mode 100644 +index 0000000..6297482 +--- /dev/null ++++ b/src/types.mli +@@ -0,0 +1,49 @@ ++(* 'top'-like tool for libvirt domains. ++ (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. ++ http://libvirt.org/ ++ ++ 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. ++*) ++ ++(* XXX We should get rid of this type. *) ++type setup = ++ Libvirt.ro Libvirt.Connect.t (* connection *) ++ * bool * bool * bool * bool (* batch, script, csv, stream mode *) ++ * Libvirt.Connect.node_info (* node_info *) ++ * string (* hostname *) ++ * (int * int * int) (* libvirt version *) ++ ++(* Sort order. *) ++type sort_order = ++ | DomainID | DomainName | Processor | Memory | Time ++ | NetRX | NetTX | BlockRdRq | BlockWrRq ++ ++val all_sort_fields : sort_order list ++val printable_sort_order : sort_order -> string ++val sort_order_of_cli : string -> sort_order ++val cli_of_sort_order : sort_order -> string ++ ++(* Current major display mode: TaskDisplay is the normal display. *) ++type display = TaskDisplay | PCPUDisplay | BlockDisplay | NetDisplay ++ ++val display_of_cli : string -> display ++val cli_of_display : display -> string ++ ++(* Helpers for manipulating block_stats & interface_stats. *) ++val sum_block_stats : Libvirt.Domain.block_stats list -> Libvirt.Domain.block_stats ++val diff_block_stats : Libvirt.Domain.block_stats -> Libvirt.Domain.block_stats -> Libvirt.Domain.block_stats ++ ++val sum_interface_stats : Libvirt.Domain.interface_stats list -> Libvirt.Domain.interface_stats ++val diff_interface_stats : Libvirt.Domain.interface_stats -> Libvirt.Domain.interface_stats -> Libvirt.Domain.interface_stats +diff --git a/src/utils.ml b/src/utils.ml +index 3dc637d..5fcc905 100644 +--- a/src/utils.ml ++++ b/src/utils.ml +@@ -21,12 +21,6 @@ + + open Printf + +-open Opt_gettext.Gettext +- +-module C = Libvirt.Connect +-module D = Libvirt.Domain +-module N = Libvirt.Network +- + let (//) = Filename.concat + + (* Int64 operators for convenience. *) +@@ -166,62 +160,3 @@ module Show = struct + sprintf "%3Ldd%02Ld:%02Ld" days hours mins + ) + end +- +-(* Sum Domain.block_stats structures together. Missing fields +- * get forced to 0. Empty list returns all 0. +- *) +-let zero_block_stats = +- { D.rd_req = 0L; rd_bytes = 0L; wr_req = 0L; wr_bytes = 0L; errs = 0L } +-let add_block_stats bs1 bs2 = +- let add f1 f2 = if f1 >= 0L && f2 >= 0L then f1 +^ f2 else 0L in +- { D.rd_req = add bs1.D.rd_req bs2.D.rd_req; +- rd_bytes = add bs1.D.rd_bytes bs2.D.rd_bytes; +- wr_req = add bs1.D.wr_req bs2.D.wr_req; +- wr_bytes = add bs1.D.wr_bytes bs2.D.wr_bytes; +- errs = add bs1.D.errs bs2.D.errs } +-let sum_block_stats = +- List.fold_left add_block_stats zero_block_stats +- +-(* Get the difference between two block_stats structures. Missing data +- * forces the difference to -1. +- *) +-let diff_block_stats curr prev = +- let sub f1 f2 = if f1 >= 0L && f2 >= 0L then f1 -^ f2 else -1L in +- { D.rd_req = sub curr.D.rd_req prev.D.rd_req; +- rd_bytes = sub curr.D.rd_bytes prev.D.rd_bytes; +- wr_req = sub curr.D.wr_req prev.D.wr_req; +- wr_bytes = sub curr.D.wr_bytes prev.D.wr_bytes; +- errs = sub curr.D.errs prev.D.errs } +- +-(* Sum Domain.interface_stats structures together. Missing fields +- * get forced to 0. Empty list returns all 0. +- *) +-let zero_interface_stats = +- { D.rx_bytes = 0L; rx_packets = 0L; rx_errs = 0L; rx_drop = 0L; +- tx_bytes = 0L; tx_packets = 0L; tx_errs = 0L; tx_drop = 0L } +-let add_interface_stats is1 is2 = +- let add f1 f2 = if f1 >= 0L && f2 >= 0L then f1 +^ f2 else 0L in +- { D.rx_bytes = add is1.D.rx_bytes is2.D.rx_bytes; +- rx_packets = add is1.D.rx_packets is2.D.rx_packets; +- rx_errs = add is1.D.rx_errs is2.D.rx_errs; +- rx_drop = add is1.D.rx_drop is2.D.rx_drop; +- tx_bytes = add is1.D.tx_bytes is2.D.tx_bytes; +- tx_packets = add is1.D.tx_packets is2.D.tx_packets; +- tx_errs = add is1.D.tx_errs is2.D.tx_errs; +- tx_drop = add is1.D.tx_drop is2.D.tx_drop } +-let sum_interface_stats = +- List.fold_left add_interface_stats zero_interface_stats +- +-(* Get the difference between two interface_stats structures. +- * Missing data forces the difference to -1. +- *) +-let diff_interface_stats curr prev = +- let sub f1 f2 = if f1 >= 0L && f2 >= 0L then f1 -^ f2 else -1L in +- { D.rx_bytes = sub curr.D.rx_bytes prev.D.rx_bytes; +- rx_packets = sub curr.D.rx_packets prev.D.rx_packets; +- rx_errs = sub curr.D.rx_errs prev.D.rx_errs; +- rx_drop = sub curr.D.rx_drop prev.D.rx_drop; +- tx_bytes = sub curr.D.tx_bytes prev.D.tx_bytes; +- tx_packets = sub curr.D.tx_packets prev.D.tx_packets; +- tx_errs = sub curr.D.tx_errs prev.D.tx_errs; +- tx_drop = sub curr.D.tx_drop prev.D.tx_drop } +diff --git a/src/utils.mli b/src/utils.mli +index 5b71b31..6e81215 100644 +--- a/src/utils.mli ++++ b/src/utils.mli +@@ -46,12 +46,3 @@ module Show : sig + val int64 : int64 -> string + val time : int64 -> string + end +- +-(* Helpers for manipulating block_stats & interface_stats. *) +-open Libvirt.Domain +- +-val sum_block_stats : block_stats list -> block_stats +-val diff_block_stats : block_stats -> block_stats -> block_stats +- +-val sum_interface_stats : interface_stats list -> interface_stats +-val diff_interface_stats : interface_stats -> interface_stats -> interface_stats +-- +2.19.0.rc0 + diff --git a/SOURCES/0014-Move-block_in_bytes-entirely-to-the-presentation-lay.patch b/SOURCES/0014-Move-block_in_bytes-entirely-to-the-presentation-lay.patch new file mode 100644 index 0000000..949fd8e --- /dev/null +++ b/SOURCES/0014-Move-block_in_bytes-entirely-to-the-presentation-lay.patch @@ -0,0 +1,211 @@ +From 431dbd98bad6e3635b4d0885bf33dd3e759ca35d Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 27 Mar 2017 21:22:52 +0100 +Subject: [PATCH 14/20] Move block_in_bytes entirely to the presentation layer. + +Simplifies and updates commit dbef8dd3bf00417e75a12c851b053e49c9e1a79e. +--- + src/collect.ml | 19 +++---------------- + src/collect.mli | 6 +----- + src/csv_output.ml | 14 ++++++++++---- + src/csv_output.mli | 2 +- + src/redraw.ml | 10 +++++++--- + src/stream_output.ml | 14 ++++++++++---- + src/top.ml | 4 ++-- + 7 files changed, 34 insertions(+), 35 deletions(-) + +diff --git a/src/collect.ml b/src/collect.ml +index f856067..448ce8c 100644 +--- a/src/collect.ml ++++ b/src/collect.ml +@@ -57,12 +57,8 @@ and rd_active = { + (* The following are since the last slice, or None if cannot be calc'd: *) + rd_block_rd_reqs : int64 option; (* Number of block device read rqs. *) + rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *) +- rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) +- rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) +- (* _info fields includes the number considering --block_in_bytes option *) +- rd_block_rd_info : int64 option; (* Block device read info for user *) +- rd_block_wr_info : int64 option; (* Block device read info for user *) +- ++ rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) ++ rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) + rd_net_rx_bytes : int64 option; (* Number of bytes received. *) + rd_net_tx_bytes : int64 option; (* Number of bytes transmitted. *) + } +@@ -114,7 +110,7 @@ let last_pcpu_usages = Hashtbl.create 13 + let clear_pcpu_display_data () = + Hashtbl.clear last_pcpu_usages + +-let collect (conn, _, _, _, _, node_info, _, _) block_in_bytes = ++let collect (conn, _, _, _, _, node_info, _, _) = + (* Number of physical CPUs (some may be disabled). *) + let nr_pcpus = C.maxcpus_of_node_info node_info in + +@@ -178,7 +174,6 @@ let collect (conn, _, _, _, _, node_info, _, _) block_in_bytes = + rd_mem_bytes = 0L; rd_mem_percent = 0L; + rd_block_rd_reqs = None; rd_block_wr_reqs = None; + rd_block_rd_bytes = None; rd_block_wr_bytes = None; +- rd_block_rd_info = None; rd_block_wr_info = None; + rd_net_rx_bytes = None; rd_net_tx_bytes = None; + }) + with +@@ -256,14 +251,6 @@ let collect (conn, _, _, _, _, node_info, _, _) block_in_bytes = + rd_block_rd_bytes = Some read_bytes; + rd_block_wr_bytes = Some write_bytes; + } in +- let rd = { rd with +- rd_block_rd_info = +- if block_in_bytes then +- rd.rd_block_rd_bytes else rd.rd_block_rd_reqs; +- rd_block_wr_info = +- if block_in_bytes then +- rd.rd_block_wr_bytes else rd.rd_block_wr_reqs; +- } in + name, Active rd + (* For all other domains we can't calculate it, so leave as None. *) + | rd -> rd +diff --git a/src/collect.mli b/src/collect.mli +index 440859b..9ad3dcb 100644 +--- a/src/collect.mli ++++ b/src/collect.mli +@@ -48,10 +48,6 @@ and rd_active = { + rd_block_wr_reqs : int64 option; (* Number of block device write rqs. *) + rd_block_rd_bytes : int64 option; (* Number of bytes block device read *) + rd_block_wr_bytes : int64 option; (* Number of bytes block device write *) +- (* _info fields includes the number considering --block_in_bytes option *) +- rd_block_rd_info : int64 option; (* Block device read info for user *) +- rd_block_wr_info : int64 option; (* Block device read info for user *) +- + rd_net_rx_bytes : int64 option; (* Number of bytes received. *) + rd_net_tx_bytes : int64 option; (* Number of bytes transmitted. *) + } +@@ -75,7 +71,7 @@ type pcpu_stats = { + rd_pcpu_pcpus_cpu_time : float array + } + +-val collect : Types.setup -> bool -> stats ++val collect : Types.setup -> stats + (** Collect statistics. *) + + val collect_pcpu : stats -> pcpu_stats +diff --git a/src/csv_output.ml b/src/csv_output.ml +index 9496ca8..f23d673 100644 +--- a/src/csv_output.ml ++++ b/src/csv_output.ml +@@ -56,6 +56,7 @@ let write_csv_header (csv_cpu, csv_mem, csv_block, csv_net) block_in_bytes = + (* Write summary data to CSV file. *) + let append_csv (_, _, _, _, _, node_info, hostname, _) (* setup *) + (csv_cpu, csv_mem, csv_block, csv_net) ++ block_in_bytes + { rd_doms = doms; + rd_printable_time = printable_time; + rd_nr_pcpus = nr_pcpus; rd_total_cpu = total_cpu; +@@ -104,10 +105,15 @@ let append_csv (_, _, _, _, _, node_info, hostname, _) (* setup *) + (if csv_mem then [ + Int64.to_string rd.rd_mem_bytes; Int64.to_string rd.rd_mem_percent + ] else []) @ +- (if csv_block then [ +- string_of_int64_option rd.rd_block_rd_info; +- string_of_int64_option rd.rd_block_wr_info; +- ] else []) @ ++ (if csv_block then ++ if block_in_bytes then [ ++ string_of_int64_option rd.rd_block_rd_bytes; ++ string_of_int64_option rd.rd_block_wr_bytes; ++ ] else [ ++ string_of_int64_option rd.rd_block_rd_reqs; ++ string_of_int64_option rd.rd_block_wr_reqs; ++ ] ++ else []) @ + (if csv_net then [ + string_of_int64_option rd.rd_net_rx_bytes; + string_of_int64_option rd.rd_net_tx_bytes; +diff --git a/src/csv_output.mli b/src/csv_output.mli +index d5eab0f..4064be5 100644 +--- a/src/csv_output.mli ++++ b/src/csv_output.mli +@@ -24,4 +24,4 @@ val csv_write : (string list -> unit) ref + + val write_csv_header : bool * bool * bool * bool -> bool -> unit + +-val append_csv : Types.setup -> bool * bool * bool * bool -> Collect.stats -> unit ++val append_csv : Types.setup -> bool * bool * bool * bool -> bool -> Collect.stats -> unit +diff --git a/src/redraw.ml b/src/redraw.ml +index 9ce889b..0403158 100644 +--- a/src/redraw.ml ++++ b/src/redraw.ml +@@ -155,8 +155,12 @@ let redraw display_mode sort_order + | (name, Active rd) :: doms -> + if lineno < lines then ( + let state = show_state rd.rd_info.D.state in +- let rd_req = Show.int64_option rd.rd_block_rd_info in +- let wr_req = Show.int64_option rd.rd_block_wr_info in ++ let rd_info = ++ if block_in_bytes then Show.int64_option rd.rd_block_rd_bytes ++ else Show.int64_option rd.rd_block_rd_reqs in ++ let wr_info = ++ if block_in_bytes then Show.int64_option rd.rd_block_wr_bytes ++ else Show.int64_option rd.rd_block_wr_reqs in + let rx_bytes = Show.int64_option rd.rd_net_rx_bytes in + let tx_bytes = Show.int64_option rd.rd_net_tx_bytes in + let percent_cpu = Show.percent rd.rd_percent_cpu in +@@ -166,7 +170,7 @@ let redraw display_mode sort_order + + let line = + sprintf "%5d %c %s %s %s %s %s %s %s %s" +- rd.rd_domid state rd_req wr_req rx_bytes tx_bytes ++ rd.rd_domid state rd_info wr_info rx_bytes tx_bytes + percent_cpu percent_mem time name in + let line = pad cols line in + mvaddstr lineno 0 line; +diff --git a/src/stream_output.ml b/src/stream_output.ml +index bf7b114..c3af99b 100644 +--- a/src/stream_output.ml ++++ b/src/stream_output.ml +@@ -59,10 +59,16 @@ let append_stream (_, _, _, _, _, node_info, hostname, _) (* setup *) + let dump_domain = fun name rd + -> begin + let state = Screen.show_state rd.rd_info.D.state in +- let rd_req = if rd.rd_block_rd_info = None then " 0" +- else Show.int64_option rd.rd_block_rd_info in +- let wr_req = if rd.rd_block_wr_info = None then " 0" +- else Show.int64_option rd.rd_block_wr_info in ++ let rd_req = ++ if rd.rd_block_rd_reqs = None then " 0" ++ else ++ if block_in_bytes then Show.int64_option rd.rd_block_rd_bytes ++ else Show.int64_option rd.rd_block_rd_reqs in ++ let wr_req = ++ if rd.rd_block_wr_reqs = None then " 0" ++ else ++ if block_in_bytes then Show.int64_option rd.rd_block_wr_bytes ++ else Show.int64_option rd.rd_block_wr_reqs in + let rx_bytes = if rd.rd_net_rx_bytes = None then " 0" + else Show.int64_option rd.rd_net_rx_bytes in + let tx_bytes = if rd.rd_net_tx_bytes = None then " 0" +diff --git a/src/top.ml b/src/top.ml +index 204f3b6..e2a93d6 100644 +--- a/src/top.ml ++++ b/src/top.ml +@@ -319,7 +319,7 @@ let rec main_loop ((_, batch_mode, script_mode, csv_enabled, stream_mode, _, _, + + while not !quit do + (* Collect stats. *) +- let state = collect setup !block_in_bytes in ++ let state = collect setup in + let pcpu_display = + if !display_mode = PCPUDisplay then Some (collect_pcpu state) + else None in +@@ -331,7 +331,7 @@ let rec main_loop ((_, batch_mode, script_mode, csv_enabled, stream_mode, _, _, + + (* Update CSV file. *) + if csv_enabled then +- Csv_output.append_csv setup csv_flags state; ++ Csv_output.append_csv setup csv_flags !block_in_bytes state; + + (* Append to stream output file. *) + if stream_mode then +-- +2.19.0.rc0 + diff --git a/SOURCES/0015-Remove-unused-variable-is_calendar2.patch b/SOURCES/0015-Remove-unused-variable-is_calendar2.patch new file mode 100644 index 0000000..bb2d6eb --- /dev/null +++ b/SOURCES/0015-Remove-unused-variable-is_calendar2.patch @@ -0,0 +1,25 @@ +From 4f3794d5718249238a74b614a6b486465bc4315d Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 28 Mar 2017 13:09:54 +0100 +Subject: [PATCH 15/20] Remove unused variable is_calendar2. + +Fixes commit effd1ec5897a2cac6e897ae7bce72f6b1e617b90. +--- + src/Makefile.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/Makefile.in b/src/Makefile.in +index 64f431e..6a13bef 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -29,7 +29,6 @@ OCAML_PKG_curses = @OCAML_PKG_curses@ + OCAML_PKG_xml_light = @OCAML_PKG_xml_light@ + OCAML_PKG_csv = @OCAML_PKG_csv@ + OCAML_PKG_calendar = @OCAML_PKG_calendar@ +-is_calendar2 = @is_calendar2@ + OCAML_PKG_gettext = @OCAML_PKG_gettext@ + + OCAMLCPACKAGES := -package unix,extlib,curses,str,libvirt +-- +2.19.0.rc0 + diff --git a/SOURCES/0016-Use-virConnectGetAllDomainStats-API-to-collect-domai.patch b/SOURCES/0016-Use-virConnectGetAllDomainStats-API-to-collect-domai.patch new file mode 100644 index 0000000..943eb9a --- /dev/null +++ b/SOURCES/0016-Use-virConnectGetAllDomainStats-API-to-collect-domai.patch @@ -0,0 +1,343 @@ +From c513d05fd4e85953701b1023bef71af62613cf79 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 28 Mar 2017 13:30:07 +0100 +Subject: [PATCH 16/20] Use virConnectGetAllDomainStats API to collect domain + stats (RHBZ#1422795). + +This is much faster than using the basic libvirt APIs to collect +stats for each domain individually. + +Note this will not work unless you have the latest ocaml-libvirt +package which includes this new API binding. +--- + src/collect.ml | 242 +++++++++++++++++++++++++++++++++++------------- + src/collect.mli | 1 + + src/utils.ml | 6 ++ + src/utils.mli | 3 + + 4 files changed, 190 insertions(+), 62 deletions(-) + +diff --git a/src/collect.ml b/src/collect.ml +index 448ce8c..a1e50a1 100644 +--- a/src/collect.ml ++++ b/src/collect.ml +@@ -38,6 +38,7 @@ let parse_device_xml : (int -> [>`R] D.t -> string list * string list) ref = + type rd_domain = Inactive | Active of rd_active + and rd_active = { + rd_domid : int; (* Domain ID. *) ++ rd_domuuid : Libvirt.uuid; (* Domain UUID. *) + rd_dom : [`R] D.t; (* Domain object. *) + rd_info : D.info; (* Domain CPU info now. *) + rd_block_stats : (string * D.block_stats) list; +@@ -110,6 +111,16 @@ let last_pcpu_usages = Hashtbl.create 13 + let clear_pcpu_display_data () = + Hashtbl.clear last_pcpu_usages + ++(* What to get from virConnectGetAllDomainStats. *) ++let what = [ ++ D.StatsState; D.StatsCpuTotal; D.StatsBalloon; D.StatsVcpu; ++ D.StatsInterface; D.StatsBlock ++] ++(* Which domains to get. Empty list means return all domains: ++ * active, inactive, persistent, transient etc. ++ *) ++let who = [] ++ + let collect (conn, _, _, _, _, node_info, _, _) = + (* Number of physical CPUs (some may be disabled). *) + let nr_pcpus = C.maxcpus_of_node_info node_info in +@@ -129,72 +140,179 @@ let collect (conn, _, _, _, _, node_info, _, _) = + + (* Get the domains. Match up with their last_info (if any). *) + let doms = +- (* Active domains. *) +- let n = C.num_of_domains conn in +- let ids = +- if n > 0 then Array.to_list (C.list_domains conn n) +- else [] in +- let doms = +- List.filter_map ( +- fun id -> +- try +- let dom = D.lookup_by_id conn id in +- let name = D.get_name dom in +- let blkdevs, netifs = get_devices id dom in ++ let doms = D.get_all_domain_stats conn what who in ++ let doms = Array.to_list doms in ++ List.map ( ++ fun { D.dom_uuid = uuid; D.params = params } -> ++ let nr_params = Array.length params in ++ let get_param name = ++ let rec loop i = ++ if i = nr_params then None ++ else if fst params.(i) = name then Some (snd params.(i)) ++ else loop (i+1) ++ in ++ loop 0 ++ in ++ let get_param_int name default = ++ match get_param name with ++ | None -> None ++ | Some (D.TypedFieldInt32 i) ++ | Some (D.TypedFieldUInt32 i) -> Some (Int32.to_int i) ++ | Some (D.TypedFieldInt64 i) ++ | Some (D.TypedFieldUInt64 i) -> Some (Int64.to_int i) ++ | _ -> default ++ in ++ let get_param_int64 name default = ++ match get_param name with ++ | None -> None ++ | Some (D.TypedFieldInt32 i) ++ | Some (D.TypedFieldUInt32 i) -> Some (Int64.of_int32 i) ++ | Some (D.TypedFieldInt64 i) ++ | Some (D.TypedFieldUInt64 i) -> Some i ++ | _ -> default ++ in + +- (* Get current CPU, block and network stats. *) +- let info = D.get_info dom in +- let block_stats = +- try List.map (fun dev -> dev, D.block_stats dom dev) blkdevs +- with +- | Libvirt.Not_supported "virDomainBlockStats" +- | Libvirt.Virterror _ -> [] in +- let interface_stats = +- try List.map (fun dev -> dev, D.interface_stats dom dev) netifs +- with +- | Libvirt.Not_supported "virDomainInterfaceStats" +- | Libvirt.Virterror _ -> [] in ++ let dom = D.lookup_by_uuid conn uuid in ++ let id = D.get_id dom in ++ let name = D.get_name dom in ++ let state = get_param_int "state.state" None in + +- let prev_info, prev_block_stats, prev_interface_stats = +- try +- let prev_info, prev_block_stats, prev_interface_stats = +- Hashtbl.find last_info id in +- Some prev_info, prev_block_stats, prev_interface_stats +- with Not_found -> None, [], [] in ++ if state = Some 5 (* VIR_DOMAIN_SHUTOFF *) then ++ (name, Inactive) ++ else ( ++ (* Active domain. *) + +- Some (name, +- Active { +- rd_domid = id; rd_dom = dom; rd_info = info; +- rd_block_stats = block_stats; +- rd_interface_stats = interface_stats; +- rd_prev_info = prev_info; +- rd_prev_block_stats = prev_block_stats; +- rd_prev_interface_stats = prev_interface_stats; +- rd_cpu_time = 0.; rd_percent_cpu = 0.; +- rd_mem_bytes = 0L; rd_mem_percent = 0L; +- rd_block_rd_reqs = None; rd_block_wr_reqs = None; +- rd_block_rd_bytes = None; rd_block_wr_bytes = None; +- rd_net_rx_bytes = None; rd_net_tx_bytes = None; +- }) +- with +- Libvirt.Virterror _ -> None (* ignore transient error *) +- ) ids in ++ (* Synthesize a D.info struct out of the data we have ++ * from virConnectGetAllDomainStats. Doing this is an ++ * artifact from the old APIs we used to use to fetch ++ * stats, we could simplify here, and also return the ++ * RSS memory. XXX ++ *) ++ let state = ++ match state with ++ | None | Some 0 -> D.InfoNoState ++ | Some 1 -> D.InfoRunning ++ | Some 2 -> D.InfoBlocked ++ | Some 3 -> D.InfoPaused ++ | Some 4 -> D.InfoShutdown ++ | Some 5 -> D.InfoShutoff ++ | Some 6 -> D.InfoCrashed ++ | Some 7 -> D.InfoPaused (* XXX really VIR_DOMAIN_PMSUSPENDED *) ++ | _ -> D.InfoNoState in ++ let memory = ++ match get_param_int64 "balloon.current" None with ++ | None -> 0_L ++ | Some m -> m in ++ let nr_virt_cpu = ++ match get_param_int "vcpu.current" None with ++ | None -> 1 ++ | Some v -> v in ++ let cpu_time = ++ (* NB: libvirt does not return cpu.time for non-root domains. *) ++ match get_param_int64 "cpu.time" None with ++ | None -> 0_L ++ | Some ns -> ns in ++ let info = { ++ D.state = state; ++ max_mem = -1_L; (* not used anywhere in virt-top *) ++ memory = memory; ++ nr_virt_cpu = nr_virt_cpu; ++ cpu_time = cpu_time ++ } in + +- (* Inactive domains. *) +- let doms_inactive = +- try +- let n = C.num_of_defined_domains conn in +- let names = +- if n > 0 then Array.to_list (C.list_defined_domains conn n) +- else [] in +- List.map (fun name -> name, Inactive) names +- with +- (* Ignore transient errors, in particular errors from +- * num_of_defined_domains if it cannot contact xend. +- *) +- | Libvirt.Virterror _ -> [] in ++ let nr_block_devs = ++ match get_param_int "block.count" None with ++ | None -> 0 ++ | Some i -> i in ++ let block_stats = ++ List.map ( ++ fun i -> ++ let dev = ++ match get_param (sprintf "block.%d.name" i) with ++ | None -> sprintf "blk%d" i ++ | Some (D.TypedFieldString s) -> s ++ | _ -> assert false in ++ dev, { ++ D.rd_req = ++ (match get_param_int64 (sprintf "block.%d.rd.reqs" i) None ++ with None -> 0_L | Some v -> v); ++ rd_bytes = ++ (match get_param_int64 (sprintf "block.%d.rd.bytes" i) None ++ with None -> 0_L | Some v -> v); ++ wr_req = ++ (match get_param_int64 (sprintf "block.%d.wr.reqs" i) None ++ with None -> 0_L | Some v -> v); ++ wr_bytes = ++ (match get_param_int64 (sprintf "block.%d.wr.bytes" i) None ++ with None -> 0_L | Some v -> v); ++ errs = 0_L ++ } ++ ) (range 0 (nr_block_devs-1)) in + +- doms @ doms_inactive in ++ let nr_interface_devs = ++ match get_param_int "net.count" None with ++ | None -> 0 ++ | Some i -> i in ++ let interface_stats = ++ List.map ( ++ fun i -> ++ let dev = ++ match get_param (sprintf "net.%d.name" i) with ++ | None -> sprintf "net%d" i ++ | Some (D.TypedFieldString s) -> s ++ | _ -> assert false in ++ dev, { ++ D.rx_bytes = ++ (match get_param_int64 (sprintf "net.%d.rx.bytes" i) None ++ with None -> 0_L | Some v -> v); ++ rx_packets = ++ (match get_param_int64 (sprintf "net.%d.rx.pkts" i) None ++ with None -> 0_L | Some v -> v); ++ rx_errs = ++ (match get_param_int64 (sprintf "net.%d.rx.errs" i) None ++ with None -> 0_L | Some v -> v); ++ rx_drop = ++ (match get_param_int64 (sprintf "net.%d.rx.drop" i) None ++ with None -> 0_L | Some v -> v); ++ tx_bytes = ++ (match get_param_int64 (sprintf "net.%d.tx.bytes" i) None ++ with None -> 0_L | Some v -> v); ++ tx_packets = ++ (match get_param_int64 (sprintf "net.%d.tx.pkts" i) None ++ with None -> 0_L | Some v -> v); ++ tx_errs = ++ (match get_param_int64 (sprintf "net.%d.tx.errs" i) None ++ with None -> 0_L | Some v -> v); ++ tx_drop = ++ (match get_param_int64 (sprintf "net.%d.tx.drop" i) None ++ with None -> 0_L | Some v -> v); ++ } ++ ) (range 0 (nr_interface_devs-1)) in ++ ++ let prev_info, prev_block_stats, prev_interface_stats = ++ try ++ let prev_info, prev_block_stats, prev_interface_stats = ++ Hashtbl.find last_info uuid in ++ Some prev_info, prev_block_stats, prev_interface_stats ++ with Not_found -> None, [], [] in ++ ++ (name, ++ Active { ++ rd_domid = id; rd_domuuid = uuid; rd_dom = dom; ++ rd_info = info; ++ rd_block_stats = block_stats; ++ rd_interface_stats = interface_stats; ++ rd_prev_info = prev_info; ++ rd_prev_block_stats = prev_block_stats; ++ rd_prev_interface_stats = prev_interface_stats; ++ rd_cpu_time = 0.; rd_percent_cpu = 0.; ++ rd_mem_bytes = 0L; rd_mem_percent = 0L; ++ rd_block_rd_reqs = None; rd_block_wr_reqs = None; ++ rd_block_rd_bytes = None; rd_block_wr_bytes = None; ++ rd_net_rx_bytes = None; rd_net_tx_bytes = None; ++ }) ++ ) ++ ) doms in + + (* Calculate the CPU time (ns) and %CPU used by each domain. *) + let doms = +@@ -329,7 +447,7 @@ let collect (conn, _, _, _, _, node_info, _, _) = + function + | (_, Active rd) -> + let info = rd.rd_info, rd.rd_block_stats, rd.rd_interface_stats in +- Hashtbl.add last_info rd.rd_domid info ++ Hashtbl.add last_info rd.rd_domuuid info + | _ -> () + ) doms; + +diff --git a/src/collect.mli b/src/collect.mli +index 9ad3dcb..3c5492f 100644 +--- a/src/collect.mli ++++ b/src/collect.mli +@@ -27,6 +27,7 @@ val parse_device_xml : + type rd_domain = Inactive | Active of rd_active + and rd_active = { + rd_domid : int; (* Domain ID. *) ++ rd_domuuid : Libvirt.uuid; (* Domain UUID. *) + rd_dom : [`R] Libvirt.Domain.t; (* Domain object. *) + rd_info : Libvirt.Domain.info; (* Domain CPU info now. *) + rd_block_stats : (string * Libvirt.Domain.block_stats) list; +diff --git a/src/utils.ml b/src/utils.ml +index 5fcc905..4332ff7 100644 +--- a/src/utils.ml ++++ b/src/utils.ml +@@ -32,6 +32,12 @@ let (/^) = Int64.div + (* failwithf is a printf-like version of failwith. *) + let failwithf fs = ksprintf failwith fs + ++let rec range a b = ++ if a <= b then ++ a :: range (a+1) b ++ else ++ [] ++ + (* Input a whole file as a list of lines. *) + let input_all_lines chan = + let lines = ref [] in +diff --git a/src/utils.mli b/src/utils.mli +index 6e81215..3c966f8 100644 +--- a/src/utils.mli ++++ b/src/utils.mli +@@ -25,6 +25,9 @@ val (//) : string -> string -> string + (* failwithf is a printf-like version of failwith. *) + val failwithf : ('a, unit, string, 'b) format4 -> 'a + ++(* Return the list of integers [a..b] (inclusive). *) ++val range : int -> int -> int list ++ + (* Read a configuration file as a list of (lineno, key, value) pairs. + * If the config file is missing this returns an empty list. + *) +-- +2.19.0.rc0 + diff --git a/SOURCES/0017-chmod-x-COPYING-files.patch b/SOURCES/0017-chmod-x-COPYING-files.patch new file mode 100644 index 0000000..9adf972 --- /dev/null +++ b/SOURCES/0017-chmod-x-COPYING-files.patch @@ -0,0 +1,21 @@ +From 20c078bead38fd9e413660d4d8fdc3fd4f76edf7 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 28 Mar 2017 14:36:07 +0100 +Subject: [PATCH 17/20] chmod -x COPYING* files. + +--- + COPYING | 0 + COPYING.LIB | 0 + 2 files changed, 0 insertions(+), 0 deletions(-) + mode change 100755 => 100644 COPYING + mode change 100755 => 100644 COPYING.LIB + +diff --git a/COPYING b/COPYING +old mode 100755 +new mode 100644 +diff --git a/COPYING.LIB b/COPYING.LIB +old mode 100755 +new mode 100644 +-- +2.19.0.rc0 + diff --git a/SOURCES/0018-Fixes-for-safe-string-in-OCaml-4.06.patch b/SOURCES/0018-Fixes-for-safe-string-in-OCaml-4.06.patch new file mode 100644 index 0000000..92d996e --- /dev/null +++ b/SOURCES/0018-Fixes-for-safe-string-in-OCaml-4.06.patch @@ -0,0 +1,42 @@ +From a58c90e04e5b54f8c6a67b09a93cfc33402cf398 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 18 Nov 2017 12:01:34 +0000 +Subject: [PATCH 18/20] Fixes for -safe-string in OCaml 4.06. + +--- + src/top.ml | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/src/top.ml b/src/top.ml +index e2a93d6..d4f7697 100644 +--- a/src/top.ml ++++ b/src/top.ml +@@ -296,17 +296,20 @@ let millisleep n = + *) + let get_string maxlen = + ignore (echo ()); +- let str = String.create maxlen in +- let ok = getstr str in (* Safe because binding calls getnstr. *) ++ let str = Bytes.create maxlen in ++ (* Safe because binding calls getnstr. However the unsafe cast ++ * to string is required because ocaml-curses needs to be fixed. ++ *) ++ let ok = getstr (Obj.magic str) in + ignore (noecho ()); + if not ok then "" + else ( + (* Chop at first '\0'. *) + try +- let i = String.index str '\000' in +- String.sub str 0 i ++ let i = Bytes.index str '\000' in ++ Bytes.sub_string str 0 i + with +- Not_found -> str (* it is full maxlen bytes *) ++ Not_found -> Bytes.to_string str (* it is full maxlen bytes *) + ) + + (* Main loop. *) +-- +2.19.0.rc0 + diff --git a/SOURCES/0019-Link-with-fPIC-runtime.patch b/SOURCES/0019-Link-with-fPIC-runtime.patch new file mode 100644 index 0000000..5f207ca --- /dev/null +++ b/SOURCES/0019-Link-with-fPIC-runtime.patch @@ -0,0 +1,32 @@ +From 18a751d8c26548bb090ff05e30ccda3092e3373b Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 18 Nov 2017 12:01:49 +0000 +Subject: [PATCH 19/20] Link with -fPIC runtime. + +--- + src/Makefile.in | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile.in b/src/Makefile.in +index 6a13bef..03c6362 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -84,11 +84,14 @@ all: $(BYTE_TARGETS) + opt: $(OPT_TARGETS) + + virt-top: $(OBJS) +- ocamlfind ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) -o $@ $^ ++ ocamlfind ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \ ++ -runtime-variant _pic \ ++ -o $@ $^ + + virt-top.opt: $(XOBJS) + ocamlfind ocamlopt \ + $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \ ++ -runtime-variant _pic \ + -o $@ $^ + + # Manual page. +-- +2.19.0.rc0 + diff --git a/SOURCES/0020-build-Pass-through-CFLAGS-and-LDFLAGS-to-ocaml-compi.patch b/SOURCES/0020-build-Pass-through-CFLAGS-and-LDFLAGS-to-ocaml-compi.patch new file mode 100644 index 0000000..e6b42bd --- /dev/null +++ b/SOURCES/0020-build-Pass-through-CFLAGS-and-LDFLAGS-to-ocaml-compi.patch @@ -0,0 +1,58 @@ +From 15f0601f39b2aa477e6f1f2558575f98b873a193 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 20 Sep 2018 13:47:34 +0100 +Subject: [PATCH 20/20] build: Pass through CFLAGS and LDFLAGS to ocaml + compiler (RHBZ#1630636). + +--- + configure.ac | 4 ++++ + src/Makefile.in | 6 ++---- + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c9c7e34..a8e757c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,6 +76,10 @@ AC_CHECK_PROG(OCAML_GETTEXT,ocaml-gettext,ocaml-gettext) + dnl Check for msgfmt tool. + AC_CHECK_PROG(MSGFMT,msgfmt,msgfmt) + ++dnl Substitute CFLAGS and LDFLAGS if set. ++AC_SUBST([CFLAGS]) ++AC_SUBST([LDFLAGS]) ++ + dnl Write gettext modules for the programs. + dnl http://www.le-gall.net/sylvain+violaine/documentation/ocaml-gettext/html/reference-manual/ch03s04.html + AC_MSG_NOTICE([creating src/opt_gettext.ml]) +diff --git a/src/Makefile.in b/src/Makefile.in +index 03c6362..ba4eb1d 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -64,8 +64,8 @@ OBJS += main.cmo + + XOBJS := $(OBJS:.cmo=.cmx) + +-OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 +-OCAMLCLIBS := -linkpkg ++OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 -ccopt '@CFLAGS@' ++OCAMLCLIBS := -linkpkg -runtime-variant _pic -cclib '@LDFLAGS@' + + OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) + OCAMLOPTFLAGS := $(OCAMLCFLAGS) +@@ -85,13 +85,11 @@ opt: $(OPT_TARGETS) + + virt-top: $(OBJS) + ocamlfind ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \ +- -runtime-variant _pic \ + -o $@ $^ + + virt-top.opt: $(XOBJS) + ocamlfind ocamlopt \ + $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \ +- -runtime-variant _pic \ + -o $@ $^ + + # Manual page. +-- +2.19.0.rc0 + diff --git a/SOURCES/processcsv.py b/SOURCES/processcsv.py new file mode 100755 index 0000000..4812263 --- /dev/null +++ b/SOURCES/processcsv.py @@ -0,0 +1,65 @@ +#!/usr/bin/python3 +# +# https://bugzilla.redhat.com/show_bug.cgi?id=665817 +# +# Usage: +# +# virt-top --csv data.csv +# processcsv.py < data.csv +# +# Note this OVERWRITES the following files in the current directory: +# +# global.csv # all the global data +# domain.csv # data for domain ID (multiple files) + +import sys +import csv + +rows = csv.reader (sys.stdin) + +# Get the header row. +header = next(rows) + +# Find the index of the 'Hostname' and 'Time' cols (usually first two). +hostname_i = header.index ("Hostname") +time_i = header.index ("Time") + +# Find the index of the 'Domain ID' column (i) and the number of +# columns per domain (w). +i = header.index ("Domain ID") +w = len (header) - i + +dom_header = header[i:i+w] +dom_header.insert (0, "Hostname") +dom_header.insert (1, "Time") + +gfile = open ("global.csv", "w") +gfile_writer = csv.writer (gfile) +gfile_writer.writerow (header[0:i]) + +dfiles = dict() + +# Process all the remaining data rows. +for data in rows: + # Global data is columns 0..i-1 + gfile_writer.writerow (data[0:i]) + + hostname = data[hostname_i] + time = data[time_i] + + # For each domain ... + for j in range(i,len(data),w): + dom = data[j:j+w] + domid = dom[0] + + if domid in dfiles: + dfile_writer = dfiles[domid] + else: + dfile = open ("domain%s.csv" % domid, "w") + dfile_writer = csv.writer (dfile) + dfile_writer.writerow (dom_header) + dfiles[domid] = dfile_writer + + dom.insert (0, hostname) + dom.insert (1, time) + dfile_writer.writerow (dom) diff --git a/SOURCES/virt-top-1.0.4-processcsv-documentation.patch b/SOURCES/virt-top-1.0.4-processcsv-documentation.patch new file mode 100644 index 0000000..010e880 --- /dev/null +++ b/SOURCES/virt-top-1.0.4-processcsv-documentation.patch @@ -0,0 +1,25 @@ +--- virt-top-1.0.4.old/virt-top/virt-top.pod 2011-08-11 14:30:30.560493914 +0100 ++++ virt-top-1.0.4/virt-top/virt-top.pod 2011-08-11 14:34:00.934495607 +0100 +@@ -123,6 +123,22 @@ + + virt-top --csv >(split -d -l 1000 - output.csv.) + ++RHEL provides a short Python script called C which ++can be used to post-process the CSV output. Run it like this: ++ ++ virt-top --csv data.csv ++ processcsv.py < data.csv ++ ++This creates or I the following files in the current ++directory: ++ ++ global.csv ++ domain.csv ++ ++C will contain the global data. One ++CNNNE.csv> file will also be created for each domain ++with ID C, containing the per-domain data. ++ + =item B<--no-csv-cpu> + + Disable domain CPU stats in CSV output. diff --git a/SOURCES/virt-top-aarch64.patch b/SOURCES/virt-top-aarch64.patch new file mode 100644 index 0000000..0829ccf --- /dev/null +++ b/SOURCES/virt-top-aarch64.patch @@ -0,0 +1,1679 @@ +diff -urN virt-top-1.0.8/config.guess virt-top-1.0.8-aarch64/config.guess +--- virt-top-1.0.8/config.guess 2010-10-30 07:14:16.000000000 -0500 ++++ virt-top-1.0.8-aarch64/config.guess 2013-03-08 09:26:43.180421787 -0600 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Attempt to guess a canonical system name. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +-# Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2006-07-02' ++timestamp='2012-09-25' + + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +@@ -17,9 +17,7 @@ + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -27,16 +25,16 @@ + # the same distribution terms that you use for the rest of that program. + + +-# Originally written by Per Bothner . +-# Please send patches to . Submit a context +-# diff and a properly formatted ChangeLog entry. ++# Originally written by Per Bothner. Please send patches (context ++# diff format) to and include a ChangeLog ++# entry. + # + # This script attempts to guess a canonical system name similar to + # config.sub. If it succeeds, it prints the system name on stdout, and + # exits with 0. Otherwise, it exits with 1. + # +-# The plan is that this can be called by configure scripts if you +-# don't specify an explicit build system type. ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + + me=`echo "$0" | sed -e 's,.*/,,'` + +@@ -56,7 +54,8 @@ + GNU config.guess ($timestamp) + + Originally written by Per Bothner. +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO +@@ -144,7 +143,7 @@ + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or +- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward +@@ -161,6 +160,7 @@ + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; ++ sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched +@@ -169,7 +169,7 @@ + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ +- | grep __ELF__ >/dev/null ++ | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? +@@ -179,7 +179,7 @@ + fi + ;; + *) +- os=netbsd ++ os=netbsd + ;; + esac + # The OS release +@@ -200,6 +200,10 @@ + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +@@ -222,7 +226,7 @@ + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) +- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on +@@ -268,7 +272,10 @@ + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- exit ;; ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ exitcode=$? ++ trap '' 0 ++ exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead +@@ -294,12 +301,12 @@ + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) +- echo powerpc-ibm-os400 ++ echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; +- arm:riscos:*:*|arm:RISCOS:*:*) ++ arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +@@ -323,14 +330,33 @@ + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; ++ s390x:SunOS:*:*) ++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; +- i86pc:SunOS:5.*:*) +- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) ++ echo i386-pc-auroraux${UNAME_RELEASE} ++ exit ;; ++ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) ++ eval $set_cc_for_build ++ SUN_ARCH="i386" ++ # If there is a compiler, see if it is configured for 64-bit objects. ++ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. ++ # This test works for both compilers. ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ SUN_ARCH="x86_64" ++ fi ++ fi ++ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize +@@ -374,23 +400,23 @@ + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) +- echo m68k-milan-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) +- echo m68k-hades-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) +- echo m68k-unknown-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; +@@ -460,8 +486,8 @@ + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) +- # DG/UX returns AViiON for all architectures +- UNAME_PROCESSOR=`/usr/bin/uname -p` ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +@@ -474,7 +500,7 @@ + else + echo i586-dg-dgux${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; +@@ -531,7 +557,7 @@ + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[45]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -574,52 +600,52 @@ + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` +- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` +- case "${sc_cpu_version}" in +- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 +- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 +- 532) # CPU_PA_RISC2_0 +- case "${sc_kernel_bits}" in +- 32) HP_ARCH="hppa2.0n" ;; +- 64) HP_ARCH="hppa2.0w" ;; ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 +- esac ;; +- esac ++ esac ;; ++ esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ sed 's/^ //' << EOF >$dummy.c + +- #define _HPUX_SOURCE +- #include +- #include +- +- int main () +- { +- #if defined(_SC_KERNEL_BITS) +- long bits = sysconf(_SC_KERNEL_BITS); +- #endif +- long cpu = sysconf (_SC_CPU_VERSION); +- +- switch (cpu) +- { +- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; +- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; +- case CPU_PA_RISC2_0: +- #if defined(_SC_KERNEL_BITS) +- switch (bits) +- { +- case 64: puts ("hppa2.0w"); break; +- case 32: puts ("hppa2.0n"); break; +- default: puts ("hppa2.0"); break; +- } break; +- #else /* !defined(_SC_KERNEL_BITS) */ +- puts ("hppa2.0"); break; +- #endif +- default: puts ("hppa1.0"); break; +- } +- exit (0); +- } ++ #define _HPUX_SOURCE ++ #include ++ #include ++ ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); ++ ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } + EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa +@@ -639,7 +665,7 @@ + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | +- grep __LP64__ >/dev/null ++ grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else +@@ -710,22 +736,22 @@ + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd +- exit ;; ++ exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi +- exit ;; ++ exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd +- exit ;; ++ exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd +- exit ;; ++ exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd +- exit ;; ++ exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; +@@ -749,14 +775,14 @@ + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit ;; + 5000:UNIX_System_V:4.*:*) +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` +- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` ++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +@@ -768,37 +794,51 @@ + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) +- case ${UNAME_MACHINE} in +- pc98) +- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) +- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; +- i*:MINGW*:*) ++ *:MINGW64*:*) ++ echo ${UNAME_MACHINE}-pc-mingw64 ++ exit ;; ++ *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + i*:windows32*:*) +- # uname -m includes "-pc" on this system. +- echo ${UNAME_MACHINE}-mingw32 ++ # uname -m includes "-pc" on this system. ++ echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; +- x86:Interix*:[3456]*) +- echo i586-pc-interix${UNAME_RELEASE} +- exit ;; +- EM64T:Interix*:[3456]*) +- echo x86_64-unknown-interix${UNAME_RELEASE} +- exit ;; ++ *:Interix*:*) ++ case ${UNAME_MACHINE} in ++ x86) ++ echo i586-pc-interix${UNAME_RELEASE} ++ exit ;; ++ authenticamd | genuineintel | EM64T) ++ echo x86_64-unknown-interix${UNAME_RELEASE} ++ exit ;; ++ IA64) ++ echo ia64-unknown-interix${UNAME_RELEASE} ++ exit ;; ++ esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; ++ 8664:Windows_NT:*) ++ echo x86_64-pc-mks ++ exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we +@@ -828,20 +868,68 @@ + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; +- arm*:Linux:*:*) ++ aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ alpha:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ EV5) UNAME_MACHINE=alphaev5 ;; ++ EV56) UNAME_MACHINE=alphaev56 ;; ++ PCA56) UNAME_MACHINE=alphapca56 ;; ++ PCA57) UNAME_MACHINE=alphapca56 ;; ++ EV6) UNAME_MACHINE=alphaev6 ;; ++ EV67) UNAME_MACHINE=alphaev67 ;; ++ EV68*) UNAME_MACHINE=alphaev68 ;; ++ esac ++ objdump --private-headers /bin/sh | grep -q ld.so.1 ++ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi ++ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ exit ;; ++ arm*:Linux:*:*) ++ eval $set_cc_for_build ++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_EABI__ ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ else ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabi ++ else ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf ++ fi ++ fi ++ exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) +- echo cris-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) +- echo crisv32-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) +- echo frv-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ hexagon:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ i*86:Linux:*:*) ++ LIBC=gnu ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #ifdef __dietlibc__ ++ LIBC=dietlibc ++ #endif ++EOF ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu +@@ -852,74 +940,33 @@ + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; +- mips:Linux:*:*) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c +- #undef CPU +- #undef mips +- #undef mipsel +- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=mipsel +- #else +- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=mips +- #else +- CPU= +- #endif +- #endif +-EOF +- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' +- /^CPU/{ +- s: ::g +- p +- }'`" +- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } +- ;; +- mips64:Linux:*:*) ++ mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU +- #undef mips64 +- #undef mips64el ++ #undef ${UNAME_MACHINE} ++ #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=mips64el ++ CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=mips64 ++ CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif + EOF +- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' +- /^CPU/{ +- s: ::g +- p +- }'`" ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) +- echo or32-unknown-linux-gnu +- exit ;; +- ppc:Linux:*:*) +- echo powerpc-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; +- ppc64:Linux:*:*) +- echo powerpc64-unknown-linux-gnu ++ padre:Linux:*:*) ++ echo sparc-unknown-linux-gnu + exit ;; +- alpha:Linux:*:*) +- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in +- EV5) UNAME_MACHINE=alphaev5 ;; +- EV56) UNAME_MACHINE=alphaev56 ;; +- PCA56) UNAME_MACHINE=alphapca56 ;; +- PCA57) UNAME_MACHINE=alphapca56 ;; +- EV6) UNAME_MACHINE=alphaev6 ;; +- EV67) UNAME_MACHINE=alphaev67 ;; +- EV68*) UNAME_MACHINE=alphaev68 ;; +- esac +- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null +- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi +- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ parisc64:Linux:*:* | hppa64:Linux:*:*) ++ echo hppa64-unknown-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level +@@ -929,14 +976,17 @@ + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; +- parisc64:Linux:*:* | hppa64:Linux:*:*) +- echo hppa64-unknown-linux-gnu ++ ppc64:Linux:*:*) ++ echo powerpc64-unknown-linux-gnu ++ exit ;; ++ ppc:Linux:*:*) ++ echo powerpc-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu +@@ -944,75 +994,18 @@ + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; ++ tile*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) +- echo x86_64-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ xtensa*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; +- i*86:Linux:*:*) +- # The BFD linker knows what the default object file format is, so +- # first see if it will tell us. cd to the root directory to prevent +- # problems with other programs or directories called `ld' in the path. +- # Set LC_ALL=C to ensure ld outputs messages in English. +- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ +- | sed -ne '/supported targets:/!d +- s/[ ][ ]*/ /g +- s/.*supported targets: *// +- s/ .*// +- p'` +- case "$ld_supported_targets" in +- elf32-i386) +- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" +- ;; +- a.out-i386-linux) +- echo "${UNAME_MACHINE}-pc-linux-gnuaout" +- exit ;; +- coff-i386) +- echo "${UNAME_MACHINE}-pc-linux-gnucoff" +- exit ;; +- "") +- # Either a pre-BFD a.out linker (linux-gnuoldld) or +- # one that does not give us useful --help. +- echo "${UNAME_MACHINE}-pc-linux-gnuoldld" +- exit ;; +- esac +- # Determine whether the default compiler is a.out or elf +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c +- #include +- #ifdef __ELF__ +- # ifdef __GLIBC__ +- # if __GLIBC__ >= 2 +- LIBC=gnu +- # else +- LIBC=gnulibc1 +- # endif +- # else +- LIBC=gnulibc1 +- # endif +- #else +- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) +- LIBC=gnu +- #else +- LIBC=gnuaout +- #endif +- #endif +- #ifdef __dietlibc__ +- LIBC=dietlibc +- #endif +-EOF +- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' +- /^LIBC/{ +- s: ::g +- p +- }'`" +- test x"${LIBC}" != x && { +- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" +- exit +- } +- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } +- ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both +@@ -1020,11 +1013,11 @@ + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) +- # Unixware is an offshoot of SVR4, but it has its own version +- # number series starting with 2... +- # I am not positive that other SVR4 systems won't match this, ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. +- # Use sysv4.2uw... so that sysv4* matches it. ++ # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) +@@ -1041,7 +1034,7 @@ + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; +- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) ++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) +@@ -1056,7 +1049,7 @@ + fi + exit ;; + i*86:*:5:[678]*) +- # UnixWare 7.x, OpenUNIX and OpenServer 6. ++ # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; +@@ -1084,10 +1077,13 @@ + exit ;; + pc:*:*:*) + # Left here for compatibility: +- # uname -m prints for DJGPP always 'pc', but it prints nothing about +- # the processor, so we play safe by assuming i386. +- echo i386-pc-msdosdjgpp +- exit ;; ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i586. ++ # Note: whatever this is, it MUST be the same as what config.sub ++ # prints for the "djgpp" host, or else GDB configury will decide that ++ # this is a cross-build. ++ echo i586-pc-msdosdjgpp ++ exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; +@@ -1122,8 +1118,18 @@ + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4; exit; } ;; ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4; exit; } ;; ++ NCR*:*:4.2:* | MPRAS*:*:4.2:*) ++ OS_REL='.3' ++ test -r /etc/.relid \ ++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; +@@ -1136,7 +1142,7 @@ + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; +- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) ++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) +@@ -1156,10 +1162,10 @@ + echo ns32k-sni-sysv + fi + exit ;; +- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort +- # says +- echo i586-unisys-sysv4 +- exit ;; ++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm +@@ -1185,11 +1191,11 @@ + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then +- echo mips-nec-sysv${UNAME_RELEASE} ++ echo mips-nec-sysv${UNAME_RELEASE} + else +- echo mips-unknown-sysv${UNAME_RELEASE} ++ echo mips-unknown-sysv${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; +@@ -1199,6 +1205,12 @@ + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; ++ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. ++ echo i586-pc-haiku ++ exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; +@@ -1208,6 +1220,15 @@ + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; ++ SX-7:SUPER-UX:*:*) ++ echo sx7-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-8:SUPER-UX:*:*) ++ echo sx8-nec-superux${UNAME_RELEASE} ++ exit ;; ++ SX-8R:SUPER-UX:*:*) ++ echo sx8r-nec-superux${UNAME_RELEASE} ++ exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; +@@ -1217,6 +1238,16 @@ + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in ++ i386) ++ eval $set_cc_for_build ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ UNAME_PROCESSOR="x86_64" ++ fi ++ fi ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} +@@ -1232,7 +1263,10 @@ + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; +- NSE-?:NONSTOP_KERNEL:*:*) ++ NEO-?:NONSTOP_KERNEL:*:*) ++ echo neo-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) +@@ -1277,13 +1311,13 @@ + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) +- echo mips-sei-seiux${UNAME_RELEASE} ++ echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) +- UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; +@@ -1298,11 +1332,14 @@ + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; ++ i*86:AROS:*:*) ++ echo ${UNAME_MACHINE}-pc-aros ++ exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; + esac + +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- + eval $set_cc_for_build + cat >$dummy.c < + printf ("m68k-sony-newsos%s\n", + #ifdef NEWSOS4 +- "4" ++ "4" + #else +- "" ++ "" + #endif +- ); exit (0); ++ ); exit (0); + #endif + #endif + +@@ -1458,9 +1495,9 @@ + the operating system you are using. It is advised that you + download the most up to date version of the config scripts from + +- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess ++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + and +- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub ++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + + If the version you run ($0) is already up to date, please + send the following data and any information you think might be +diff -urN virt-top-1.0.8/config.sub virt-top-1.0.8-aarch64/config.sub +--- virt-top-1.0.8/config.sub 2010-10-30 07:14:16.000000000 -0500 ++++ virt-top-1.0.8-aarch64/config.sub 2013-03-08 09:26:43.217417530 -0600 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Configuration validation subroutine script. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +-# Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2006-09-20' ++timestamp='2012-10-10' + + # This file is (in principle) common to ALL GNU software. + # The presence of a machine in this file suggests that SOME GNU software +@@ -21,9 +21,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -32,13 +30,16 @@ + + + # Please send patches to . Submit a context +-# diff and a properly formatted ChangeLog entry. ++# diff and a properly formatted GNU ChangeLog entry. + # + # Configuration subroutine to validate and canonicalize a configuration type. + # Supply the specified configuration type as an argument. + # If it is invalid, we print an error message on stderr and exit with code 1. + # Otherwise, we print the canonical config type on stdout and succeed. + ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD ++ + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases + # that are meaningful with *any* GNU software. +@@ -72,7 +73,8 @@ + version="\ + GNU config.sub ($timestamp) + +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO +@@ -120,12 +122,18 @@ + # Here we must recognize all the valid KERNEL-OS combinations. + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` + case $maybe_os in +- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ +- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ ++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ ++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ ++ knetbsd*-gnu* | netbsd*-gnu* | \ ++ kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; ++ android-linux) ++ os=-linux-android ++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ++ ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] +@@ -148,10 +156,13 @@ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ +- -apple | -axis | -knuth | -cray) ++ -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; ++ -bluegene*) ++ os=-cnk ++ ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 +@@ -166,10 +177,10 @@ + os=-chorusos + basic_machine=$1 + ;; +- -chorusrdb) +- os=-chorusrdb ++ -chorusrdb) ++ os=-chorusrdb + basic_machine=$1 +- ;; ++ ;; + -hiux*) + os=-hiuxwe2 + ;; +@@ -214,6 +225,12 @@ + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; ++ -lynx*178) ++ os=-lynxos178 ++ ;; ++ -lynx*5) ++ os=-lynxos5 ++ ;; + -lynx*) + os=-lynxos + ;; +@@ -238,24 +255,32 @@ + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ ++ | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ ++ | be32 | be64 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ +- | fr30 | frv \ ++ | epiphany \ ++ | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ ++ | le32 | le64 \ ++ | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | mcore \ ++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ +- | mips64vr | mips64vrel \ ++ | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ ++ | mips64r5900 | mips64r5900el \ ++ | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ +@@ -268,29 +293,42 @@ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ ++ | moxie \ + | mt \ + | msp430 \ ++ | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ ++ | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ ++ | rl78 | rx \ + | score \ +- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ ++ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ +- | spu | strongarm \ +- | tahoe | thumb | tic4x | tic80 | tron \ +- | v850 | v850e \ ++ | spu \ ++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ ++ | ubicom32 \ ++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ +- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ +- | z8k) ++ | x86 | xc16x | xstormy16 | xtensa \ ++ | z8k | z80) + basic_machine=$basic_machine-unknown + ;; +- m6811 | m68hc11 | m6812 | m68hc12) +- # Motorola 68HC11/12. ++ c54x) ++ basic_machine=tic54x-unknown ++ ;; ++ c55x) ++ basic_machine=tic55x-unknown ++ ;; ++ c6x) ++ basic_machine=tic6x-unknown ++ ;; ++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; +@@ -300,6 +338,21 @@ + basic_machine=mt-unknown + ;; + ++ strongarm | thumb | xscale) ++ basic_machine=arm-unknown ++ ;; ++ xgate) ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; ++ xscaleeb) ++ basic_machine=armeb-unknown ++ ;; ++ ++ xscaleel) ++ basic_machine=armel-unknown ++ ;; ++ + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. +@@ -314,29 +367,37 @@ + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ ++ | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ ++ | be32-* | be64-* \ + | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ ++ | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ +- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ ++ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ ++ | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ ++ | le32-* | le64-* \ ++ | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* \ ++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ ++ | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ +- | mips64vr-* | mips64vrel-* \ ++ | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ ++ | mips64r5900-* | mips64r5900el-* \ ++ | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ +@@ -351,27 +412,36 @@ + | mmix-* \ + | mt-* \ + | msp430-* \ ++ | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ ++ | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ ++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ +- | romp-* | rs6000-* \ +- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ ++ | rl78-* | romp-* | rs6000-* | rx-* \ ++ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ +- | tahoe-* | thumb-* \ ++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ ++ | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ ++ | tile*-* \ + | tron-* \ +- | v850-* | v850e-* | vax-* \ ++ | ubicom32-* \ ++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ ++ | vax-* \ + | we32k-* \ +- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ +- | xstormy16-* | xtensa-* \ ++ | x86-* | x86_64-* | xc16x-* | xps100-* \ ++ | xstormy16-* | xtensa*-* \ + | ymp-* \ +- | z8k-*) ++ | z8k-* | z80-*) ++ ;; ++ # Recognize the basic CPU types without company name, with glob match. ++ xtensa*) ++ basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. +@@ -389,7 +459,7 @@ + basic_machine=a29k-amd + os=-udi + ;; +- abacus) ++ abacus) + basic_machine=abacus-unknown + ;; + adobe68k) +@@ -435,6 +505,10 @@ + basic_machine=m68k-apollo + os=-bsd + ;; ++ aros) ++ basic_machine=i386-pc ++ os=-aros ++ ;; + aux) + basic_machine=m68k-apple + os=-aux +@@ -443,10 +517,35 @@ + basic_machine=ns32k-sequent + os=-dynix + ;; ++ blackfin) ++ basic_machine=bfin-unknown ++ os=-linux ++ ;; ++ blackfin-*) ++ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` ++ os=-linux ++ ;; ++ bluegene*) ++ basic_machine=powerpc-ibm ++ os=-cnk ++ ;; ++ c54x-*) ++ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c55x-*) ++ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c6x-*) ++ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; ++ cegcc) ++ basic_machine=arm-unknown ++ os=-cegcc ++ ;; + convex-c1) + basic_machine=c1-convex + os=-bsd +@@ -475,8 +574,8 @@ + basic_machine=craynv-cray + os=-unicosmp + ;; +- cr16c) +- basic_machine=cr16c-unknown ++ cr16 | cr16-*) ++ basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) +@@ -514,6 +613,10 @@ + basic_machine=m88k-motorola + os=-sysv3 + ;; ++ dicos) ++ basic_machine=i686-pc ++ os=-dicos ++ ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp +@@ -629,7 +732,6 @@ + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +-# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 +@@ -668,6 +770,14 @@ + basic_machine=m68k-isi + os=-sysv + ;; ++ m68knommu) ++ basic_machine=m68k-unknown ++ os=-linux ++ ;; ++ m68knommu-*) ++ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` ++ os=-linux ++ ;; + m88k-omron*) + basic_machine=m88k-omron + ;; +@@ -679,10 +789,21 @@ + basic_machine=ns32k-utek + os=-sysv + ;; ++ microblaze*) ++ basic_machine=microblaze-xilinx ++ ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ os=-mingw64 ++ ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; ++ mingw32ce) ++ basic_machine=arm-unknown ++ os=-mingw32ce ++ ;; + miniframe) + basic_machine=m68000-convergent + ;; +@@ -711,10 +832,18 @@ + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; ++ msys) ++ basic_machine=i386-pc ++ os=-msys ++ ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; ++ nacl) ++ basic_machine=le32-unknown ++ os=-nacl ++ ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 +@@ -779,6 +908,12 @@ + np1) + basic_machine=np1-gould + ;; ++ neo-tandem) ++ basic_machine=neo-tandem ++ ;; ++ nse-tandem) ++ basic_machine=nse-tandem ++ ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; +@@ -809,6 +944,14 @@ + basic_machine=i860-intel + os=-osf + ;; ++ parisc) ++ basic_machine=hppa-unknown ++ os=-linux ++ ;; ++ parisc-*) ++ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` ++ os=-linux ++ ;; + pbd) + basic_machine=sparc-tti + ;; +@@ -853,9 +996,10 @@ + ;; + power) basic_machine=power-ibm + ;; +- ppc) basic_machine=powerpc-unknown ++ ppc | ppcbe) basic_machine=powerpc-unknown + ;; +- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ppc-* | ppcbe-*) ++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown +@@ -925,6 +1069,9 @@ + basic_machine=sh-hitachi + os=-hms + ;; ++ sh5el) ++ basic_machine=sh5le-unknown ++ ;; + sh64) + basic_machine=sh64-unknown + ;; +@@ -946,6 +1093,9 @@ + basic_machine=i860-stratus + os=-sysv4 + ;; ++ strongarm-* | thumb-*) ++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + sun2) + basic_machine=m68000-sun + ;; +@@ -1002,17 +1152,9 @@ + basic_machine=t90-cray + os=-unicos + ;; +- tic54x | c54x*) +- basic_machine=tic54x-unknown +- os=-coff +- ;; +- tic55x | c55x*) +- basic_machine=tic55x-unknown +- os=-coff +- ;; +- tic6x | c6x*) +- basic_machine=tic6x-unknown +- os=-coff ++ tile*) ++ basic_machine=$basic_machine-unknown ++ os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown +@@ -1081,6 +1223,9 @@ + xps | xps100) + basic_machine=xps100-honeywell + ;; ++ xscale-* | xscalee[bl]-*) ++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ++ ;; + ymp) + basic_machine=ymp-cray + os=-unicos +@@ -1089,6 +1234,10 @@ + basic_machine=z8k-unknown + os=-sim + ;; ++ z80-*-coff) ++ basic_machine=z80-unknown ++ os=-sim ++ ;; + none) + basic_machine=none-none + os=-none +@@ -1127,7 +1276,7 @@ + we32k) + basic_machine=we32k-att + ;; +- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) ++ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) +@@ -1174,9 +1323,12 @@ + if [ x"$os" != x"" ] + then + case $os in +- # First match some system type aliases +- # that might get confused with valid system types. ++ # First match some system type aliases ++ # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. ++ -auroraux) ++ os=-auroraux ++ ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; +@@ -1197,21 +1349,23 @@ + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ +- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ +- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ ++ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ ++ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ ++ | -sym* | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ +- | -aos* \ ++ | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ +- | -openbsd* | -solidbsd* \ ++ | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ +- | -chorusos* | -chorusrdb* \ +- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ ++ | -chorusos* | -chorusrdb* | -cegcc* \ ++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ ++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ +@@ -1219,7 +1373,7 @@ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ +- | -skyos* | -haiku* | -rdos* | -toppers*) ++ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) +@@ -1258,7 +1412,7 @@ + -opened*) + os=-openedition + ;; +- -os400*) ++ -os400*) + os=-os400 + ;; + -wince*) +@@ -1307,7 +1461,7 @@ + -sinix*) + os=-sysv4 + ;; +- -tpf*) ++ -tpf*) + os=-tpf + ;; + -triton*) +@@ -1349,6 +1503,11 @@ + -zvmoe) + os=-zvmoe + ;; ++ -dicos*) ++ os=-dicos ++ ;; ++ -nacl*) ++ ;; + -none) + ;; + *) +@@ -1371,10 +1530,10 @@ + # system, and we'll never get to this point. + + case $basic_machine in +- score-*) ++ score-*) + os=-elf + ;; +- spu-*) ++ spu-*) + os=-elf + ;; + *-acorn) +@@ -1386,8 +1545,20 @@ + arm*-semi) + os=-aout + ;; +- c4x-* | tic4x-*) +- os=-coff ++ c4x-* | tic4x-*) ++ os=-coff ++ ;; ++ hexagon-*) ++ os=-elf ++ ;; ++ tic54x-*) ++ os=-coff ++ ;; ++ tic55x-*) ++ os=-coff ++ ;; ++ tic6x-*) ++ os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) +@@ -1407,13 +1578,13 @@ + ;; + m68000-sun) + os=-sunos3 +- # This also exists in the configure program, but was not the +- # default. +- # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; ++ mep-*) ++ os=-elf ++ ;; + mips*-cisco) + os=-elf + ;; +@@ -1438,7 +1609,7 @@ + *-ibm) + os=-aix + ;; +- *-knuth) ++ *-knuth) + os=-mmixware + ;; + *-wec) +@@ -1543,7 +1714,7 @@ + -sunos*) + vendor=sun + ;; +- -aix*) ++ -cnk*|-aix*) + vendor=ibm + ;; + -beos*) diff --git a/SPECS/virt-top.spec b/SPECS/virt-top.spec new file mode 100644 index 0000000..ed9082a --- /dev/null +++ b/SPECS/virt-top.spec @@ -0,0 +1,423 @@ +%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%global debug_package %{nil} + +Name: virt-top +Version: 1.0.8 +Release: 32%{?dist} +Summary: Utility like top(1) for displaying virtualization stats +License: GPLv2+ + +URL: http://people.redhat.com/~rjones/virt-top/ +Source0: http://people.redhat.com/~rjones/virt-top/files/%{name}-%{version}.tar.gz + +# Post-process output of CSV file (RHBZ#665817, RHBZ#912020). +Source1: processcsv.py +Source2: processcsv.py.pod + +Patch0: virt-top-1.0.4-processcsv-documentation.patch + +# All upstream patches since 1.0.8. +Patch0001: 0001-Disable-warning-about-immutable-strings-for-OCaml-4..patch +Patch0002: 0002-Move-upstream-translations-from-Tranifex-to-Zanata.patch +Patch0003: 0003-Update-translations-from-Zanata.patch +Patch0004: 0004-build-Add-g-flag-to-ocamlopt.patch +Patch0005: 0005-Rename-source-directory-and-files.patch +Patch0006: 0006-Enable-same-warnings-as-libguestfs.patch +Patch0007: 0007-Remove-x-executable-permission-on-several-source-fil.patch +Patch0008: 0008-Refresh-HACKING-file.patch +Patch0009: 0009-Fix-po-POTFILES-for-new-location-of-source-files.patch +Patch0010: 0010-Update-PO-files.patch +Patch0011: 0011-Remove-support-for-OCaml-Calendar-v1.patch +Patch0012: 0012-src-Fix-some-comments-which-referred-to-the-old-file.patch +Patch0013: 0013-Split-up-huge-Top-module-into-smaller-modules.patch +Patch0014: 0014-Move-block_in_bytes-entirely-to-the-presentation-lay.patch +Patch0015: 0015-Remove-unused-variable-is_calendar2.patch +Patch0016: 0016-Use-virConnectGetAllDomainStats-API-to-collect-domai.patch +Patch0017: 0017-chmod-x-COPYING-files.patch +Patch0018: 0018-Fixes-for-safe-string-in-OCaml-4.06.patch +Patch0019: 0019-Link-with-fPIC-runtime.patch +Patch0020: 0020-build-Pass-through-CFLAGS-and-LDFLAGS-to-ocaml-compi.patch + +# Update configure for aarch64 (bz #926701) +Patch9999: virt-top-aarch64.patch + +# The patches touch configure.ac: +BuildRequires: autoconf + +BuildRequires: ocaml >= 3.10.2 +BuildRequires: ocaml-ocamldoc +BuildRequires: ocaml-findlib-devel +# Need the ncurses / ncursesw (--enable-widec) fix. +BuildRequires: ocaml-curses-devel >= 1.0.3-7 +BuildRequires: ocaml-extlib-devel +BuildRequires: ocaml-xml-light-devel +BuildRequires: ocaml-csv-devel +BuildRequires: ocaml-calendar-devel +# Need support for virDomainGetCPUStats (fixed in 0.6.1.2) +# and virConnectGetAllDomainStats (post-0.6.1.4). +BuildRequires: ocaml-libvirt-devel >= 0.6.1.4-15 + +# Tortuous list of BRs for gettext. +BuildRequires: ocaml-gettext-devel >= 0.3.3 +BuildRequires: ocaml-fileutils-devel +# For msgfmt: +BuildRequires: gettext + +# Non-OCaml BRs. +BuildRequires: libvirt-devel +BuildRequires: perl-interpreter +BuildRequires: perl(Pod::Perldoc) +BuildRequires: gawk + + +%description +virt-top is a 'top(1)'-like utility for showing stats of virtualized +domains. Many keys and command line options are the same as for +ordinary 'top'. + +It uses libvirt so it is capable of showing stats across a variety of +different virtualization systems. + + +%prep +%setup -q + +%if 0%{?rhel} >= 6 +%patch0 -p1 +%endif + +%patch0001 -p1 +%patch0002 -p1 +%patch0003 -p1 +%patch0004 -p1 +%patch0005 -p1 +%patch0006 -p1 +%patch0007 -p1 +%patch0008 -p1 +%patch0009 -p1 +%patch0010 -p1 +%patch0011 -p1 +%patch0012 -p1 +%patch0013 -p1 +%patch0014 -p1 +%patch0015 -p1 +%patch0016 -p1 +%patch0017 -p1 +%patch0018 -p1 +%patch0019 -p1 +%patch0020 -p1 + +# Update configure for aarch64 (bz #926701) +%patch9999 -p1 +autoconf + + +%build +%configure +make all +%if %opt +make opt +strip src/virt-top.opt +%endif + +# Build translations. +make -C po + +# Force rebuild of man page. +rm -f src/virt-top.1 +make -C src virt-top.1 + +%if 0%{?rhel} >= 6 +# Build processcsv.py.1. +pod2man -c "Virtualization Support" --release "%{name}-%{version}" \ + %{SOURCE2} > processcsv.py.1 +%endif + + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +# Install translations. +mkdir -p $RPM_BUILD_ROOT%{_datadir}/locale +make -C po install PODIR="$RPM_BUILD_ROOT%{_datadir}/locale" +%find_lang %{name} + +# Install virt-top manpage by hand for now. +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +install -m 0644 src/virt-top.1 $RPM_BUILD_ROOT%{_mandir}/man1 + +%if 0%{?rhel} >= 6 +# Install processcsv.py. +install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir} + +# Install processcsv.py(1). +install -m 0644 processcsv.py.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +%endif + + +%files -f %{name}.lang +%doc COPYING README TODO ChangeLog +%{_bindir}/virt-top +%{_mandir}/man1/virt-top.1* +%if 0%{?rhel} >= 6 +%{_bindir}/processcsv.py +%{_mandir}/man1/processcsv.py.1* +%endif + + +%changelog +* Tue Oct 16 2018 Richard W.M. Jones - 1.0.8-32 +- Add upstream patch to pass CFLAGS/LDFLAGS to final binary + resolves: rhbz#1630636 + +* Wed Aug 01 2018 Charalampos Stratakis - 1.0.8-31 +- Rebuild for platform-python + +* Wed Mar 28 2018 Richard W.M. Jones - 1.0.8-30 +- Modify processcsv.py for Python 3. + +* Fri Feb 09 2018 Fedora Release Engineering - 1.0.8-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Nov 18 2017 Richard W.M. Jones - 1.0.8-28 +- OCaml 4.06.0 rebuild. + +* Wed Aug 09 2017 Richard W.M. Jones - 1.0.8-27 +- OCaml 4.05.0 rebuild. + +* Thu Aug 03 2017 Fedora Release Engineering - 1.0.8-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.0.8-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 27 2017 Richard W.M. Jones - 1.0.8-24 +- OCaml 4.04.2 rebuild. + +* Sat May 13 2017 Richard W.M. Jones - 1.0.8-23 +- OCaml 4.04.1 rebuild. + +* Tue Mar 28 2017 Richard W.M. Jones - 1.0.8-22 +- Include all upstream patches since 1.0.8 was released. +- BR ocaml-libvirt with virConnectGetAllDomainStats API. +- Remove execstack hack, no longer needed on any arch. + +* Sat Feb 11 2017 Fedora Release Engineering - 1.0.8-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Nov 09 2016 Dan Horák - 1.0.8-20 +- remove ExcludeArch + +* Sat Nov 05 2016 Richard W.M. Jones - 1.0.8-19 +- Rebuild for OCaml 4.04.0. +- Kill further instances of -warn-error. + +* Fri Feb 05 2016 Fedora Release Engineering - 1.0.8-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jul 28 2015 Richard W.M. Jones - 1.0.8-17 +- OCaml 4.02.3 rebuild. + +* Wed Jun 24 2015 Richard W.M. Jones - 1.0.8-16 +- ocaml-4.02.2 final rebuild. + +* Thu Jun 18 2015 Richard W.M. Jones - 1.0.8-15 +- ocaml-4.02.2 rebuild. + +* Tue Feb 17 2015 Richard W.M. Jones - 1.0.8-14 +- ocaml-4.02.1 rebuild. + +* Sun Aug 31 2014 Richard W.M. Jones - 1.0.8-13 +- ocaml-4.02.0 final rebuild. + +* Sat Aug 23 2014 Richard W.M. Jones - 1.0.8-12 +- ocaml-4.02.0+rc1 rebuild. + +* Mon Aug 18 2014 Fedora Release Engineering - 1.0.8-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Aug 02 2014 Richard W.M. Jones - 1.0.8-10 +- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild. + +* Sat Aug 02 2014 Richard W.M. Jones - 1.0.8-9 +- Do not warn about immutable strings. + +* Sun Jun 08 2014 Fedora Release Engineering - 1.0.8-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Aug 05 2013 Richard W.M. Jones - 1.0.8-7 +- Bump and rebuild. + +* Mon Jul 29 2013 Richard W.M. Jones - 1.0.8-6 +- Include processcsv.py script and man page, but on RHEL only + (RHBZ#665817, RHBZ#912020) +- Clear executable stack flag on PPC, PPC64 (RHBZ#605124). + +* Fri Jun 28 2013 Cole Robinson - 1.0.8-5 +- Update configure for aarch64 (bz #926701) + +* Fri Feb 15 2013 Fedora Release Engineering - 1.0.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Dec 14 2012 Richard W.M. Jones - 1.0.8-3 +- Rebuild for OCaml 4.00.1. + +* Fri Oct 12 2012 Richard W.M. Jones - 1.0.8-2 +- New upstream version 1.0.8. +- Requires tiny change to ocaml-libvirt, hence dep bump. +- Clean up the spec file. +- Remove explicit BR ocaml-camomile (not used AFAIK). + +* Sun Jul 22 2012 Fedora Release Engineering - 1.0.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Mar 23 2012 Richard W.M. Jones - 1.0.7-2 +- Require fixed ocaml-libvirt. + +* Tue Mar 6 2012 Richard W.M. Jones - 1.0.7-1 +- New upstream version 1.0.7. +- Includes true physical CPU reporting (when libvirt supports this). + +* Sat Jan 14 2012 Fedora Release Engineering - 1.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Aug 12 2011 Richard W.M. Jones - 1.0.6-1 +- New upstream version 1.0.6. + +* Mon Feb 07 2011 Fedora Release Engineering - 1.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jan 6 2011 Richard W.M. Jones - 1.0.5-1 +- New upstream version 1.0.5. +- Rebuild against OCaml 3.12.0. +- Project website moved to people.redhat.com. +- Remove upstream patches. + +* Wed Dec 30 2009 Richard W.M. Jones - 1.0.4-3 +- Force rebuild against latest ocaml-gettext 0.3.3 (RHBZ#508197#c10). + +* Mon Oct 5 2009 Richard W.M. Jones - 1.0.4-2 +- New upstream release 1.0.4. +- Includes new translations (RHBZ#493799). +- Overall hardware memory is now displayed in CSV file (RHBZ#521785). +- Several fixes to Japanese support (RHBZ#508197). +- Japanese PO file also has bogus plural forms. +- Additional BR on gettext (for msgfmt). + +* Sun Jul 26 2009 Fedora Release Engineering - 1.0.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Apr 16 2009 S390x secondary arch maintainer +- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs + (added sparc64 per request from the sparc maintainer) + +* Wed Feb 25 2009 Fedora Release Engineering - 1.0.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Nov 26 2008 Richard W.M. Jones - 1.0.3-3 +- Rebuild for OCaml 3.11.0+rc1. + +* Tue Oct 21 2008 Richard W.M. Jones - 1.0.3-2 +- Fix incorrect sources file. +- Remove bogus Plural-Forms line from zh_CN PO file. + +* Tue Oct 21 2008 Richard W.M. Jones - 1.0.3-1 +- New upstream version 1.0.3. + +* Mon May 19 2008 Richard W.M. Jones - 1.0.1-2 +- Use RPM percent-configure. +- Add list of BRs for gettext. +- Use find_lang to find PO files. +- Comment out the OCaml dependency generator. Not a library so not + needed. + +* Thu May 1 2008 Richard W.M. Jones - 1.0.1-1 +- New upstream release 1.0.1. +- Don't BR ocaml-gettext-devel, it's not used at the moment. +- Don't gzip the manpage, it happens automatically. +- Add BR libvirt-devel. +- Remove spurious executable bit on COPYING. + +* Thu Apr 17 2008 Richard W.M. Jones - 1.0.0-2 +- New upstream release 1.0.0. +- Force rebuild of manpage. + +* Tue Mar 18 2008 Richard W.M. Jones - 0.4.1.1-1 +- New upstream release 0.4.1.1. +- Move configure to build section. +- Pass RPM_OPT_FLAGS. + +* Tue Mar 4 2008 Richard W.M. Jones - 0.4.1.0-2 +- Fix source URL. +- Install virt-df manpage. + +* Tue Mar 4 2008 Richard W.M. Jones - 0.4.1.0-1 +- New upstream release 0.4.1.0. +- Upstream now requires ocaml-dbus >= 0.06, ocaml-lablgtk >= 2.10.0, + ocaml-dbus-devel. +- Enable virt-df. + +* Sat Mar 1 2008 Richard W.M. Jones - 0.4.0.3-3 +- Rebuild for ppc64. + +* Wed Feb 13 2008 Richard W.M. Jones - 0.4.0.3-2 +- Add BR gtk2-devel + +* Tue Feb 12 2008 Richard W.M. Jones - 0.4.0.3-1 +- New upstream version 0.4.0.3. +- Rebuild for OCaml 3.10.1. + +* Tue Nov 20 2007 Richard W.M. Jones - 0.3.3.4-1 +- New upstream release 0.3.3.4. +- Upstream website is now http://libvirt.org/ocaml/ + +* Fri Oct 19 2007 Richard W.M. Jones - 0.3.3.0-2 +- Mistake: BR is ocaml-calendar-devel. + +* Fri Oct 19 2007 Richard W.M. Jones - 0.3.3.0-1 +- New upstream release 0.3.3.0. +- Added support for virt-df, but disabled it by default. +- +BR ocaml-calendar. + +* Mon Sep 24 2007 Richard W.M. Jones - 0.3.2.8-1 +- New upstream release 0.3.2.8. + +* Thu Sep 20 2007 Richard W.M. Jones - 0.3.2.7-1 +- New upstream release 0.3.2.7. +- Ship the upstream ChangeLog file. + +* Thu Sep 6 2007 Richard W.M. Jones - 0.3.2.6-2 +- Force dependency on ocaml >= 3.10.0-7 which has fixed requires/provides + scripts. + +* Thu Sep 6 2007 Richard W.M. Jones - 0.3.2.6-1 +- New upstream version 0.3.2.6. + +* Wed Aug 29 2007 Richard W.M. Jones - 0.3.2.5-1 +- New upstream version 0.3.2.5. +- Keep TODO out of the main package, but add (renamed) TODO.libvirt and + TODO.virt-top to the devel and virt-top packages respectively. +- Add BR gawk. + +* Thu Aug 23 2007 Richard W.M. Jones - 0.3.2.4-1 +- New upstream version 0.3.2.4. + +* Thu Aug 23 2007 Richard W.M. Jones - 0.3.2.3-2 +- build_* macros so we can choose what subpackages to build. + +* Thu Aug 23 2007 Richard W.M. Jones - 0.3.2.3-1 +- Upstream version 0.3.2.3. +- Add missing BR libvirt-devel. + +* Wed Aug 22 2007 Richard W.M. Jones - 0.3.2.2-1 +- Upstream version 0.3.2.2. + +* Wed Aug 22 2007 Richard W.M. Jones - 0.3.2.1-2 +- Fix unclosed if-statement in spec file. + +* Wed Aug 22 2007 Richard W.M. Jones - 0.3.2.1-1 +- Upstream version 0.3.2.1. +- Put HTML documentation in -devel package. + +* Mon Aug 6 2007 Richard W.M. Jones - 0.3.1.2-1 +- Initial RPM release.