Compare commits

...

25 Commits

Author SHA1 Message Date
Robert Roth
30c771151d Prepared release 2.39.90 2019-02-04 22:27:23 +02:00
Charles Monzat
77912eae1d Update French translation 2018-12-29 14:53:23 +00:00
Robert Roth
b71a5c1404 Merge branch 'wip/lantw/freebsd-laundry-memory-and-zfs-arc' into 'master'
freebsd: Support laundry memory and ZFS ARC

See merge request GNOME/libgtop!3
2018-11-21 06:21:53 +00:00
Balasankar C
8e4c9c197b Update Malayalam translation 2018-10-26 15:13:16 +00:00
Ting-Wei Lan
bb118fa9d6 freebsd: Support laundry memory and ZFS ARC
FreeBSD 11.1 removes cache memory and adds laundry memory. The MIB of
cache memory still exists, but its value is always set to zero.
According to the man page of top(1), the value of laundry memory means
number of dirty pages queued for laundering, suggesting that it should
be added to the 'user' in libgtop because it cannot be freed immediately
without writing out data. Laundry memory was part of inactive memory in
older FreeBSD releases.

FreeBSD systems running on ZFS usually have a large portion of memory
used as ZFS ARC, which has similar purpose to buffer cache of other
filesystems. ZFS ARC can usually be freed quickly when the system needs
more memory, so we don't want to put it in 'user' in libgtop. However,
both buffer cache and ZFS ARC are parts of wired memory, and wired
memory is counted in 'user'. Therefore, we subtract the size of ZFS ARC
from wired memory when calculating 'user' value, making it more useful
to FreeBSD users.

This patch is based on the patch submiited three years ago by
Benoît Dejean <bdejean@gmail.com>.

https://bugzilla.gnome.org/show_bug.cgi?id=748928
https://gitlab.gnome.org/GNOME/libgtop/issues/31
2018-10-25 00:30:12 +08:00
Piotr Drąg
69f7b16421 Update MSGID_BUGS_ADDRESS in po/Makevars 2018-08-16 20:21:24 +02:00
Benoît Dejean
7c811a7826 Fixed 3 old compile warnings. 2018-07-22 12:23:11 +02:00
Mingcong Bai
40144f3908 Update Chinese (China) translation 2018-05-21 14:31:20 +00:00
Daniel Șerbănescu
35a0ba8e27 Update Romanian translation 2018-03-26 20:38:41 +00:00
Benoît Dejean
ec6a87e670 Bump version number and SO libgtop_revision. 2018-03-26 18:28:59 +02:00
Benoît Dejean
e4335d4db2 glibtop_get_proc_map on Linux doesn't need to be SUID.
Revert this proof of concept.
Add C file with comments to document how to make a call SUID.
2018-03-26 18:15:26 +02:00
Benoît Dejean
ec662d01da Make linux build with server.
Add suid infrastructure.
Demo proc_map.
2018-03-26 17:44:43 +02:00
Chao-Hsiung Liao
cab8791fdd Update Chinese (Taiwan) translation 2018-03-10 12:05:24 +00:00
Benoît Dejean
4f36c74b68 Fix build on freebsd and darwin. 2018-03-07 20:47:44 +01:00
Benoît Dejean
c65cb3e46b Rename GLIBTOP_SUID_PROC_FILE to GLIBTOP_SUID_PROC_OPEN_FILES.
The previous name is incorrect and inconsistent with the code generated
by lib.pl.
Also add missing hooks.

This symbol, although exposed in public headers is not part of the API
and is only used internally.
2018-03-07 19:44:41 +01:00
Benoît Dejean
b450bbc67c Try to fix all format flags in pprint example. 2018-03-07 19:39:36 +01:00
Jiri Grönroos
f80b08a865 Update Finnish translation 2018-03-03 16:19:43 +00:00
Benoît Dejean
42b049f338 Fix darwin build by adding dummy proc_io implementation.
https://gitlab.gnome.org/GNOME/libgtop/issues/36
2018-02-11 09:12:54 +01:00
Benoît Dejean
b31bce292b Add Robert and fix my email in AUTHORS. 2018-01-25 10:49:05 +01:00
Hannie Dumoleyn
32a02dfcdb Update Dutch translation 2017-11-06 16:33:03 +00:00
Kjartan Maraas
286db6d137 Updated Norwegian bokmål translation. 2017-11-06 15:01:17 +01:00
Matej Urbančič
aa4b2dc5ee Updated Slovenian translation 2017-10-20 16:58:26 +02:00
Xavi Ivars
d61659c143 [l10n] Updated Catalan (Valencian) translation 2017-10-05 14:35:35 +02:00
Arash Mousavi
9308027409 [L10N] Update Persian translation 2017-09-29 19:26:59 +03:30
Efstathios Iosifidis
487e584a18 Update Greek translation 2017-09-12 19:52:49 +00:00
38 changed files with 1205 additions and 658 deletions

5
.gitignore vendored
View File

@@ -7,7 +7,9 @@
*.in *.in
*.la *.la
*.lo *.lo
*.new
*.o *.o
*.old
*.out *.out
*.patch *.patch
*.pot *.pot
@@ -24,6 +26,7 @@ INSTALL
Makefile Makefile
Makevars.template Makevars.template
Rules-quot Rules-quot
\#*\#
aclocal.m4 aclocal.m4
autom4te.cache/ autom4te.cache/
compile compile
@@ -55,6 +58,7 @@ doc/texinfo.tex
doc/version.texi doc/version.texi
examples/affinity examples/affinity
examples/df examples/df
examples/diskio
examples/first examples/first
examples/free examples/free
examples/mountlist examples/mountlist
@@ -70,7 +74,6 @@ examples/smp
examples/sysdeps examples/sysdeps
examples/timings examples/timings
examples/wd examples/wd
examples/diskio
gtk-doc.make gtk-doc.make
install-sh install-sh
lib/GTop-2.0.gir lib/GTop-2.0.gir

View File

@@ -1,3 +1,4 @@
Martin Baulig (martin@home-of-linux.org) Martin Baulig (martin@home-of-linux.org)
Drazen Kacar (dave@srce.hr) Drazen Kacar (dave@srce.hr)
Benoît Dejean (tazforever@dlfp.org) Benoît Dejean (bdejean@gmail.com)
Robert Roth (robert.roth.off@gmail.com)

12
NEWS
View File

@@ -1,3 +1,15 @@
04 February 2019: Overview of changes in 2.39.90
================================================
* Updated translations
* FreeBSD:
- added support for laundry memory
- added support for ZFS ARC
* Fixed compile warnings
* Fix build on FreeBSD and darwin
* Linux:
- get procmap doesn't need suid
11 September 2017: Overview of changes in 2.38.0 11 September 2017: Overview of changes in 2.38.0
================================================ ================================================

View File

@@ -3,8 +3,8 @@ dnl Configure script for the Gnome library
dnl dnl
m4_define([libgtop_major_version], [2]) m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [38]) m4_define([libgtop_minor_version], [39])
m4_define([libgtop_micro_version], [0]) m4_define([libgtop_micro_version], [90])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version]) m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals. dnl increment if the interface has additions, changes, removals.
@@ -12,7 +12,7 @@ m4_define([libgtop_current], [11])
dnl increment any time the source changes; set to dnl increment any time the source changes; set to
dnl 0 if you increment CURRENT dnl 0 if you increment CURRENT
m4_define([libgtop_revision], [0]) m4_define([libgtop_revision], [1])
dnl increment if any interfaces have been added; set to 0 dnl increment if any interfaces have been added; set to 0
dnl if any interfaces have been removed. removal has dnl if any interfaces have been removed. removal has

View File

@@ -99,7 +99,7 @@ main (int argc, char *argv [])
glibtop_get_fsusage (&fsusage, glibtop_get_fsusage (&fsusage,
mount_entries [index].mountdir); mount_entries [index].mountdir);
printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n", printf ("%-16s %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9" G_GUINT64_FORMAT " %9d\n",
mount_entries [index].mountdir, mount_entries [index].mountdir,
fsusage.blocks, fsusage.bfree, fsusage.blocks, fsusage.bfree,
fsusage.bavail, fsusage.files, fsusage.bavail, fsusage.files,

View File

@@ -118,22 +118,22 @@ main (int argc, char *argv [])
"\tAddress:\t\t0x%08x - %s\n" "\tAddress:\t\t0x%08x - %s\n"
"\tSubnet:\t\t\t0x%08x - %s\n\n" "\tSubnet:\t\t\t0x%08x - %s\n\n"
"\tMTU:\t\t\t%d\n" "\tMTU:\t\t\t%d\n"
"\tCollisions:\t\t%llu\n\n" "\tCollisions:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tPackets In:\t\t%llu\n" "\tPackets In:\t\t%" G_GUINT64_FORMAT "\n"
"\tPackets Out:\t\t%llu\n" "\tPackets Out:\t\t%" G_GUINT64_FORMAT "\n"
"\tPackets Total:\t\t%llu\n\n" "\tPackets Total:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tBytes In:\t\t%llu\n" "\tBytes In:\t\t%" G_GUINT64_FORMAT "\n"
"\tBytes Out:\t\t%llu\n" "\tBytes Out:\t\t%" G_GUINT64_FORMAT "\n"
"\tBytes Total:\t\t%llu\n\n" "\tBytes Total:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tErrors In:\t\t%llu\n" "\tErrors In:\t\t%" G_GUINT64_FORMAT "\n"
"\tErrors Out:\t\t%llu\n" "\tErrors Out:\t\t%" G_GUINT64_FORMAT "\n"
"\tErrors Total:\t\t%llu\n\n" "\tErrors Total:\t\t%" G_GUINT64_FORMAT "\n\n"
"\tAddress6:\t\t%s\n" "\tAddress6:\t\t%s\n"
"\tPrefix6:\t\t%s\n" "\tPrefix6:\t\t%s\n"
"\tScope6:\t\t\t%#03x\n\n" "\tScope6:\t\t\t%#03x\n\n"
"\tHarware Address:\t%s\n\n", "\tHarware Address:\t%s\n\n",
netload.flags, (unsigned long long)netload.flags,
netload.if_flags, (unsigned long long)netload.if_flags,
(guint32) netload.address, address_string, (guint32) netload.address, address_string,
(guint32) netload.subnet, subnet_string, (guint32) netload.subnet, subnet_string,
netload.mtu, netload.mtu,

View File

@@ -18,9 +18,14 @@
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \ #define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
(unsigned long) sizeof buf) (unsigned long) sizeof buf)
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \ #define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = %" FORMAT "\n", \
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA) (unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
#define PPRINT_GUINT64(DATA) PPRINT(DATA, G_GUINT64_FORMAT)
#define PPRINT_FLAGS(DATA) printf("\t%4lu B %3lu " "flags" " = " "%#llx" "\n", \
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), (unsigned long long)buf.DATA)
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \ #define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
size_t i; \ size_t i; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \ printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
@@ -32,7 +37,7 @@
do { i++; } while (i < SIZE && !buf.ARRAY[i]); \ do { i++; } while (i < SIZE && !buf.ARRAY[i]); \
printf("..., "); \ printf("..., "); \
} else { \ } else { \
printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \ printf(".%zd = %" FORMAT ", ", i, buf.ARRAY[i]); \
} \ } \
} \ } \
printf("}\n"); \ printf("}\n"); \
@@ -70,8 +75,8 @@ static void pprint_get_sysinfo(void)
buf = glibtop_get_sysinfo(); buf = glibtop_get_sysinfo();
HEADER_PPRINT(glibtop_get_sysinfo); HEADER_PPRINT(glibtop_get_sysinfo);
//PPRINT(flags, "%#llx"); //PPRINT_FLAGS(flags);
// PPRINT(ncpu, "%llu"); // PPRINT_GUINT64(ncpu);
PPRINT_ENTRY_ARRAY(cpuinfo, buf->ncpu); PPRINT_ENTRY_ARRAY(cpuinfo, buf->ncpu);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -83,25 +88,25 @@ static void pprint_get_cpu(void)
glibtop_get_cpu(&buf); glibtop_get_cpu(&buf);
HEADER_PPRINT(glibtop_get_cpu); HEADER_PPRINT(glibtop_get_cpu);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(total, "%llu"); PPRINT_GUINT64(total);
PPRINT(user, "%llu"); PPRINT_GUINT64(user);
PPRINT(nice, "%llu"); PPRINT_GUINT64(nice);
PPRINT(sys, "%llu"); PPRINT_GUINT64(sys);
PPRINT(idle, "%llu"); PPRINT_GUINT64(idle);
PPRINT(iowait, "%llu"); PPRINT_GUINT64(iowait);
PPRINT(irq, "%llu"); PPRINT_GUINT64(irq);
PPRINT(softirq, "%llu"); PPRINT_GUINT64(softirq);
PPRINT(frequency, "%llu"); PPRINT_GUINT64(frequency);
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu"); PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, G_GUINT64_FORMAT);
PPRINT(xcpu_flags, "%llx"); PPRINT_FLAGS(xcpu_flags);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -115,15 +120,15 @@ static void pprint_get_fsusage(const char *mountpoint)
HEADER_PPRINT(glibtop_get_fsusage); HEADER_PPRINT(glibtop_get_fsusage);
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint); printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(blocks, "%llu"); PPRINT_GUINT64(blocks);
PPRINT(bfree, "%llu"); PPRINT_GUINT64(bfree);
PPRINT(bavail, "%llu"); PPRINT_GUINT64(bavail);
PPRINT(files, "%llu"); PPRINT_GUINT64(files);
PPRINT(ffree, "%llu"); PPRINT_GUINT64(ffree);
PPRINT(block_size, "%u"); PPRINT(block_size, "u");
PPRINT(read, "%llu"); PPRINT_GUINT64(read);
PPRINT(write, "%llu"); PPRINT_GUINT64(write);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -136,11 +141,11 @@ static void pprint_get_loadavg(void)
glibtop_get_loadavg(&buf); glibtop_get_loadavg(&buf);
HEADER_PPRINT(glibtop_get_loadavg); HEADER_PPRINT(glibtop_get_loadavg);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT_ARRAY(loadavg, 3, "%f"); PPRINT_ARRAY(loadavg, 3, "f");
PPRINT(nr_running, "%llu"); PPRINT_GUINT64(nr_running);
PPRINT(nr_tasks, "%llu"); PPRINT_GUINT64(nr_tasks);
PPRINT(last_pid, "%llu"); PPRINT_GUINT64(last_pid);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -153,15 +158,15 @@ static void pprint_get_mem(void)
glibtop_get_mem(&buf); glibtop_get_mem(&buf);
HEADER_PPRINT(glibtop_get_mem); HEADER_PPRINT(glibtop_get_mem);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(total, "%llu"); PPRINT_GUINT64(total);
PPRINT(used, "%llu"); PPRINT_GUINT64(used);
PPRINT(free, "%llu"); PPRINT_GUINT64(free);
PPRINT(shared, "%llu"); PPRINT_GUINT64(shared);
PPRINT(buffer, "%llu"); PPRINT_GUINT64(buffer);
PPRINT(cached, "%llu"); PPRINT_GUINT64(cached);
PPRINT(user, "%llu"); PPRINT_GUINT64(user);
PPRINT(locked, "%llu"); PPRINT_GUINT64(locked);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -177,12 +182,12 @@ static void pprint_get_mountlist(gboolean allfs)
HEADER_PPRINT(glibtop_get_mountlist); HEADER_PPRINT(glibtop_get_mountlist);
printf("glibtop_get_mountlist (allfs = %d)\n", allfs); printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(number, "%llu"); PPRINT_GUINT64(number);
PPRINT(total, "%llu"); PPRINT_GUINT64(total);
PPRINT(size, "%llu"); PPRINT_GUINT64(size);
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number); printf("\t%4" G_GUINT64_FORMAT " B entries[%" G_GUINT64_FORMAT "] = \n\t\t{\n", buf.total, buf.number);
for(i = 0; i < buf.number; ++i) for(i = 0; i < buf.number; ++i)
{ {
@@ -190,7 +195,7 @@ static void pprint_get_mountlist(gboolean allfs)
" .devname = \"%s\"," " .devname = \"%s\","
" .mountir = \"%s\"," " .mountir = \"%s\","
" .type = \"%s\" }\n", " .type = \"%s\" }\n",
(unsigned long) i, entries[i].dev, (unsigned long) i, (unsigned long long)entries[i].dev,
entries[i].devname, entries[i].devname,
entries[i].mountdir, entries[i].mountdir,
entries[i].type); entries[i].type);
@@ -211,14 +216,14 @@ static void pprint_get_msg_limits(void)
glibtop_get_msg_limits(&buf); glibtop_get_msg_limits(&buf);
HEADER_PPRINT(glibtop_get_msg_limits); HEADER_PPRINT(glibtop_get_msg_limits);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(msgpool, "%llu"); PPRINT_GUINT64(msgpool);
PPRINT(msgmap, "%llu"); PPRINT_GUINT64(msgmap);
PPRINT(msgmax, "%llu"); PPRINT_GUINT64(msgmax);
PPRINT(msgmnb, "%llu"); PPRINT_GUINT64(msgmnb);
PPRINT(msgmni, "%llu"); PPRINT_GUINT64(msgmni);
PPRINT(msgssz, "%llu"); PPRINT_GUINT64(msgssz);
PPRINT(msgtql, "%llu"); PPRINT_GUINT64(msgtql);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -232,7 +237,7 @@ static void pprint_get_netload(const char *iface)
HEADER_PPRINT(glibtop_get_netload); HEADER_PPRINT(glibtop_get_netload);
printf("glibtop_get_netload (iface = \"%s\")\n", iface); printf("glibtop_get_netload (iface = \"%s\")\n", iface);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -266,12 +271,12 @@ static void pprint_get_swap(void)
glibtop_get_swap(&buf); glibtop_get_swap(&buf);
HEADER_PPRINT(glibtop_get_swap); HEADER_PPRINT(glibtop_get_swap);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(total, "%llu"); PPRINT_GUINT64(total);
PPRINT(used, "%llu"); PPRINT_GUINT64(used);
PPRINT(free, "%llu"); PPRINT_GUINT64(free);
PPRINT(pagein, "%llu"); PPRINT_GUINT64(pagein);
PPRINT(pageout, "%llu"); PPRINT_GUINT64(pageout);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -284,10 +289,10 @@ static void pprint_get_uptime(void)
glibtop_get_uptime(&buf); glibtop_get_uptime(&buf);
HEADER_PPRINT(glibtop_get_uptime); HEADER_PPRINT(glibtop_get_uptime);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(uptime, "%f"); PPRINT(uptime, "f");
PPRINT(idletime, "%f"); PPRINT(idletime, "f");
PPRINT(boot_time, "%llu"); PPRINT_GUINT64(boot_time);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -301,12 +306,12 @@ static void pprint_get_proc_kernel(pid_t pid)
glibtop_get_proc_kernel(&buf, pid); glibtop_get_proc_kernel(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_kernel); HEADER_PPRINT(glibtop_get_proc_kernel);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(k_flags, "%llu"); PPRINT_GUINT64(k_flags);
PPRINT(min_flt, "%llu"); PPRINT_GUINT64(min_flt);
PPRINT(maj_flt, "%llu"); PPRINT_GUINT64(maj_flt);
PPRINT(cmin_flt, "%llu"); PPRINT_GUINT64(cmin_flt);
PPRINT(cmaj_flt, "%llu"); PPRINT_GUINT64(cmaj_flt);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -318,13 +323,13 @@ static void pprint_get_proc_mem(pid_t pid)
glibtop_get_proc_mem(&buf, pid); glibtop_get_proc_mem(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_mem); HEADER_PPRINT(glibtop_get_proc_mem);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(size, "%llu"); PPRINT_GUINT64(size);
PPRINT(vsize, "%llu"); PPRINT_GUINT64(vsize);
PPRINT(resident, "%llu"); PPRINT_GUINT64(resident);
PPRINT(share, "%llu"); PPRINT_GUINT64(share);
PPRINT(rss, "%llu"); PPRINT_GUINT64(rss);
PPRINT(rss_rlim, "%llu"); PPRINT_GUINT64(rss_rlim);
FOOTER_PPRINT(); FOOTER_PPRINT();
} }
@@ -338,9 +343,9 @@ static void pprint_get_proc_affinity(pid_t pid)
cpus = glibtop_get_proc_affinity(&buf, pid); cpus = glibtop_get_proc_affinity(&buf, pid);
HEADER_PPRINT(glibtop_get_proc_affinity); HEADER_PPRINT(glibtop_get_proc_affinity);
PPRINT(flags, "%#llx"); PPRINT_FLAGS(flags);
PPRINT(number, "%u"); PPRINT(number, "u");
PPRINT(all, "%d"); PPRINT(all, "d");
printf("\taffinity="); printf("\taffinity=");
for (i = 0; i < buf.number; i++) { for (i = 0; i < buf.number; i++) {

View File

@@ -162,10 +162,10 @@ main (int argc, char *argv [])
fputc('\n', stderr); fputc('\n', stderr);
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB " g_print("smaps flags:%#llx size:%" G_GUINT64_FORMAT "KiB rss:%" G_GUINT64_FORMAT "KiB "
"shared_clean:%lluKib shared_dirty:%lluKiB " "shared_clean:%" G_GUINT64_FORMAT "Kib shared_dirty:%" G_GUINT64_FORMAT "KiB "
"private_clean:%lluKiB private_dirty: %lluKiB\n", "private_clean:%" G_GUINT64_FORMAT "KiB private_dirty: %" G_GUINT64_FORMAT "KiB\n",
maps[i].flags, (unsigned long long)maps[i].flags,
maps[i].size >> 10, maps[i].size >> 10,
maps[i].rss >> 10, maps[i].rss >> 10,
maps[i].shared_clean >> 10, maps[i].shared_clean >> 10,

View File

@@ -105,7 +105,7 @@ struct _glibtop_proc_open_files
glibtop_open_files_entry * glibtop_open_files_entry *
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid); glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_FILE #if GLIBTOP_SUID_PROC_OPEN_FILES
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_p #define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_p
#else #else
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s #define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
@@ -124,7 +124,7 @@ glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
glibtop_open_files_entry * glibtop_open_files_entry *
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid); glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_FILE #if GLIBTOP_SUID_PROC_OPEN_FILES
void _glibtop_init_proc_open_files_p (glibtop *server); void _glibtop_init_proc_open_files_p (glibtop *server);

View File

@@ -44,6 +44,7 @@ GLIBTOP_SUID_PROC_KERNEL +
GLIBTOP_SUID_PROC_SEGMENT + GLIBTOP_SUID_PROC_SEGMENT +
GLIBTOP_SUID_PROC_ARGS + GLIBTOP_SUID_PROC_ARGS +
GLIBTOP_SUID_PROC_MAP + GLIBTOP_SUID_PROC_MAP +
GLIBTOP_SUID_PROC_OPEN_FILES +
GLIBTOP_SUID_NETLOAD + GLIBTOP_SUID_NETLOAD +
GLIBTOP_SUID_NETLIST + GLIBTOP_SUID_NETLIST +
GLIBTOP_SUID_PROC_WD + GLIBTOP_SUID_PROC_WD +
@@ -123,6 +124,9 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
#endif #endif
#if !GLIBTOP_SUID_PROC_IO #if !GLIBTOP_SUID_PROC_IO
_glibtop_init_proc_io_s, _glibtop_init_proc_io_s,
#endif
#if !GLIBTOP_SUID_PROC_OPEN_FILES
_glibtop_init_proc_open_files_s,
#endif #endif
NULL NULL
}; };
@@ -199,6 +203,9 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
#endif #endif
#if GLIBTOP_SUID_PROC_IO #if GLIBTOP_SUID_PROC_IO
_glibtop_init_proc_io_p, _glibtop_init_proc_io_p,
#endif
#if GLIBTOP_SUID_PROC_OPEN_FILES
_glibtop_init_proc_open_files_p,
#endif #endif
NULL NULL
}; };

View File

@@ -33,9 +33,10 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
linux*) linux*)
libgtop_sysdeps_dir=linux libgtop_sysdeps_dir=linux
libgtop_have_sysinfo=yes libgtop_have_sysinfo=yes
libgtop_need_server=no libgtop_need_server=yes
libgtop_sysdeps_private_mountlist=yes libgtop_sysdeps_private_mountlist=yes
libgtop_sysdeps_private_fsusage=yes libgtop_sysdeps_private_fsusage=yes
libgtop_postinstall='chown root $(bindir)/libgtop_server2 && chmod 4755 $(bindir)/libgtop_server2'
;; ;;
netbsd*|bsdi*) netbsd*|bsdi*)
libgtop_sysdeps_dir=bsd libgtop_sysdeps_dir=bsd

View File

@@ -18,7 +18,7 @@ XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2
# or entity, or to disclaim their copyright. The empty string stands for # or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim # the public domain; in this case the translators are expected to disclaim
# their copyright. # their copyright.
COPYRIGHT_HOLDER = libgtop contributors COPYRIGHT_HOLDER = libgtop authors
# This tells whether or not to prepend "GNU " prefix to the package # This tells whether or not to prepend "GNU " prefix to the package
# name that gets inserted into the header of the $(DOMAIN).pot file. # name that gets inserted into the header of the $(DOMAIN).pot file.
@@ -41,7 +41,7 @@ PACKAGE_GNU = no
# It can be your email address, or a mailing list address where translators # It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through # can write to without being subscribed, or the URL of a web page through
# which the translators can contact you. # which the translators can contact you.
MSGID_BUGS_ADDRESS = https://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&keywords=I18N+L10N&component=general MSGID_BUGS_ADDRESS = https://gitlab.gnome.org/GNOME/libgtop/issues
# This is the list of locale categories, beyond LC_MESSAGES, for which the # This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty. # message catalogs shall be used. It is usually empty.
@@ -51,7 +51,7 @@ EXTRA_LOCALE_CATEGORIES =
# context. Possible values are "yes" and "no". Set this to yes if the # context. Possible values are "yes" and "no". Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or # package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. # if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = no USE_MSGCTXT = yes
# These options get passed to msgmerge. # These options get passed to msgmerge.
# Useful options are in particular: # Useful options are in particular:

View File

@@ -7,186 +7,188 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop 2.9.91\n" "Project-Id-Version: libgtop 2.9.91\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"POT-Creation-Date: 2012-04-10 21:12+0200\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2011-04-04 22:04+0200\n" "POT-Creation-Date: 2017-09-09 12:15+0000\n"
"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n" "PO-Revision-Date: 2017-09-01 00:54+0200\n"
"Last-Translator: Xavi Ivars <xavi.ivars@gmail.com>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n" "Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca@valencia\n" "Language: ca-valencia\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n!=1;\n" "Plural-Forms: nplurals=2; plural=n!=1;\n"
"X-Generator: Poedit 1.8.11\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "s'ha llegit %d byte" msgstr[0] "s'ha llegit %d byte"
msgstr[1] "s'ha llegit %d octets" msgstr[1] "s'ha llegit %d octets"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "llig la mida de les dades" msgstr "llig la mida de les dades"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "s'ha llegit %lu byte de dades" msgstr[0] "s'ha llegit %lu byte de dades"
msgstr[1] "s'ha llegit %lu octets de dades" msgstr[1] "s'ha llegit %lu octets de dades"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "s'ha escrit %d byte" msgstr[0] "s'ha escrit %d byte"
msgstr[1] "s'ha escrit %d octets" msgstr[1] "s'ha escrit %d octets"
#: ../src/daemon/gnuserv.c:455 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Activa la depuració" msgstr "Activa la depuració"
#: ../src/daemon/gnuserv.c:457 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Activa l'eixida detallada" msgstr "Activa l'eixida detallada"
#: ../src/daemon/gnuserv.c:459 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "No bifurquis al segon pla" msgstr "No bifurquis al segon pla"
#: ../src/daemon/gnuserv.c:461 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Ha estat cridat des d'inetd" msgstr "Ha estat cridat des d'inetd"
#: ../src/daemon/gnuserv.c:495 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run %s --help to see a full list of available command line options.\n"
msgstr "" msgstr ""
"Executeu «%s --help» per veure una llista completa de les opcions " "Executeu «%s --help» per veure una llista completa de les opcions "
"disponibles de la línia d'ordes.\n" "disponibles de la línia d'ordes.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Termina" msgstr "Termina"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Interromp" msgstr "Interromp"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Ix" msgstr "Ix"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Instrucció il·legal" msgstr "Instrucció il·legal"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Captura traça" msgstr "Captura traça"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Interromp" msgstr "Interromp"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "Error EMT" msgstr "Error EMT"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Excepció de coma flotant" msgstr "Excepció de coma flotant"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Mata" msgstr "Mata"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Error de bus" msgstr "Error de bus"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Violació de segment" msgstr "Violació de segment"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Argument erroni a una crida al sistema" msgstr "Argument erroni a una crida al sistema"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Conducte trencat" msgstr "Conducte trencat"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Alarma del rellotge" msgstr "Alarma del rellotge"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Terminació" msgstr "Terminació"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Condició urgent en socket" msgstr "Condició urgent en socket"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Parada" msgstr "Parada"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Parada de teclat" msgstr "Parada de teclat"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Continua" msgstr "Continua"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "L'estat del fill ha canviat" msgstr "L'estat del fill ha canviat"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "Lectura de tty en segon pla" msgstr "Lectura de tty en segon pla"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "Escriptura a tty en segon pla" msgstr "Escriptura a tty en segon pla"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "E/S ara és possible" msgstr "E/S ara és possible"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "Límit de CPU excedit" msgstr "Límit de CPU excedit"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Límit de mida de fitxer excedit" msgstr "Límit de mida de fitxer excedit"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Alarma del rellotge virtual" msgstr "Alarma del rellotge virtual"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Alarma del rellotge perfilada" msgstr "Alarma del rellotge perfilada"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Canvi de la mida de la finestra" msgstr "Canvi de la mida de la finestra"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Sol·licitud d'informació" msgstr "Sol·licitud d'informació"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Senyal 1 definit per l'usuari" msgstr "Senyal 1 definit per l'usuari"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Senyal 2 definit per l'usuari" msgstr "Senyal 2 definit per l'usuari"

View File

@@ -18,190 +18,193 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: el\n" "Project-Id-Version: el\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgtop&keywords=I18N+L10N&component=general\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2013-12-19 14:39+0000\n" "POT-Creation-Date: 2017-04-07 11:26+0000\n"
"PO-Revision-Date: 2014-07-09 13:59+0200\n" "PO-Revision-Date: 2017-09-09 10:35+0200\n"
"Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n" "Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n" "Language-Team: Greek <nls@tux.hellug.gr>\n"
"Language: el\n" "Language: el\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.6.5\n" "X-Generator: Poedit 1.5.7\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "ανάγνωση %d byte" msgstr[0] "ανάγνωση %d byte"
msgstr[1] "ανάγνωση %d bytes" msgstr[1] "ανάγνωση %d bytes"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "ανάγνωση μεγέθους δεδομένων" msgstr "ανάγνωση μεγέθους δεδομένων"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "ανάγνωση %lu byte δεδομένων" msgstr[0] "ανάγνωση %lu byte δεδομένων"
msgstr[1] "ανάγνωση %lu bytes δεδομένων" msgstr[1] "ανάγνωση %lu bytes δεδομένων"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "εγγραφή %d byte" msgstr[0] "εγγραφή %d byte"
msgstr[1] "εγγραφή %d bytes" msgstr[1] "εγγραφή %d bytes"
#: ../src/daemon/gnuserv.c:455 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Ενεργοποίηση αποσφαλμάτωσης" msgstr "Ενεργοποίηση αποσφαλμάτωσης"
#: ../src/daemon/gnuserv.c:457 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Ενεργοποίηση αναλυτικής εξόδου" msgstr "Ενεργοποίηση αναλυτικής εξόδου"
#: ../src/daemon/gnuserv.c:459 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" #| msgid "Don't fork into background"
msgid "Dont fork into background"
msgstr "Να μη γίνει διακλάδωση στο παρασκήνιο" msgstr "Να μη γίνει διακλάδωση στο παρασκήνιο"
#: ../src/daemon/gnuserv.c:461 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Εκτελεσμένο από το inetd" msgstr "Εκτελεσμένο από το inetd"
#: ../src/daemon/gnuserv.c:495 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" #| msgid ""
#| "Run '%s --help' to see a full list of available command line options.\n"
msgid "Run “%s --help” to see a full list of available command line options.\n"
msgstr "" msgstr ""
"Εκτελέστε '%s --help' για να δείτε μια πλήρη λίστα των διαθέσιμων επιλογών " "Εκτελέστε «%s --help» για να δείτε μια πλήρη λίστα των διαθέσιμων επιλογών "
"της γραμμής εντολών.\n" "της γραμμής εντολών.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Κλείσιμο" msgstr "Κλείσιμο"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Διακοπή" msgstr "Διακοπή"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Έξοδος" msgstr "Έξοδος"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Μη επιτρεπτή εντολή" msgstr "Μη επιτρεπτή εντολή"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Παγίδευση παρακολούθησης" msgstr "Παγίδευση παρακολούθησης"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Εγκατάλειψη" msgstr "Εγκατάλειψη"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "Σφάλμα EMT" msgstr "Σφάλμα EMT"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Εξαίρεση κινητής υποδιαστολής" msgstr "Εξαίρεση κινητής υποδιαστολής"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Βίαιος τερματισμός" msgstr "Βίαιος τερματισμός"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Σφάλμα διαύλου" msgstr "Σφάλμα διαύλου"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Παραβίαση κατάτμησης" msgstr "Παραβίαση κατάτμησης"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Ακατάλληλο όρισμα σε κλήση συστήματος" msgstr "Ακατάλληλο όρισμα σε κλήση συστήματος"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Κατεστραμμένη διοχέτευση" msgstr "Κατεστραμμένη διοχέτευση"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Ξυπνητήρι" msgstr "Ξυπνητήρι"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Τερματισμός" msgstr "Τερματισμός"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Επείγουσα συνθήκη σε υποδοχέα" msgstr "Επείγουσα συνθήκη σε υποδοχέα"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Διακοπή" msgstr "Διακοπή"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Διακοπή πληκτρολογίου" msgstr "Διακοπή πληκτρολογίου"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Συνέχεια" msgstr "Συνέχεια"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "Έχει αλλάξει η κατάσταση της θυγατρικής διεργασίας" msgstr "Έχει αλλάξει η κατάσταση της θυγατρικής διεργασίας"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "Ανάγνωση παρασκηνίου από tty" msgstr "Ανάγνωση παρασκηνίου από tty"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "Εγγραφή παρασκηνίου σε tty" msgstr "Εγγραφή παρασκηνίου σε tty"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "Η I/O είναι τώρα δυνατή" msgstr "Η I/O είναι τώρα δυνατή"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "Έχει ξεπεραστεί το όριο της CPU" msgstr "Έχει ξεπεραστεί το όριο της CPU"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Έχει ξεπεραστεί το όριο μεγέθους αρχείου" msgstr "Έχει ξεπεραστεί το όριο μεγέθους αρχείου"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Εικονικό ξυπνητήρι" msgstr "Εικονικό ξυπνητήρι"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Έλεγχος απόδοσης ξυπνητηριού" msgstr "Έλεγχος απόδοσης ξυπνητηριού"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Αλλαγή μεγέθους παραθύρου" msgstr "Αλλαγή μεγέθους παραθύρου"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Αίτηση πληροφορίας" msgstr "Αίτηση πληροφορίας"
# sysdeps/names/procsignal.c:49 # sysdeps/names/procsignal.c:49
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Σήμα 1 οριζόμενο από το χρήστη" msgstr "Σήμα 1 οριζόμενο από το χρήστη"
# sysdeps/names/procsignal.c:49 # sysdeps/names/procsignal.c:49
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Σήμα 2 οριζόμενο από το χρήστη" msgstr "Σήμα 2 οριζόμενο από το χρήστη"

133
po/fa.po
View File

@@ -3,14 +3,15 @@
# Copyright (C) 2003, 2005 Sharif FarsiWeb, Inc. # Copyright (C) 2003, 2005 Sharif FarsiWeb, Inc.
# Roozbeh Pournader <roozbeh@farsiweb.info>, 2003. # Roozbeh Pournader <roozbeh@farsiweb.info>, 2003.
# Azin Azadi <aazadi@gmail.com>, 2005. # Azin Azadi <aazadi@gmail.com>, 2005.
# Arash Mousavi <mousavi.arash@gmail.com>, 2010, 2011. # Arash Mousavi <mousavi.arash@gmail.com>, 2010, 2011, 2017.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop HEAD\n" "Project-Id-Version: libgtop HEAD\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&keywords=I18N+L10N&component=general\n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"POT-Creation-Date: 2011-04-04 20:06+0000\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2011-04-24 17:45+0330\n" "POT-Creation-Date: 2017-04-07 11:26+0000\n"
"PO-Revision-Date: 2017-09-29 19:25+0330\n"
"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n" "Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
"Language-Team: Persian <translate@ifsug.org>\n" "Language-Team: Persian <translate@ifsug.org>\n"
"Language: fa\n" "Language: fa\n"
@@ -18,205 +19,177 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-Language: Persian\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
"X-Poedit-SourceCharset: utf-8\n" "X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 2.0.4\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "خوانده شد %Id بایت" msgstr[0] "خوانده شد %Id بایت"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "‌اندازه‌ی داده‌های خوانده شده" msgstr "‌اندازه‌ی داده‌های خوانده شده"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "%lu بایت اطلاعات خوانده شد" msgstr[0] "%lu بایت اطلاعات خوانده شد"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "%Id بایت نوشته شد" msgstr[0] "%Id بایت نوشته شد"
#: ../src/daemon/gnuserv.c:455 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "به کار انداختن اشکال‌زدایی" msgstr "به کار انداختن اشکال‌زدایی"
#: ../src/daemon/gnuserv.c:457 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "به کار انداختن خروجی مفصل" msgstr "به کار انداختن خروجی مفصل"
#: ../src/daemon/gnuserv.c:459 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "عدم انشعاب در پس‌زمینه" msgstr "عدم انشعاب در پس‌زمینه"
#: ../src/daemon/gnuserv.c:461 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "از inetd احضار شد" msgstr "از inetd احضار شد"
#: ../src/daemon/gnuserv.c:495 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid ""
msgstr "برای نمایش تمام گزینه‌های موجود خط فرمان «%s --help» را اجرا کنید.\n" "Run “%s --help” to see a full list of available command line "
"options.\n"
msgstr ""
"برای نمایش تمام گزینه‌های موجود خط فرمان «%s --help» را اجرا "
"کنید.\n"
#: ../sysdeps/osf1/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "معوق گذاشتن" msgstr "معوق گذاشتن"
#: ../sysdeps/osf1/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "وقفه" msgstr "وقفه"
#: ../sysdeps/osf1/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "خروج" msgstr "خروج"
#: ../sysdeps/osf1/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "دستورالعمل غیرمجاز" msgstr "دستورالعمل غیرمجاز"
#: ../sysdeps/osf1/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "ردگیری تله" msgstr "ردگیری تله"
#: ../sysdeps/osf1/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "قطع کردن" msgstr "قطع کردن"
#: ../sysdeps/osf1/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "خطای EMT" msgstr "خطای EMT"
#: ../sysdeps/osf1/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "استثنای ممیز شناور" msgstr "استثنای ممیز شناور"
#: ../sysdeps/osf1/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "خاموش کردن" msgstr "خاموش کردن"
#: ../sysdeps/osf1/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "خطای گذرگاه" msgstr "خطای گذرگاه"
#: ../sysdeps/osf1/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "تخلف قطعه قطعه کردن" msgstr "تخلف قطعه قطعه کردن"
#: ../sysdeps/osf1/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "آرگومان بد به فراخوانی سیستم" msgstr "آرگومان بد به فراخوانی سیستم"
#: ../sysdeps/osf1/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "لوله‌ی شکسته" msgstr "لوله‌ی شکسته"
#: ../sysdeps/osf1/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "ساعت زنگی" msgstr "ساعت زنگی"
#: ../sysdeps/osf1/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "پایان دادن" msgstr "پایان دادن"
#: ../sysdeps/osf1/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "وضعیت اورژانس برای سوکت" msgstr "وضعیت اورژانس برای سوکت"
#: ../sysdeps/osf1/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "توقف" msgstr "توقف"
#: ../sysdeps/osf1/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "توقف صفحه‌کلید" msgstr "توقف صفحه‌کلید"
#: ../sysdeps/osf1/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "ادامه" msgstr "ادامه"
#: ../sysdeps/osf1/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "وضعیت بچه عوض شد" msgstr "وضعیت بچه عوض شد"
#: ../sysdeps/osf1/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "خواندن پس‌زمینه از tty" msgstr "خواندن پس‌زمینه از tty"
#: ../sysdeps/osf1/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "نوشتن پس‌زمینه در tty" msgstr "نوشتن پس‌زمینه در tty"
#: ../sysdeps/osf1/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "ورودی/خروجی اکنون امکان دارد" msgstr "ورودی/خروجی اکنون امکان دارد"
#: ../sysdeps/osf1/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "بیشتر از محدودیت واحد پردازش مرکزی شد" msgstr "بیشتر از محدودیت واحد پردازش مرکزی شد"
#: ../sysdeps/osf1/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "بیشتر از محدودیت اندازه‌ی پرونده شد" msgstr "بیشتر از محدودیت اندازه‌ی پرونده شد"
#: ../sysdeps/osf1/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "ساعت هشدار مجازی" msgstr "ساعت هشدار مجازی"
#: ../sysdeps/osf1/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "درحال تنظیم زنگ هشدار" msgstr "درحال تنظیم زنگ هشدار"
#: ../sysdeps/osf1/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "تغییر اندازه‌ی پنجره" msgstr "تغییر اندازه‌ی پنجره"
#: ../sysdeps/osf1/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "درخواست اطلاعات" msgstr "درخواست اطلاعات"
#: ../sysdeps/osf1/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "سیگنال تعریف شده توسط کاربر ۱" msgstr "سیگنال تعریف شده توسط کاربر ۱"
#: ../sysdeps/osf1/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "سیگنال تعریف شده توسط کاربر ۲" msgstr "سیگنال تعریف شده توسط کاربر ۲"

View File

@@ -8,184 +8,187 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop 1.90.1\n" "Project-Id-Version: libgtop 1.90.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
"POT-Creation-Date: 2007-08-06 16:33+0300\n" "POT-Creation-Date: 2018-01-25 10:19+0000\n"
"PO-Revision-Date: 2005-01-29 15:17+0200\n" "PO-Revision-Date: 2018-03-03 18:19+0200\n"
"Last-Translator: Pauli Virtanen <pauli.virtanen@hut.fi>\n" "Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n" "Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n"
"Language: fi\n" "Language: fi\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.7.1\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "%d tavun luku" msgstr[0] "%d tavun luku"
msgstr[1] "%d tavun luku" msgstr[1] "%d tavun luku"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "datan koon luku" msgstr "datan koon luku"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "%lu tavun luku" msgstr[0] "%lu tavun luku"
msgstr[1] "%lu tavun luku" msgstr[1] "%lu tavun luku"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "%d tavun kirjoitus" msgstr[0] "%d tavun kirjoitus"
msgstr[1] "%d tavun kirjoitus" msgstr[1] "%d tavun kirjoitus"
#: ../src/daemon/gnuserv.c:458 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Käytä virheenetsintää" msgstr "Käytä virheenetsintää"
#: ../src/daemon/gnuserv.c:460 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Näytä lisätietoja" msgstr "Näytä lisätietoja"
#: ../src/daemon/gnuserv.c:462 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" #, fuzzy
#| msgid "Don't fork into background"
msgid "Dont fork into background"
msgstr "Älä käynnistä taustaprosessia" msgstr "Älä käynnistä taustaprosessia"
#: ../src/daemon/gnuserv.c:464 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Käynnistetty inetd-prosssista" msgstr "Käynnistetty inetd-prosssista"
#: ../src/daemon/gnuserv.c:498 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run %s --help to see a full list of available command line options.\n"
msgstr "Katso kaikki valitsimet käyttäen komentoa \"%s --help\".\n" msgstr "Katso kaikki valitsimet käyttäen komentoa %s --help.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Katkeaminen" msgstr "Katkeaminen"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Keskeytys" msgstr "Keskeytys"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Lopetus" msgstr "Lopetus"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Virheellinen käsky" msgstr "Virheellinen käsky"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Jäljitys" msgstr "Jäljitys"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Peruminen" msgstr "Peruminen"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT-virhe" msgstr "EMT-virhe"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Liukulukupoikkeus" msgstr "Liukulukupoikkeus"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Tappo" msgstr "Tappo"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Väylävirhe" msgstr "Väylävirhe"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Muistinkäsittelyvirhe" msgstr "Muistinkäsittelyvirhe"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Virheellinen järjestelmäkutsun parametri" msgstr "Virheellinen järjestelmäkutsun parametri"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Rikkinäinen putki" msgstr "Rikkinäinen putki"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Ajastin" msgstr "Ajastin"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Sulkeutuminen" msgstr "Sulkeutuminen"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Kiireellinen tilanne pistokkeessa" msgstr "Kiireellinen tilanne pistokkeessa"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Pysäytys" msgstr "Pysäytys"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Näppäimistöpysäytys" msgstr "Näppäimistöpysäytys"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Jatkaminen" msgstr "Jatkaminen"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "Lapsen tila muuttunut" msgstr "Lapsen tila muuttunut"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "Tty:n taustaluku" msgstr "Tty:n taustaluku"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "Tty:n taustakirjoitus" msgstr "Tty:n taustakirjoitus"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "I/O nyt mahdollista" msgstr "I/O nyt mahdollista"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "CPU-raja ylittyi" msgstr "CPU-raja ylittyi"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Tiedoston kokoraja ylittyi" msgstr "Tiedoston kokoraja ylittyi"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Valeajastin" msgstr "Valeajastin"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Profilointiajastin" msgstr "Profilointiajastin"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Ikkunan koon muutos" msgstr "Ikkunan koon muutos"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Tietojen pyyntö" msgstr "Tietojen pyyntö"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Käyttäjän määrittelemä signaali 1" msgstr "Käyttäjän määrittelemä signaali 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Käyttäjän määrittelemä signaali 2" msgstr "Käyttäjän määrittelemä signaali 2"

View File

@@ -7,21 +7,22 @@
# Christophe Merlet <redfox@redfoxcenter.org>, 2000-2004. # Christophe Merlet <redfox@redfoxcenter.org>, 2000-2004.
# Benoit Dejean <tazforever@dlfp.org>, 2004. # Benoit Dejean <tazforever@dlfp.org>, 2004.
# Stéphane Raimbault <stephane.raimbault@gmail.com>, 2007. # Stéphane Raimbault <stephane.raimbault@gmail.com>, 2007.
# Charles Monzat <charles.monzat@numericable.fr>, 2018.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop 2.9.91\n" "Project-Id-Version: libgtop 2.9.91\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
"product=libgtop&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2018-01-25 10:19+0000\n"
"POT-Creation-Date: 2017-04-07 11:45+0000\n" "PO-Revision-Date: 2018-11-19 13:23+0100\n"
"PO-Revision-Date: 2017-08-15 09:18+0200\n" "Last-Translator: Charles Monzat <charles.monzat@numericable.fr>\n"
"Last-Translator: Stéphane Raimbault <stephane.raimbault@gmail.com>\n" "Language-Team: français <gnomefr@traduc.org>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Gtranslator 3.30.0\n"
#: lib/read.c:49 #: lib/read.c:49
#, c-format #, c-format
@@ -89,7 +90,7 @@ msgstr "Instruction illégale"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Point d'arrêt rencontré" msgstr "Point darrêt rencontré"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
@@ -117,7 +118,7 @@ msgstr "Violation de segmentation"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Mauvais argument d'appel système" msgstr "Mauvais argument dappel système"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
@@ -125,7 +126,7 @@ msgstr "Tube cassé"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Alarme d'horloge" msgstr "Alarme dhorloge"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
@@ -149,7 +150,7 @@ msgstr "Continuer"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "L'état du fils a changé" msgstr "Létat du fils a changé"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
@@ -177,7 +178,7 @@ msgstr "Alarme virtuelle"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Profile de l'alarme" msgstr "Profil de lalarme"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
@@ -185,7 +186,7 @@ msgstr "Redimensionnement de la fenêtre"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Demande d'information" msgstr "Demande dinformation"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"

View File

@@ -7,189 +7,184 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop.master.ml\n" "Project-Id-Version: libgtop.master.ml\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&component=general\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
"POT-Creation-Date: 2009-04-17 10:17+0000\n" "POT-Creation-Date: 2018-01-25 10:19+0000\n"
"PO-Revision-Date: 2009-09-12 20:37+0530\n" "PO-Revision-Date: 2018-10-26 19:49+0530\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: <en@li.org>\n" "Language-Team: <en@li.org>\n"
"Language: ml\n" "Language: ml\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n" "X-Generator: Poedit 2.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "%d ബൈറ്റ് വായിക്കുക" msgstr[0] "%d ബൈറ്റ് വായിക്കുക"
msgstr[1] "%d ബൈറ്റ്സ് വായിക്കുക" msgstr[1] "%d ബൈറ്റ്സ് വായിക്കുക"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "ഡേറ്റായുടെ വലിപ്പം വായിക്കുക" msgstr "ഡേറ്റായുടെ വലിപ്പം വായിക്കുക"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "%lu ബൈറ്റ് ഡേറ്റാ വായിക്കുക" msgstr[0] "%lu ബൈറ്റ് ഡേറ്റാ വായിക്കുക"
msgstr[1] "%lu ബൈറ്റ്സ് ഡേറ്റാ വായിക്കുക" msgstr[1] "%lu ബൈറ്റ്സ് ഡേറ്റാ വായിക്കുക"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "%d ബൈറ്റ് എഴുതി" msgstr[0] "%d ബൈറ്റ് എഴുതി"
msgstr[1] "%d ബൈറ്റ്സ് എഴുതി" msgstr[1] "%d ബൈറ്റ്സ് എഴുതി"
#: ../src/daemon/gnuserv.c:455 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "ഡീബഗ്ഗിങ് പ്രവര്‍ത്തന സജ്ജമാക്കുക" msgstr "ഡീബഗ്ഗിങ് പ്രവര്‍ത്തന സജ്ജമാക്കുക"
#: ../src/daemon/gnuserv.c:457 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "വര്‍ബറോസ് ഔട്ട് പുട്ട് പ്രവര്‍ത്തന സജ്ജമാക്കുക" msgstr "വര്‍ബറോസ് ഔട്ട് പുട്ട് പ്രവര്‍ത്തന സജ്ജമാക്കുക"
#: ../src/daemon/gnuserv.c:459 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "പശ്ചാത്തലത്തിലേക്ക് fork ചെയ്യുവാന്‍ പാടില്ല" msgstr "പശ്ചാത്തലത്തിലേക്ക് ഫോർക് ചെയ്യുവാന്‍ പാടില്ല"
#: ../src/daemon/gnuserv.c:461 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "inetd-ല്‍ നിന്നുമുളള വിളി" msgstr "inetd-ല്‍ നിന്നുമുളള വിളി"
#: ../src/daemon/gnuserv.c:495 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
#| msgid "" msgid "Run “%s --help” to see a full list of available command line options.\n"
#| "Error on option %s: %s.\n"
#| "Run '%s --help' to see a full list of available command line options.\n"
msgid "Run '%s --help' to see a full list of available command line options.\n"
msgstr "ലഭ്യമായ കമാന്‍ഡ് ലൈന്‍ ഉപാധികളുടെ മുഴുവന്‍ പട്ടികയ്ക്ക് '%s --help' പ്രവര്‍ത്തിപ്പിക്കുക.\n" msgstr "ലഭ്യമായ കമാന്‍ഡ് ലൈന്‍ ഉപാധികളുടെ മുഴുവന്‍ പട്ടികയ്ക്ക് '%s --help' പ്രവര്‍ത്തിപ്പിക്കുക.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "അവസാനിപ്പിക്കുക" msgstr "അവസാനിപ്പിക്കുക"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "ഇന്‍ററപ്റ്റ്" msgstr "ഇന്‍ററപ്റ്റ്"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "പുറത്ത് കടക്കുക" msgstr "പുറത്ത് കടക്കുക"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "തെറ്റായ നിര്‍ദ്ദേശം" msgstr "തെറ്റായ നിര്‍ദ്ദേശം"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "തടസ്സം കണ്ടുപിടിക്കുക" msgstr "തടസ്സം കണ്ടുപിടിക്കുക"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "നിര്‍ത്തലാക്കുക" msgstr "നിര്‍ത്തലാക്കുക"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT പിശക്" msgstr "EMT പിശക്"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "ഫ്ളോട്ടിങ്-പോയിന്‍റ് എക്സെപ്ഷന്‍" msgstr "ഫ്ളോട്ടിങ്-പോയിന്‍റ് എക്സെപ്ഷന്‍"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "അവസാനിപ്പിക്കുക" msgstr "അവസാനിപ്പിക്കുക"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "ബസില്‍ പിശക്" msgstr "ബസില്‍ പിശക്"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "സെഗ്മന്‍റേഷനില്‍ തെറ്റ്" msgstr "സെഗ്മന്‍റേഷനില്‍ തെറ്റ്"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "സിസ്റ്റം കോളിലേക്ക് തെറ്റായ ആര്‍ഗ്യുമെന്‍റ്" msgstr "സിസ്റ്റം കോളിലേക്ക് തെറ്റായ ആര്‍ഗ്യുമെന്‍റ്"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "പൊട്ടിയ പൈപ്പ്" msgstr "പൊട്ടിയ പൈപ്പ്"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "അലാറം ക്ളോക്ക്" msgstr "അലാറം ക്ളോക്ക്"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "അവസാനിപ്പിക്കല്‍" msgstr "അവസാനിപ്പിക്കല്‍"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "സോക്കന്‍റില്‍ ഗുരുതരമായ അവസ്ഥ" msgstr "സോക്കന്‍റില്‍ ഗുരുതരമായ അവസ്ഥ"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "നിര്‍ത്തുക" msgstr "നിര്‍ത്തുക"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "കീബോര്‍ഡ് നിര്‍ത്തുക" msgstr "കീബോര്‍ഡ് നിര്‍ത്തുക"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "തുടരുക" msgstr "തുടരുക"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "ചൈള്‍ഡിന്‍റെ അവസ്ഥ മാറിയിരിക്കുന്നു" msgstr "ചൈള്‍ഡിന്‍റെ അവസ്ഥ മാറിയിരിക്കുന്നു"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "tty-ല്‍ നിന്നും പശ്ചാത്തലം വായിക്കുക" msgstr "tty-ല്‍ നിന്നും പശ്ചാത്തലം വായിക്കുക"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "tty-ലേക്ക് പശ്ചാത്തലം എഴുതുക" msgstr "tty-ലേക്ക് പശ്ചാത്തലം എഴുതുക"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "I/O ഇപ്പോള്‍ സാധ്യമാണ്" msgstr "I/O ഇപ്പോള്‍ സാധ്യമാണ്"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "CPU പരിമിധി കവിഞ്ഞു" msgstr "CPU പരിമിധി കവിഞ്ഞു"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "ഫയലിന്‍റെ വലിപ്പ പരിമിധി കവിഞ്ഞു" msgstr "ഫയലിന്‍റെ വലിപ്പ പരിമിധി കവിഞ്ഞു"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "വിര്‍ച്ച്വല്‍ അലാറം ക്ളോക്ക്" msgstr "വിര്‍ച്ച്വല്‍ അലാറം ക്ളോക്ക്"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "അലാറം ക്ളോക്ക് പ്രൊഫൈല്‍ ചെയ്യുന്നു" msgstr "അലാറം ക്ളോക്ക് പ്രൊഫൈല്‍ ചെയ്യുന്നു"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "ജീലകത്തിന്‍റെ വലിപ്പത്തലുളള മാറ്റം" msgstr "ജീലകത്തിന്‍റെ വലിപ്പത്തലുളള മാറ്റം"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "വിവരങ്ങള്‍ക്കായുളള അഭ്യര്‍ത്ഥന" msgstr "വിവരങ്ങള്‍ക്കായുളള അഭ്യര്‍ത്ഥന"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "യൂസര്‍ ഡിഫൈന്‍ഡ് സിഗ്നല്‍ 1" msgstr "യൂസര്‍ ഡിഫൈന്‍ഡ് സിഗ്നല്‍ 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "യൂസര്‍ ഡിഫൈന്‍ഡ് സിഗ്നല്‍ 2" msgstr "യൂസര്‍ ഡിഫൈന്‍ഡ് സിഗ്നല്‍ 2"

View File

@@ -1,13 +1,13 @@
# Norwegian bokmål translation for libgtop # Norwegian bokmål translation for libgtop
# Copyright (C) 1998-2004 Free Software Foundation, Inc. # Copyright (C) 1998-2004 Free Software Foundation, Inc.
# Kjartan Maraas <kmaraas@gnome.org>, 1998-2012. # Kjartan Maraas <kmaraas@gnome.org>, 1998-2017.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop 2.28.x\n" "Project-Id-Version: libgtop 3.26.x\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=libgtop&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2012-01-28 16:53+0100\n" "POT-Creation-Date: 2017-04-07 11:26+0000\n"
"PO-Revision-Date: 2012-01-28 16:54+0100\n" "PO-Revision-Date: 2017-11-06 15:01+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n" "Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: nb\n" "Language: nb\n"
@@ -16,174 +16,174 @@ msgstr ""
"Content-Transfer-Encoding: 8-bit\n" "Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "les %d byte" msgstr[0] "les %d byte"
msgstr[1] "les %d bytes" msgstr[1] "les %d bytes"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "les størrelse på data" msgstr "les størrelse på data"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "leste %lu byte med data" msgstr[0] "leste %lu byte med data"
msgstr[1] "leste %lu bytes med data" msgstr[1] "leste %lu bytes med data"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "skrev %d byte" msgstr[0] "skrev %d byte"
msgstr[1] "skrev %d bytes" msgstr[1] "skrev %d bytes"
#: ../src/daemon/gnuserv.c:455 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Slå på avlusing" msgstr "Slå på avlusing"
#: ../src/daemon/gnuserv.c:457 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Slå på utfyllende utskrift" msgstr "Slå på utfyllende utskrift"
#: ../src/daemon/gnuserv.c:459 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "Ikke forgren til bakgrunnen" msgstr "Ikke forgren til bakgrunnen"
#: ../src/daemon/gnuserv.c:461 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Kalt fra inetd" msgstr "Kalt fra inetd"
#: ../src/daemon/gnuserv.c:495 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run %s --help to see a full list of available command line options.\n"
msgstr "" msgstr ""
"Kjør '%s --help' for å se en full liste av tilgjengelige " "Kjør '%s --help' for å se en full liste av tilgjengelige "
"kommandolinjeflagg.\n" "kommandolinjeflagg.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Frakobling" msgstr "Frakobling"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Avbrudd" msgstr "Avbrudd"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Avslutt" msgstr "Avslutt"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Ugyldig instruksjon" msgstr "Ugyldig instruksjon"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Spor felle" msgstr "Spor felle"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Aborter" msgstr "Aborter"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT-feil" msgstr "EMT-feil"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Flyttallsunntak" msgstr "Flyttallsunntak"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Drep" msgstr "Drep"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Buss-feil" msgstr "Buss-feil"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Segmentoverskridelse" msgstr "Segmentoverskridelse"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Ugyldig argument til systemkall" msgstr "Ugyldig argument til systemkall"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Brukket rør" msgstr "Brukket rør"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Alarmklokke" msgstr "Alarmklokke"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Terminering" msgstr "Terminering"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Viktig tilstand på socket" msgstr "Viktig tilstand på socket"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Stopp" msgstr "Stopp"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Tastaturstopp" msgstr "Tastaturstopp"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Fortsett" msgstr "Fortsett"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "Barnets status er endret" msgstr "Barnets status er endret"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "Lesing fra tty i bakgrunnen" msgstr "Lesing fra tty i bakgrunnen"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "Skriving til tty i bakgrunnen" msgstr "Skriving til tty i bakgrunnen"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "I/O nå mulig" msgstr "I/O nå mulig"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "CPU-grense oversteget" msgstr "CPU-grense oversteget"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Grense for filstørrelse overskredet" msgstr "Grense for filstørrelse overskredet"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Virtuell alarmklokke" msgstr "Virtuell alarmklokke"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Profilerer alarmklokken" msgstr "Profilerer alarmklokken"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Endring i vindusstørrelse" msgstr "Endring i vindusstørrelse"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Informasjonsforespørsel" msgstr "Informasjonsforespørsel"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Brukerdefinert signal 1" msgstr "Brukerdefinert signal 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Brukerdefinert signal 2" msgstr "Brukerdefinert signal 2"

101
po/nl.po
View File

@@ -3,190 +3,193 @@
# Gert Dewit <Gert.Dewit@sos.be> # Gert Dewit <Gert.Dewit@sos.be>
# Jeroen van der Vegt <A.J.vanderVegt@ITS.TUDelft.nl>, 2003 # Jeroen van der Vegt <A.J.vanderVegt@ITS.TUDelft.nl>, 2003
# Tino Meinen <a.t.meinen@chello.nl>, 2005 # Tino Meinen <a.t.meinen@chello.nl>, 2005
# Nathan Follens <nthn@unseen.is>, 2017
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop CVS\n" "Project-Id-Version: libgtop CVS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"POT-Creation-Date: 2007-07-17 18:54+0200\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2007-07-17 18:54+0200 \n" "POT-Creation-Date: 2017-08-22 20:26+0000\n"
"Last-Translator: Wouter Bolsterlee <wbolster@gnome.org>\n" "PO-Revision-Date: 2017-08-24 20:46+0200\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n" "Last-Translator: Nathan Follens <nthn@unseen.is>\n"
"Language-Team: Dutch <gnome-nl-list@gnome.org>\n"
"Language: nl\n" "Language: nl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.3\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "%d byte gelezen" msgstr[0] "%d byte gelezen"
msgstr[1] "%d bytes gelezen" msgstr[1] "%d bytes gelezen"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "grootte van de gelezen data" msgstr "grootte van de gelezen data"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "%lu byte gelezen" msgstr[0] "%lu byte gelezen"
msgstr[1] "%lu bytes gelezen" msgstr[1] "%lu bytes gelezen"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "%d byte geschreven" msgstr[0] "%d byte geschreven"
msgstr[1] "%d bytes geschreven" msgstr[1] "%d bytes geschreven"
#: ../src/daemon/gnuserv.c:458 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Debuggen inschakelen" msgstr "Debuggen inschakelen"
#: ../src/daemon/gnuserv.c:460 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Extra uitvoer inschakelen" msgstr "Extra uitvoer inschakelen"
# niet naar achtergrond/niet naar achtergrond 'forken' # niet naar achtergrond/niet naar achtergrond 'forken'
#: ../src/daemon/gnuserv.c:462 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "Niet naar de achtergrond 'forken'" msgstr "Niet naar de achtergrond forken"
#: ../src/daemon/gnuserv.c:464 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Aangeroepen vanuit inetd" msgstr "Aangeroepen vanuit inetd"
#: ../src/daemon/gnuserv.c:498 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run %s --help to see a full list of available command line options.\n"
msgstr "Start '%s --help' voor een lijst met opdrachtregelopties.\n" msgstr "Start %s --help voor een lijst met opdrachtregelopties.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Ophangen" msgstr "Ophangen"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Onderbreken" msgstr "Onderbreken"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Afsluiten" msgstr "Afsluiten"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Verboden instruktie" msgstr "Verboden instruktie"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Trace trap" msgstr "Trace trap"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Afbreken" msgstr "Afbreken"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT fout" msgstr "EMT fout"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Floating-point uitzondering" msgstr "Floating-point uitzondering"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Vernietigen" msgstr "Vernietigen"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Busfout" msgstr "Busfout"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Segmentatiefout" msgstr "Segmentatiefout"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Verkeerd argument voor systeemaanroep" msgstr "Verkeerd argument voor systeemaanroep"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Gebroken pipe" msgstr "Gebroken pipe"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Wekker" msgstr "Wekker"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Beëindiging" msgstr "Beëindiging"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Dringende situatie bij de socket" msgstr "Dringende situatie bij de socket"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Stoppen" msgstr "Stoppen"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Keyboard stop" msgstr "Keyboard stop"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Doorgaan" msgstr "Doorgaan"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "De status van de dochter is veranderd" msgstr "De status van de dochter is veranderd"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "In de achtergrond wordt tty uitgelezen" msgstr "In de achtergrond wordt tty uitgelezen"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "In de achtergrond wordt naar tty geschreven" msgstr "In de achtergrond wordt naar tty geschreven"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "I/O is nu mogelijk" msgstr "I/O is nu mogelijk"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "Processor begrenzing overschreden" msgstr "Processor begrenzing overschreden"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Limiet bestandsomvang overschreden" msgstr "Limiet bestandsomvang overschreden"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Virtuele wekker" msgstr "Virtuele wekker"
# profileringswekker/profielwekker # profileringswekker/profielwekker
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Profiling-wekker" msgstr "Profiling-wekker"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Wijziging venstergrootte" msgstr "Wijziging venstergrootte"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Verzoek om informatie" msgstr "Verzoek om informatie"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Door gebruiker gedefinieerd signaal 1" msgstr "Door gebruiker gedefinieerd signaal 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Door gebruiker gedefinieerd signaal 2" msgstr "Door gebruiker gedefinieerd signaal 2"

102
po/ro.po
View File

@@ -1,23 +1,24 @@
# Romanian translation for libgtop # Romanian translation for libgtop
# Copyright (C) 2003 - 2009, Free Software Foundation, Inc. # Copyright (C) 2003 - 2009, Free Software Foundation, Inc.
# Mișu Moldovan <dumol@gnome.ro>, 2003 - 2009. # Mișu Moldovan <dumol@gnome.ro>, 2003 - 2009.
# # Daniel Șerbănescu <daniel [at] serbanescu [dot] dk>, 2018.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop\n" "Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
"POT-Creation-Date: 2007-09-13 08:49+0100\n" "POT-Creation-Date: 2018-03-26 20:36+0000\n"
"PO-Revision-Date: 2009-09-20 00:44+0300\n" "PO-Revision-Date: 2018-03-25 14:30+0200\n"
"Last-Translator: Mișu Moldovan <dumol@gnome.ro>\n" "Last-Translator: Daniel Șerbănescu <daniel [at] serbanescu [dot] dk>\n"
"Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n" "Language-Team: Gnome Romanian Translation Team\n"
"Language: ro\n" "Language: ro\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3;plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"2:1))\n" "20)) ? 1 : 2);;\n"
"X-Generator: Virtaal 0.7.1\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
@@ -25,11 +26,11 @@ msgstr[0] "s-a citit un octet"
msgstr[1] "s-au citit %d octeți" msgstr[1] "s-au citit %d octeți"
msgstr[2] "s-au citit %d de octeți" msgstr[2] "s-au citit %d de octeți"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "mărime date citite" msgstr "mărime date citite"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
@@ -37,7 +38,7 @@ msgstr[0] "s-a citit un octet de date"
msgstr[1] "s-au citit %lu octeți de date" msgstr[1] "s-au citit %lu octeți de date"
msgstr[2] "s-au citit %lu de octeți de date" msgstr[2] "s-au citit %lu de octeți de date"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
@@ -45,148 +46,147 @@ msgstr[0] "s-a scris un octet"
msgstr[1] "s-au scris %d octeți" msgstr[1] "s-au scris %d octeți"
msgstr[2] "s-au scris %d de octeți" msgstr[2] "s-au scris %d de octeți"
#: ../src/daemon/gnuserv.c:458 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Activează depanarea" msgstr "Activează depanarea"
#: ../src/daemon/gnuserv.c:460 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Mesaje de ieșire explicite" msgstr "Mesaje de ieșire explicite"
#: ../src/daemon/gnuserv.c:462 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "Nu clona în fundal" msgstr "Nu clona în fundal"
#: ../src/daemon/gnuserv.c:464 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Pornit de inetd" msgstr "Pornit de inetd"
#: ../src/daemon/gnuserv.c:498 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run %s --help to see a full list of available command line options.\n"
msgstr "Încercați „%s --help” pentru a vedea o listă completă a opțiunilor.\n" msgstr "Încercați „%s --help” pentru a vedea o listă completă a opțiunilor.\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Terminare" msgstr "Terminare"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Întrerupere" msgstr "Întrerupere"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Ieșire" msgstr "Ieșire"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Instrucțiune ilegală" msgstr "Instrucțiune ilegală"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Punct de oprire întâlnit" msgstr "Punct de oprire întâlnit"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Renunță" msgstr "Renunță"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "Eroare EMT" msgstr "Eroare EMT"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Excepție în virgulă mobilă" msgstr "Excepție în virgulă mobilă"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Omoară" msgstr "Omoară"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Eroare de bus" msgstr "Eroare de bus"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Violare a segmentului" msgstr "Violare a segmentului"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Argument greșit în apelul de sistem" msgstr "Argument greșit în apelul de sistem"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Filtru nefuncțional" msgstr "Filtru nefuncțional"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Ceas de alarmă" msgstr "Ceas de alarmă"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Terminare" msgstr "Terminare"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Condiție de urgență în socket" msgstr "Condiție de urgență în socket"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Stop" msgstr "Stop"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Întrerupere de la tastatură" msgstr "Întrerupere de la tastatură"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Continuă" msgstr "Continuă"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "Starea copilului s-a schimbat" msgstr "Starea copilului s-a schimbat"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "Citire în fundal de la tty" msgstr "Citire în fundal de la tty"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "Scriere în fundal către tty" msgstr "Scriere în fundal către tty"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "Operațiile I/O sunt acum posibile" msgstr "Operațiile I/O sunt acum posibile"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "Limită depășită CPU" msgstr "Limită depășită CPU"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Limită depășită mărime fișier" msgstr "Limită depășită mărime fișier"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Ceas de alarmă virtual" msgstr "Ceas de alarmă virtual"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Ceas de alarmă pentru „profiling”" msgstr "Ceas de alarmă pentru „profiling”"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Schimbare de mărime a ferestrei" msgstr "Schimbare de mărime a ferestrei"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Cerere de informație" msgstr "Cerere de informație"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Semnal 1 definit de utilizator" msgstr "Semnal 1 definit de utilizator"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Semnal 2 definit de utilizator" msgstr "Semnal 2 definit de utilizator"

View File

@@ -4,7 +4,7 @@
# #
# Andraž Tori <andraz.tori1@guest.arnes.si>, 2000. # Andraž Tori <andraz.tori1@guest.arnes.si>, 2000.
# Matic Žgur <mr.zgur@gmail.com>, 2006. # Matic Žgur <mr.zgur@gmail.com>, 2006.
# Matej Urbančič <mateju@svn.gnome.org>, 20072017. # Matej Urbančič <mateju@svn.gnome.org>, + 20072017.
# #
msgid "" msgid ""
msgstr "" msgstr ""
@@ -73,7 +73,7 @@ msgstr "Poklican s programom inetd"
#: src/daemon/gnuserv.c:498 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run “%s --help” to see a full list of available command line options.\n" msgid "Run “%s --help” to see a full list of available command line options.\n"
msgstr "Za popoln seznam možnosti ukazne vrstice zaženite '%s --help'.\n" msgstr "Za popoln seznam možnosti ukazne vrstice zaženite »%s --help«.\n"
#: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"

View File

@@ -1,187 +1,191 @@
# translation of libgtop.po to simplified chinese. # translation of libgtop.po to simplified chinese.
# Copyright (C) 2001,2003 Free Software Foundation, Inc. # Copyright (C) 2001,2003 Free Software Foundation, Inc.
# Dillion Chen <dillon.chen@turbolinux.com.cn>, 2003. # Dillion Chen <dillon.chen@turbolinux.com.cn>, 2003.
# Funda Wang <fundawang@linux.net.cn>, 2004 # Funda Wang <fundawang@linux.net.cn>, 2004.
# Mingcong Bai <jeffbai@aosc.xyz>, 2017.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop\n" "Project-Id-Version: libgtop\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"POT-Creation-Date: 2007-05-14 03:41+0100\n" "product=libgtop&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2007-09-07 17:29+0800\n" "POT-Creation-Date: 2017-04-07 11:45+0000\n"
"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n" "PO-Revision-Date: 2017-06-10 14:27+0800\n"
"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
"Language-Team: zh_CN <i18n-translation@lists.linux.net.cn>\n" "Language-Team: zh_CN <i18n-translation@lists.linux.net.cn>\n"
"Language: zh_CN\n" "Language: zh_CN\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.0.2\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "读取 %d 字节" msgstr[0] "读取 %d 字节"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "读取数据大小" msgstr "读取数据大小"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "读取了 %lu 字节数据" msgstr[0] "读取了 %lu 字节数据"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "写入了 %d 字节" msgstr[0] "写入了 %d 字节"
#: ../src/daemon/gnuserv.c:458 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "允许调试" msgstr "允许调试"
#: ../src/daemon/gnuserv.c:460 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "允许详细输出" msgstr "允许详细输出"
#: ../src/daemon/gnuserv.c:462 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "不在后台生成子进程" msgstr "不在后台生成子进程"
#: ../src/daemon/gnuserv.c:464 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "从 inetd 调用" msgstr "从 inetd 调用"
#: ../src/daemon/gnuserv.c:498 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid ""
msgstr "" "Run “%s --help” to see a full list of available command line "
"运行“%s --help”可查看可用命令行选项的完整列表\n" "options.\n"
msgstr "运行“%s --help”可查看可用命令行选项的完整列表。\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "挂起" msgstr "挂起"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "中断" msgstr "中断"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "退出" msgstr "退出"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "非法指令" msgstr "非法指令"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "跟踪陷阱" msgstr "跟踪陷阱"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "中止" msgstr "中止"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT 错误" msgstr "EMT 错误"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "浮点意外" msgstr "浮点意外"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "杀死" msgstr "杀死"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "总线错误" msgstr "总线错误"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "进程段异常" msgstr "进程段异常"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "系统调用参数错误" msgstr "系统调用参数错误"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "损坏的通道" msgstr "损坏的通道"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "警告时钟" msgstr "警告时钟"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "终止" msgstr "终止"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "套接字紧急条件" msgstr "套接字紧急条件"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "停止" msgstr "停止"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "键盘停止" msgstr "键盘停止"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "继续" msgstr "继续"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "子状态变更" msgstr "子状态变更"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "后台从 tty 读取" msgstr "后台从 tty 读取"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "后台写到 tty" msgstr "后台写到 tty"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "现可以 I/O" msgstr "现可以 I/O"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "达到 CPU 限制" msgstr "达到 CPU 限制"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "达到文件大小限制" msgstr "达到文件大小限制"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "虚拟警报时钟" msgstr "虚拟警报时钟"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "个性化警报时钟" msgstr "个性化警报时钟"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "窗口大小更改" msgstr "窗口大小更改"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "信息请求" msgstr "信息请求"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "用户自定义信号 1" msgstr "用户自定义信号 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "用户自定义信号 2" msgstr "用户自定义信号 2"

View File

@@ -5,9 +5,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop 2.25.0\n" "Project-Id-Version: libgtop 2.25.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
"POT-Creation-Date: 2009-02-09 08:05+0800\n" "POT-Creation-Date: 2018-02-11 08:14+0000\n"
"PO-Revision-Date: 2008-02-14 23:04+0800\n" "PO-Revision-Date: 2018-02-28 20:16+0800\n"
"Last-Translator: Abel Cheung <abel@oaka.org>\n" "Last-Translator: Abel Cheung <abel@oaka.org>\n"
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n" "Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
"Language: zh_TW\n" "Language: zh_TW\n"
@@ -15,171 +15,172 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.0.6\n"
#: ../lib/read.c:51 #: lib/read.c:49
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "讀入 %d 位元組" msgstr[0] "讀入 %d 位元組"
#: ../lib/read_data.c:51 #: lib/read_data.c:49
msgid "read data size" msgid "read data size"
msgstr "讀入資料大小" msgstr "讀入資料大小"
#: ../lib/read_data.c:70 #: lib/read_data.c:66
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "讀入 %lu 位元組的資料" msgstr[0] "讀入 %lu 位元組的資料"
#: ../lib/write.c:51 #: lib/write.c:49
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "寫入 %d 位元組" msgstr[0] "寫入 %d 位元組"
#: ../src/daemon/gnuserv.c:455 #: src/daemon/gnuserv.c:456
msgid "Enable debugging" msgid "Enable debugging"
msgstr "啟用除錯碼" msgstr "啟用除錯碼"
#: ../src/daemon/gnuserv.c:457 #: src/daemon/gnuserv.c:458
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "顯示詳細的輸出訊息" msgstr "顯示詳細的輸出訊息"
#: ../src/daemon/gnuserv.c:459 #: src/daemon/gnuserv.c:460
msgid "Don't fork into background" msgid "Dont fork into background"
msgstr "不要放置於背景執行" msgstr "不要放置於背景執行"
#: ../src/daemon/gnuserv.c:461 #: src/daemon/gnuserv.c:462
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "透過 inetd 執行" msgstr "透過 inetd 執行"
#: ../src/daemon/gnuserv.c:495 #: src/daemon/gnuserv.c:498
#, c-format #, c-format
msgid "Run '%s --help' to see a full list of available command line options.\n" msgid "Run %s --help to see a full list of available command line options.\n"
msgstr "請執行%s --help查看完整的指令列選項清單。\n" msgstr "請執行%s --help查看完整的指令列選項清單。\n"
#: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27 #: sysdeps/osf1/siglist.c:27 sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "掛斷(Hangup)" msgstr "掛斷(Hangup)"
#: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28 #: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "中斷(Interrupt)" msgstr "中斷(Interrupt)"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "結束" msgstr "結束"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "不合法硬體指示" msgstr "不合法硬體指示"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "TRAP 硬體錯誤" msgstr "TRAP 硬體錯誤"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "不正常中止" msgstr "不正常中止"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT 硬體錯誤" msgstr "EMT 硬體錯誤"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "浮點數運算出現例外情況" msgstr "浮點數運算出現例外情況"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "強行中止 (Kill)" msgstr "強行中止 (Kill)"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "匯流排錯誤" msgstr "匯流排錯誤"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "記憶體區段錯誤" msgstr "記憶體區段錯誤"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "系統函式參數錯誤" msgstr "系統函式參數錯誤"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "管線中斷" msgstr "管線中斷"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "系統時鐘訊號" msgstr "系統時鐘訊號"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "強行中止 (Term)" msgstr "強行中止 (Term)"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "socket 緊急情況" msgstr "socket 緊急情況"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "暫停進程" msgstr "暫停進程"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "鍵盤停止" msgstr "鍵盤停止"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "繼續進程" msgstr "繼續進程"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "副進程狀態已改變" msgstr "副進程狀態已改變"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "背景進程從 tty 讀入資料" msgstr "背景進程從 tty 讀入資料"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "背景進程向 tty 輸出資料" msgstr "背景進程向 tty 輸出資料"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "可重新進行輸入/輸出" msgstr "可重新進行輸入/輸出"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "超過 CPU 限制" msgstr "超過 CPU 限制"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "超過檔案大小限制" msgstr "超過檔案大小限制"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "虛擬時鐘訊號" msgstr "虛擬時鐘訊號"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "效能測試計時器週期結束" msgstr "效能測試計時器週期結束"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "更改視窗尺寸" msgstr "更改視窗尺寸"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "要求進程資訊" msgstr "要求進程資訊"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "用戶自定訊號 1" msgstr "用戶自定訊號 1"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "用戶自定訊號 2" msgstr "用戶自定訊號 2"

View File

@@ -45,6 +45,6 @@
#define GLIBTOP_SUID_PROC_AFFINITY 0 #define GLIBTOP_SUID_PROC_AFFINITY 0
#define GLIBTOP_SUID_PROC_WD 0 #define GLIBTOP_SUID_PROC_WD 0
#define GLIBTOP_SUID_PPP 0 #define GLIBTOP_SUID_PPP 0
#define GLIBTOP_SUID_PROC_FILE 0 #define GLIBTOP_SUID_PROC_OPEN_FILES 0
#endif /* __CYGWIN__GLIBTOP_SERVER_H__ */ #endif /* __CYGWIN__GLIBTOP_SERVER_H__ */

View File

@@ -8,7 +8,8 @@ libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c \
cpu.c mem.c swap.c uptime.c loadavg.c shm_limits.c msg_limits.c \ cpu.c mem.c swap.c uptime.c loadavg.c shm_limits.c msg_limits.c \
sem_limits.c procaffinity.c proclist.c procstate.c procuid.c proctime.c \ sem_limits.c procaffinity.c proclist.c procstate.c procuid.c proctime.c \
procmem.c procsignal.c prockernel.c procsegment.c procargs.c \ procmem.c procsignal.c prockernel.c procsegment.c procargs.c \
procmap.c netload.c ppp.c netlist.c procopenfiles.c procwd.c procmap.c netload.c ppp.c netlist.c procopenfiles.c procwd.c \
procio.c
libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h
libgtopincludedir = $(includedir)/libgtop-2.0 libgtopincludedir = $(includedir)/libgtop-2.0

View File

@@ -45,6 +45,8 @@ G_BEGIN_DECLS
#define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP) #define GLIBTOP_SUID_PPP (1 << GLIBTOP_SYSDEPS_PPP)
#define GLIBTOP_SUID_PROC_WD (1 << GLIBTOP_SYSDEPS_PROC_WD) #define GLIBTOP_SUID_PROC_WD (1 << GLIBTOP_SYSDEPS_PROC_WD)
#define GLIBTOP_SUID_PROC_AFFINITY 0 #define GLIBTOP_SUID_PROC_AFFINITY 0
#define GLIBTOP_SUID_PROC_IO 0
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
G_END_DECLS G_END_DECLS

44
sysdeps/darwin/procio.c Normal file
View File

@@ -0,0 +1,44 @@
/* Copyright (C) 2018 Benoît Dejean
This file is part of LibGTop.
Contributed by Benoît Dejean <bdejean@gmail.com>, February 2018.
LibGTop 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.
LibGTop 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 LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procio.h>
static const unsigned long _glibtop_sysdeps_proc_io;
/* Init function. */
void
_glibtop_init_proc_io_s (glibtop *server)
{
server->sysdeps.proc_io = _glibtop_sysdeps_proc_io;
}
/* Provides detailed information about a process. */
void
glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf, pid_t pid)
{
memset (buf, 0, sizeof (glibtop_proc_io));
buf->flags = _glibtop_sysdeps_proc_io;
}

View File

@@ -48,6 +48,7 @@ G_BEGIN_DECLS
#define GLIBTOP_SUID_PROC_WD 0 #define GLIBTOP_SUID_PROC_WD 0
#define GLIBTOP_SUID_PROC_AFFINITY 0 #define GLIBTOP_SUID_PROC_AFFINITY 0
#define GLIBTOP_SUID_PROC_IO (1 << GLIBTOP_SYSDEPS_PROC_IO) #define GLIBTOP_SUID_PROC_IO (1 << GLIBTOP_SYSDEPS_PROC_IO)
#define GLIBTOP_SUID_PROC_OPEN_FILES 0
G_END_DECLS G_END_DECLS

View File

@@ -55,6 +55,16 @@ static gulong mem_get_by_bytes (glibtop *server, const char *name) {
return result; return result;
} }
static gulong try_mem_get_by_bytes (glibtop *server, const char *name) {
gulong result = 0;
size_t len = sizeof (result);
if (sysctlbyname (name, &result, &len, NULL, 0)) {
return 0;
}
return result;
}
static gulong mem_get_by_pages (glibtop *server, const char *name) { static gulong mem_get_by_pages (glibtop *server, const char *name) {
guint result = 0; guint result = 0;
size_t len = sizeof (result); size_t len = sizeof (result);
@@ -71,29 +81,35 @@ glibtop_get_mem_s (glibtop *server, glibtop_mem *buf)
gulong memtotal; gulong memtotal;
gulong memactive; gulong memactive;
gulong meminactive; gulong meminactive;
gulong memlaundry;
gulong memwired; gulong memwired;
gulong memcached; gulong memcached;
gulong membuffer; gulong membuffer;
gulong memfree; gulong memfree;
gulong zfs_arc_size;
memset (buf, 0, sizeof *buf); memset (buf, 0, sizeof *buf);
memtotal = mem_get_by_bytes (server, "hw.physmem"); memtotal = mem_get_by_bytes (server, "hw.physmem");
memactive = mem_get_by_pages (server, "vm.stats.vm.v_active_count"); memactive = mem_get_by_pages (server, "vm.stats.vm.v_active_count");
meminactive = mem_get_by_pages (server, "vm.stats.vm.v_inactive_count"); meminactive = mem_get_by_pages (server, "vm.stats.vm.v_inactive_count");
memlaundry = mem_get_by_pages (server, "vm.stats.vm.v_laundry_count");
memwired = mem_get_by_pages (server, "vm.stats.vm.v_wire_count"); memwired = mem_get_by_pages (server, "vm.stats.vm.v_wire_count");
memcached = mem_get_by_pages (server, "vm.stats.vm.v_cache_count"); memcached = mem_get_by_pages (server, "vm.stats.vm.v_cache_count");
membuffer = mem_get_by_bytes (server, "vfs.bufspace"); membuffer = mem_get_by_bytes (server, "vfs.bufspace");
memfree = mem_get_by_pages (server, "vm.stats.vm.v_free_count"); memfree = mem_get_by_pages (server, "vm.stats.vm.v_free_count");
zfs_arc_size = try_mem_get_by_bytes (server, "kstat.zfs.misc.arcstats.size");
buf->total = memtotal; buf->total = memtotal;
buf->used = memtotal - memfree; buf->used = memtotal - memfree;
buf->free = memfree; buf->free = memfree;
buf->shared = 0; buf->shared = 0;
buf->buffer = membuffer; buf->buffer = membuffer;
buf->cached = memcached; buf->cached = memcached + zfs_arc_size;
buf->locked = 0; buf->locked = 0;
buf->user = memactive + memwired; buf->user = memactive + memlaundry + memwired - zfs_arc_size;
buf->flags = _glibtop_sysdeps_mem; buf->flags = _glibtop_sysdeps_mem;
} }

View File

@@ -1,6 +1,6 @@
AM_CPPFLAGS = @AM_CPPFLAGS@ AM_CPPFLAGS = @AM_CPPFLAGS@
noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
EXTRA_DIST = procmap_smaps.gperf procmap_smaps.c EXTRA_DIST = procmap_smaps.gperf procmap_smaps.c
@@ -17,7 +17,9 @@ libgtop_sysdeps_2_0_la_LIBADD = @GLIB_LIBS@
# libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO) # libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h libgtop_sysdeps_suid_2_0_la_SOURCES = suid_open.c
libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h glibtop_suid.h
libgtopincludedir = $(includedir)/libgtop-2.0 libgtopincludedir = $(includedir)/libgtop-2.0
noinst_HEADERS = glibtop_private.h noinst_HEADERS = glibtop_private.h

View File

@@ -28,6 +28,10 @@ G_BEGIN_DECLS
struct _glibtop_machine struct _glibtop_machine
{ {
uid_t uid;
uid_t euid;
gid_t gid;
gid_t egid;
}; };
G_END_DECLS G_END_DECLS

View File

@@ -45,7 +45,7 @@
#define GLIBTOP_SUID_PROC_WD 0 #define GLIBTOP_SUID_PROC_WD 0
#define GLIBTOP_SUID_PROC_AFFINITY 0 #define GLIBTOP_SUID_PROC_AFFINITY 0
#define GLIBTOP_SUID_PPP 0 #define GLIBTOP_SUID_PPP 0
#define GLIBTOP_SUID_PROC_FILE 0 #define GLIBTOP_SUID_PROC_OPEN_FILES 0
#define GLIBTOP_SUID_PROC_IO 0 #define GLIBTOP_SUID_PROC_IO 0
#endif /* __LINUX__GLIBTOP_SERVER_H__ */ #endif /* __LINUX__GLIBTOP_SERVER_H__ */

View File

@@ -0,0 +1,49 @@
/* Copyright (C) 2018 Benoît Dejean
LibGTop 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.
LibGTop 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 LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef __GLIBTOP_SUID_H__
#define __GLIBTOP_SUID_H__
G_BEGIN_DECLS
#include <glibtop_machine.h>
static inline void glibtop_suid_enter (glibtop *server) {
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
setreuid (server->machine->uid, server->machine->euid);
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
};
static inline void glibtop_suid_leave (glibtop *server) {
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
if (setreuid (server->machine->euid, server->machine->uid))
_exit (1);
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
};
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags);
void
glibtop_open_p (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags);
G_END_DECLS
#endif

View File

@@ -136,7 +136,7 @@ parse_line(char* line,
{ {
/* %16llx-%16llx %4c %16llx %02hx:%02hx %llu%*[ ]%n */ /* %16llx-%16llx %4c %16llx %02hx:%02hx %llu%*[ ]%n */
char *p, *next; char *p;
p = line; p = line;

View File

@@ -0,0 +1,334 @@
/*
Don't forget to set
#define GLIBTOP_SUID_PROC_MAP (1 << GLIBTOP_SYSDEPS_PROC_MAP)
in sysdeps/linux/glibtop_server.h
Make sure to pair each glibtop_suid_enter with a glibtop_suid_leave.
*/
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop 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.
LibGTop 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 LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include <config.h>
#include <glib.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/procmap.h>
#include <linux/kdev_t.h>
#include <stddef.h>
#include "glibtop_private.h"
#include "glibtop_suid.h"
#include "procmap_smaps.c"
#define MAPS_FILE "/proc/%u/maps"
#define SMAPS_FILE "/proc/%u/smaps"
#define PROC_MAPS_FORMAT "%16" G_GINT64_MODIFIER "x-%16" G_GINT64_MODIFIER "x %4c %16" G_GINT64_MODIFIER "x %02hx:%02hx %" G_GINT64_MODIFIER "u%*[ ]%n"
static const unsigned long _glibtop_sysdeps_proc_map =
(1L << GLIBTOP_PROC_MAP_NUMBER) + (1L << GLIBTOP_PROC_MAP_TOTAL) +
(1L << GLIBTOP_PROC_MAP_SIZE);
static const unsigned long _glibtop_sysdeps_map_entry =
(1L << GLIBTOP_MAP_ENTRY_START) + (1L << GLIBTOP_MAP_ENTRY_END) +
(1L << GLIBTOP_MAP_ENTRY_OFFSET) + (1L << GLIBTOP_MAP_ENTRY_PERM) +
(1L << GLIBTOP_MAP_ENTRY_INODE) + (1L << GLIBTOP_MAP_ENTRY_DEVICE) +
(1L << GLIBTOP_MAP_ENTRY_FILENAME);
static const unsigned long _glibtop_sysdeps_map_entry_smaps =
(1UL << GLIBTOP_MAP_ENTRY_SIZE) + (1UL << GLIBTOP_MAP_ENTRY_RSS) +
(1UL << GLIBTOP_MAP_ENTRY_PSS) + (1UL << GLIBTOP_MAP_ENTRY_SWAP) +
(1UL << GLIBTOP_MAP_ENTRY_SHARED_DIRTY) + (1UL << GLIBTOP_MAP_ENTRY_SHARED_CLEAN) +
(1UL << GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY) + (1UL << GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN);
/* Init function. */
void
_glibtop_init_proc_map_p (glibtop *server)
{
server->sysdeps.proc_map = _glibtop_sysdeps_proc_map;
}
/* Provides detailed information about a process. */
static const char*
is_smap_value(const char* s)
{
for ( ; *s; ++s) {
if (isspace(*s))
return NULL;
if (*s == ':')
return s;
}
return NULL;
}
/*
Returns whether line is a 'value' line
and add if we know its meaning
*/
static gboolean
parse_smaps(glibtop_map_entry *entry, const char* line)
{
const struct smap_value* smap;
size_t len;
const char* colon;
if ((colon = is_smap_value(line)) == NULL)
return FALSE;
len = colon - line;
smap = _glibtop_find_smap(line, len);
// g_debug("smap %s -> %p", line, smap);
if (smap) {
char *offset;
guint64 *value;
offset = (void*) entry;
offset += smap->offset;
value = (void*) offset;
*value = get_scaled(line + len, NULL);
}
return TRUE;
}
/*
sscanf is too slow
and system-monitor calls procmap for each pid every second
manual parsing is faster
error checking is weaker
*/
static gboolean
parse_line(char* line,
guint64* start, guint64* end, char flags[4], guint64* offset,
gushort* dev_major, gushort* dev_minor, guint64* inode,
char** filename)
{
/* %16llx-%16llx %4c %16llx %02hx:%02hx %llu%*[ ]%n */
char *p, *next;
p = line;
*start = strtoull(p, &p, 16);
if (G_UNLIKELY(*p != '-'))
return FALSE;
p++;
*end = strtoull(p, &p, 16);
p = next_token(p);
memcpy(flags, p, 4);
p += 4;
*offset = strtoull(p, &p, 16);
*dev_major = strtoul(p, &p, 16);
if (G_UNLIKELY(*p != ':'))
return FALSE;
p++;
*dev_minor = strtoul(p, &p, 16);
*inode = strtoull(p, &p, 10);
p = next_token(p);
*filename = p;
for ( ; *p; p++) {
if (*p == '\n') {
*p = '\0';
break;
}
}
return TRUE;
}
glibtop_map_entry *
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid)
{
char procfilename[GLIBTOP_MAP_FILENAME_LEN+1];
/*
default size of 100 maybe inaccurate.
It's the average number of entry per process on my laptop
*/
size_t added = 0, entry_list_capacity = 100;
GArray *entry_list = g_array_sized_new(FALSE, FALSE,
sizeof(glibtop_map_entry),
entry_list_capacity);
FILE *maps;
const char *filename;
gboolean has_smaps;
char *line = NULL;
size_t line_size = 0;
memset (buf, 0, sizeof (glibtop_proc_map));
has_smaps = server->os_version_code >= LINUX_VERSION_CODE(2, 6, 14);
if (has_smaps)
filename = SMAPS_FILE;
else
filename = MAPS_FILE;
snprintf (procfilename, sizeof procfilename, filename, (unsigned)pid);
glibtop_suid_enter (server);
if((maps = fopen (procfilename, "r")) == NULL) {
glibtop_suid_leave (server);
return (glibtop_map_entry*) g_array_free(entry_list, TRUE);
}
glibtop_debug("opened %p", maps);
glibtop_suid_leave (server);
while(TRUE)
{
unsigned long perm;
/* int line_end; */
unsigned short dev_major, dev_minor;
guint64 start, end, offset, inode;
char flags[4];
char *filename;
glibtop_map_entry *entry;
if (getline(&line, &line_size, maps) == -1)
break;
new_entry_line:
if (!parse_line(line,
&start, &end, flags, &offset,
&dev_major, &dev_minor, &inode, &filename))
continue;
/*
if (sscanf(line, PROC_MAPS_FORMAT,
&start, &end, flags, &offset,
&dev_major, &dev_minor, &inode, &line_end) != 7)
continue;
filename = line + line_end;
g_strstrip(filename);
*/
/* Compute access permissions. */
perm = 0;
if (flags [0] == 'r')
perm |= GLIBTOP_MAP_PERM_READ;
if (flags [1] == 'w')
perm |= GLIBTOP_MAP_PERM_WRITE;
if (flags [2] == 'x')
perm |= GLIBTOP_MAP_PERM_EXECUTE;
if (flags [3] == 's')
perm |= GLIBTOP_MAP_PERM_SHARED;
else if (flags [3] == 'p')
perm |= GLIBTOP_MAP_PERM_PRIVATE;
/*
avoid copying the entry, grow by 1 and point to the last
element.
*/
if (G_UNLIKELY(added >= entry_list_capacity)) {
entry_list_capacity *= 2;
g_array_set_size(entry_list, entry_list_capacity);
}
entry = &g_array_index(entry_list, glibtop_map_entry, added++);
entry->flags = _glibtop_sysdeps_map_entry;
entry->start = start;
entry->end = end;
entry->offset = offset;
entry->perm = perm;
entry->device = MKDEV(dev_major, dev_minor);
entry->inode = inode;
g_strlcpy(entry->filename, filename, sizeof entry->filename);
if (has_smaps) {
ssize_t ret;
entry->flags |= _glibtop_sysdeps_map_entry_smaps;
while ((ret = getline(&line, &line_size, maps)) != -1) {
if (!parse_smaps(entry, line))
goto new_entry_line;
}
if (ret == -1)
goto eof;
}
}
eof:
g_array_set_size(entry_list, added);
free(line);
fclose (maps);
buf->flags = _glibtop_sysdeps_proc_map;
buf->number = added;
buf->size = sizeof (glibtop_map_entry);
buf->total = buf->number * buf->size;
return (glibtop_map_entry*) g_array_free(entry_list, FALSE);
}

View File

@@ -35,7 +35,7 @@ static const unsigned long _glibtop_sysdeps_proc_mem_pss =
static unsigned long static unsigned long
get_pss(glibtop* server, pid_t pid) G_GNUC_UNUSED get_pss(glibtop* server, pid_t pid)
{ {
char filepath[128]; char filepath[128];
FILE* smaps; FILE* smaps;

80
sysdeps/linux/suid_open.c Normal file
View File

@@ -0,0 +1,80 @@
/* Copyright (C) 2018 Benoît Dejean
LibGTop 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.
LibGTop 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 LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include <glibtop/cpu.h>
#include <glibtop/open.h>
#include <glibtop/init_hooks.h>
#include <glibtop/machine.h>
/* !!! THIS FUNCTION RUNS SUID ROOT - CHANGE WITH CAUTION !!! */
void
glibtop_init_p (glibtop *server, const unsigned long features,
const unsigned flags)
{
const _glibtop_init_func_t *init_fkt;
if (server == NULL)
glibtop_error_r (NULL, "glibtop_init_p (server == NULL)");
/* Do the initialization, but only if not already initialized. */
if ((server->flags & _GLIBTOP_INIT_STATE_SYSDEPS) == 0) {
glibtop_open_p (server, "glibtop", features, flags);
for (init_fkt = _glibtop_init_hook_p; *init_fkt; init_fkt++)
(*init_fkt) (server);
server->flags |= _GLIBTOP_INIT_STATE_SYSDEPS;
}
}
void
glibtop_open_p (glibtop *server, const char *program_name,
const unsigned long features,
const unsigned flags)
{
glibtop_debug ("glibtop_open_p ()");
/* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
server->machine->uid = getuid ();
server->machine->euid = geteuid ();
server->machine->gid = getgid ();
server->machine->egid = getegid ();
/* Drop priviledges. */
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
if (setreuid (server->machine->euid, server->machine->uid))
_exit (1);
if (setregid (server->machine->egid, server->machine->gid))
_exit (1);
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
/* !!! END OF SUID ROOT PART !!! */
/* Our effective uid is now those of the user invoking the server,
* so we do no longer have any priviledges. */
}