summaryrefslogtreecommitdiffstats
path: root/po
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--po/ChangeLog67
-rw-r--r--po/LINGUAS2
-rw-r--r--po/Makefile.in.in510
-rw-r--r--po/Makevars78
-rw-r--r--po/POTFILES.in10
-rw-r--r--po/Rules-quot62
-rw-r--r--po/bg.gmobin0 -> 5268 bytes
-rw-r--r--po/bg.po829
-rw-r--r--po/boldquot.sed10
-rw-r--r--po/ca.gmobin0 -> 1696 bytes
-rw-r--r--po/ca.po824
-rw-r--r--po/cs.gmobin0 -> 18667 bytes
-rw-r--r--po/cs.po844
-rw-r--r--po/da.gmobin0 -> 17551 bytes
-rw-r--r--po/da.po826
-rw-r--r--po/de.gmobin0 -> 18853 bytes
-rw-r--r--po/de.po892
-rw-r--r--po/el.gmobin0 -> 20607 bytes
-rw-r--r--po/el.po754
-rw-r--r--po/en@boldquot.header25
-rw-r--r--po/en@quot.header22
-rw-r--r--po/eo.gmobin0 -> 17860 bytes
-rw-r--r--po/eo.po867
-rw-r--r--po/es.gmobin0 -> 19035 bytes
-rw-r--r--po/es.po797
-rw-r--r--po/eu.gmobin0 -> 8021 bytes
-rw-r--r--po/eu.po1002
-rw-r--r--po/fi.gmobin0 -> 12015 bytes
-rw-r--r--po/fi.po1012
-rw-r--r--po/fr.gmobin0 -> 18979 bytes
-rw-r--r--po/fr.po888
-rw-r--r--po/hr.gmobin0 -> 18391 bytes
-rw-r--r--po/hr.po856
-rw-r--r--po/hu.gmobin0 -> 11580 bytes
-rw-r--r--po/hu.po847
-rw-r--r--po/id.gmobin0 -> 18109 bytes
-rw-r--r--po/id.po754
-rw-r--r--po/insert-header.sin28
-rw-r--r--po/it.gmobin0 -> 15795 bytes
-rw-r--r--po/it.po810
-rw-r--r--po/ja.gmobin0 -> 3903 bytes
-rw-r--r--po/ja.po821
-rw-r--r--po/ka.gmobin0 -> 27787 bytes
-rw-r--r--po/ka.po767
-rw-r--r--po/ko.gmobin0 -> 19600 bytes
-rw-r--r--po/ko.po745
-rw-r--r--po/nb.gmobin0 -> 3890 bytes
-rw-r--r--po/nb.po833
-rw-r--r--po/nl.gmobin0 -> 18295 bytes
-rw-r--r--po/nl.po839
-rw-r--r--po/pl.gmobin0 -> 18618 bytes
-rw-r--r--po/pl.po739
-rw-r--r--po/psmisc.pot600
-rw-r--r--po/pt.gmobin0 -> 18025 bytes
-rw-r--r--po/pt.po848
-rw-r--r--po/pt_BR.gmobin0 -> 18167 bytes
-rw-r--r--po/pt_BR.po882
-rw-r--r--po/quot.sed6
-rw-r--r--po/remove-potcdate.sin25
-rw-r--r--po/ro.gmobin0 -> 19506 bytes
-rw-r--r--po/ro.po865
-rw-r--r--po/ru.gmobin0 -> 23424 bytes
-rw-r--r--po/ru.po892
-rw-r--r--po/sr.gmobin0 -> 22443 bytes
-rw-r--r--po/sr.po846
-rw-r--r--po/stamp-po1
-rw-r--r--po/sv.gmobin0 -> 17974 bytes
-rw-r--r--po/sv.po898
-rw-r--r--po/uk.gmobin0 -> 23815 bytes
-rw-r--r--po/uk.po880
-rw-r--r--po/vi.gmobin0 -> 20359 bytes
-rw-r--r--po/vi.po857
-rw-r--r--po/zh_CN.gmobin0 -> 17602 bytes
-rw-r--r--po/zh_CN.po864
-rw-r--r--po/zh_TW.gmobin0 -> 17727 bytes
-rw-r--r--po/zh_TW.po834
76 files changed, 27658 insertions, 0 deletions
diff --git a/po/ChangeLog b/po/ChangeLog
new file mode 100644
index 0000000..b8e8835
--- /dev/null
+++ b/po/ChangeLog
@@ -0,0 +1,67 @@
+2024-01-13 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.21.
+ * Rules-quot: Upgrade to gettext-0.21.
+ * en@boldquot.header: Upgrade to gettext-0.21.
+ * en@quot.header: Upgrade to gettext-0.21.
+ * insert-header.sin: Upgrade to gettext-0.21.
+ * remove-potcdate.sin: Upgrade to gettext-0.21.
+
+2015-06-30 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.19.4.
+ * Rules-quot: Upgrade to gettext-0.19.4.
+
+2007-03-02 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.16.1.
+
+2004-04-30 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: New file, from gettext-0.14.1.
+ * Makevars: New file, from gettext-0.14.1.
+ * Rules-quot: New file, from gettext-0.14.1.
+ * boldquot.sed: New file, from gettext-0.14.1.
+ * en@boldquot.header: New file, from gettext-0.14.1.
+ * en@quot.header: New file, from gettext-0.14.1.
+ * insert-header.sin: New file, from gettext-0.14.1.
+ * quot.sed: New file, from gettext-0.14.1.
+ * remove-potcdate.sin: New file, from gettext-0.14.1.
+
+2004-04-05 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.14.1.
+ * Makevars: Upgrade to gettext-0.14.1.
+ * Rules-quot: Upgrade to gettext-0.14.1.
+
+2003-11-28 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.12.1.
+
+2002-08-16 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: New file, from gettext-0.11.5.
+ * Rules-quot: New file, from gettext-0.11.5.
+ * boldquot.sed: New file, from gettext-0.11.5.
+ * en@boldquot.header: New file, from gettext-0.11.5.
+ * en@quot.header: New file, from gettext-0.11.5.
+ * insert-header.sin: New file, from gettext-0.11.5.
+ * quot.sed: New file, from gettext-0.11.5.
+ * remove-potcdate.sin: New file, from gettext-0.11.5.
+
+2001-06-13 gettextize <bug-gnu-utils@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.10.36.
+
+2001-06-13 gettextize <bug-gnu-utils@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.10.36.
+
+2001-06-13 gettextize <bug-gnu-utils@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.10.36.
+
+2001-06-13 gettextize <bug-gnu-utils@gnu.org>
+
+ * Makefile.in.in: Upgrade to gettext-0.10.36.
+
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 0000000..57c058f
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1,2 @@
+# Enabled languages
+bg ca cs da de el eo es eu fi fr hr hu id it ja ka ko nb nl pl pt_BR pt ro ru sr sv uk vi zh_CN zh_TW
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 0000000..6b25f0d
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,510 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 2000-2020 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This file is offered as-is,
+# without any warranty.
+#
+# Origin: gettext-0.21
+GETTEXT_MACRO_VERSION = 0.20
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs. However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = @MSGMERGE@
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+all: all-@USE_NLS@
+
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update
+
+# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs.
+# The GNU Coding Standards say in
+# <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>:
+# "GNU distributions usually contain some files which are not source files
+# ... . Since these files normally appear in the source directory, they
+# should always appear in the source directory, not in the build directory.
+# So Makefile rules to update them should put the updated files in the
+# source directory."
+# Therefore we put these files in the source directory, not the build directory.
+
+# During .po -> .gmo conversion, take into account the most recent changes to
+# the .pot file. This eliminates the need to update the .po files when the
+# .pot file has changed, which would be troublesome if the .po files are put
+# under version control.
+$(GMOFILES): $(srcdir)/$(DOMAIN).pot
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \
+ cd $(srcdir) && \
+ rm -f $${lang}.gmo && \
+ $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && \
+ $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.1po && \
+ mv t-$${lang}.gmo $${lang}.gmo && \
+ rm -f $${lang}.1po
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all-yes: $(srcdir)/stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+ exit 1; \
+ }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, $(srcdir)/stamp-po is a nop (i.e. a phony target).
+
+# $(srcdir)/stamp-po is a timestamp denoting the last time at which the CATALOGS
+# have been loosely updated. Its purpose is that when a developer or translator
+# checks out the package from a version control system, and the $(DOMAIN).pot
+# file is not under version control, "make" will update the $(DOMAIN).pot and
+# the $(CATALOGS), but subsequent invocations of "make" will do nothing. This
+# timestamp would not be necessary if updating the $(CATALOGS) would always
+# touch them; however, the rule for $(POFILES) has been designed to not touch
+# files that don't need to be changed.
+$(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
+ @$(CHECK_MACRO_VERSION)
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch $(srcdir)/stamp-po" && \
+ echo timestamp > $(srcdir)/stamp-poT && \
+ mv $(srcdir)/stamp-poT $(srcdir)/stamp-po; \
+ }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ package_gnu="$(PACKAGE_GNU)"; \
+ test -n "$$package_gnu" || { \
+ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep -i 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \
+ else \
+ LC_ALL=C grep -i 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+ fi; \
+ } | grep -v 'libtool:' >/dev/null; then \
+ package_gnu=yes; \
+ else \
+ package_gnu=no; \
+ fi; \
+ }; \
+ if test "$$package_gnu" = "yes"; then \
+ package_prefix='GNU '; \
+ else \
+ package_prefix=''; \
+ fi; \
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_prefix}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ ;; \
+ esac
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+ cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po && \
+ rm -f $(DOMAIN).1po \
+ || exit 1; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(POFILESDEPS)
+ @test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ 0.1[6-7] | 0.1[6-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+install-dvi install-ps install-pdf install-html:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f $(srcdir)/stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f $(srcdir)/$(DOMAIN).pot $(srcdir)/stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: $(srcdir)/stamp-po $(DISTFILES)
+ @dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ else \
+ case $(XGETTEXT) in \
+ :) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because a suitable 'xgettext' program was not found in PATH." 1>&2;; \
+ *) echo "Warning: Creating a tarball without '$(DOMAIN).pot', because 'xgettext' found no strings to extract. Check the contents of the POTFILES.in file and the XGETTEXT_OPTIONS in the Makevars file." 1>&2;; \
+ esac; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir) || exit 1; \
+ else \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ 0.1[6-7] | 0.1[6-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 0000000..23f15ac
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,78 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty. If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# 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
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = csmall@dropbear.xyz
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context. Possible values are "yes" and "no". Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+# --previous to keep previous msgids of translated messages,
+# --quiet to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed. Possible values are "yes" and "no". Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist". Possible values are "yes" and
+# "no". Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = no
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..4f88f21
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,10 @@
+src/fuser.c
+src/killall.c
+src/peekfd.c
+src/prtstat.c
+src/pslog.c
+src/pstree.c
+src/signals.c
+src/signames.c
+src/socket_test.c
+src/statx.c
diff --git a/po/Rules-quot b/po/Rules-quot
new file mode 100644
index 0000000..18c024b
--- /dev/null
+++ b/po/Rules-quot
@@ -0,0 +1,62 @@
+# Special Makefile rules for English message catalogs with quotation marks.
+#
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# This file, Rules-quot, and its auxiliary files (listed under
+# DISTFILES.common.extra1) are free software; the Free Software Foundation
+# gives unlimited permission to use, copy, distribute, and modify them.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+ $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+ $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ ll=`echo $$lang | sed -e 's/@.*//'`; \
+ LC_ALL=C; export LC_ALL; \
+ cd $(srcdir); \
+ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+ ;; \
+ *) \
+ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+ ;; \
+ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+ ; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "creation of $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+en@quot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+ rm -f *.insert-header
diff --git a/po/bg.gmo b/po/bg.gmo
new file mode 100644
index 0000000..2e755e4
--- /dev/null
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..4a21016
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,829 @@
+# Message catalog for psmisc
+# Copyright © 2006 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Anton Zinoviev <zinoviev@debian.org>, 2006
+#
+# This file should be sent to translation@iro.umontreal.ca with the
+# following subject line: TP-Robot psmisc-22.2pre1.bg.po
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 22.2pre1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2006-03-07 11:49+0200\n"
+"Last-Translator: Anton Zinoviev <zinoviev@debian.org>\n"
+"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/fuser.c:146
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] "
+#| "NAME...\n"
+#| " [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n"
+#| " fuser -l\n"
+#| " fuser -V\n"
+#| "Show which processes use the named files, sockets, or filesystems.\n"
+#| "\n"
+#| " -a display unused files too\n"
+#| " -c mounted FS\n"
+#| " -f silently ignored (for POSIX compatibility)\n"
+#| " -i ask before killing (ignored without -k)\n"
+#| " -k kill processes accessing the named file\n"
+#| " -l list available signal names\n"
+#| " -m show all processes using the named filesystems\n"
+#| " -n SPACE search in this name space (file, udp, or tcp)\n"
+#| " -s silent operation\n"
+#| " -SIGNAL send this signal instead of SIGKILL\n"
+#| " -u display user IDs\n"
+#| " -v verbose output\n"
+#| " -V display version information\n"
+#| " -4 search IPv4 sockets only\n"
+#| " -6 search IPv6 sockets only\n"
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Използване: fuser [ -a | -s | -c ] [ -n ВИДИМЕ ] [ -СИГНАЛ ] [ -kimuv ] "
+"ИМЕ...\n"
+" [ - ] [ -n ВИДИМЕ ] [ -СИГНАЛ ] [ -kimuv ] ИМЕ...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Показва кои процеси използват посочените файлове, гнезда или файлови "
+"системи.\n"
+"\n"
+" -a извежда също и неизползваните файлове\n"
+" -c монтирана файлова система (същото като -m)\n"
+" -f игнорира се (за съвместимост с POSIX)\n"
+" -i пита преди да убие (без -k се игнорира)\n"
+" -k убива процесите, използващи посочения файл\n"
+" -l извежда достъпните имена на сигнали\n"
+" -m показва всички процеси, използващи зададената файлова система\n"
+" -n ВИДИМЕ използва такъв вид имена (може да бъде file, udp или tcp)\n"
+" -s „тих режим“ - не съобщава какво се прави\n"
+" -СИГНАЛ изпраща този сигнал вместо SIGKILL\n"
+" -u извежда собствениците на процесите\n"
+" -v подробен изход\n"
+" -V извежда информация за версията на fuser\n"
+" -4 търси само IPv4-гнезда\n"
+" -6 търси само IPv6-гнезда\n"
+" - отменя всички опции\n"
+"\n"
+"Имената от вид udp/tcp са: [локален_порт][,[отдалечен_хост][,"
+"[отдалечен_порт]]]\n"
+"\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 1993-2005 Werner Almesberger и Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc се разпространява без АБСОЛЮТНО НИКАКВИ ГАРАНЦИИ.\n"
+"Това е свободен софтуер и вие може да го разпространявате свободно съгласно\n"
+"условията на Основната общодостъпна лицензия на ГНУ.\n"
+"За повече информация относно това, погледнете файловете с име COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Каталогът /proc не може да се отвори: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Не може да се задели памет за съответстващ процес: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr ""
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Не може да се достигне %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Не може да се определи локалният порт %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Непознат вид адрес на локалния порт %d (unknown local port AF)\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Не може да се отвори файлът за протокол „%s“: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr ""
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr ""
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Опцията за вид име изисква аргумент."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Неправилен вид имена"
+
+#: src/fuser.c:1309
+#, fuzzy
+#| msgid "You can only use files with mountpoint option"
+msgid "You can only use files with mountpoint options"
+msgstr "При опцията за файлова система може да се посочват само файлове"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Не е зададена спецификация на процес"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "опцията -a не може да се използва едновременно с -q"
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Не може да търсите само IPv4-гнезда и в същото време само IPv6-гнезда"
+
+#: src/fuser.c:1474
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "%*s USER PID ACCESS COMMAND\n"
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr ""
+"\n"
+"%*s ПОТРЕБИТЕЛ Пот№ ДОСТЪП КОМАНДА\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(неизвест)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Файлът %s не може да се достигне: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Не може да се отвори /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Да се убие ли процесът %d? (д/Н) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Процесът %d не може да бъде убит: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Не може да се отвори мрежово гнездо.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Не може да бъде намерен номерът на устройството на гнездото.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Да се убие ли %s(%s%d) ? (д/Н) "
+
+#: src/killall.c:114
+#, fuzzy, c-format
+#| msgid "Kill %s(%s%d) ? (y/N) "
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Да се убие ли %s(%s%d) ? (д/Н) "
+
+#: src/killall.c:262
+#, fuzzy, c-format
+#| msgid "Cannot get UID from process status\n"
+msgid "killall: Cannot get UID from process status\n"
+msgstr ""
+"Въз основа на състоянието на процеса не може да се установи потребителят "
+"собственик\n"
+
+#: src/killall.c:368
+#, fuzzy, c-format
+#| msgid "Bad regular expression: %s\n"
+msgid "killall: Bad regular expression: %s\n"
+msgstr "Неправилен регулярен израз: %s\n"
+
+#: src/killall.c:525
+#, fuzzy, c-format
+#| msgid "skipping partial match %s(%d)\n"
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "пропуска се частичнотото съвпадение %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) се убива със сигнал %d\n"
+
+#: src/killall.c:796
+#, fuzzy, c-format
+#| msgid "%s: no process killed\n"
+msgid "%s: no process found\n"
+msgstr "%s: никой процес не е убит\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Използвване: killall [ОПЦИЯ]... [--] ИМЕ...\n"
+
+#: src/killall.c:839
+#, fuzzy, c-format
+#| msgid ""
+#| " killall -l, --list\n"
+#| " killall -V, --version\n"
+#| "\n"
+#| " -e,--exact require exact match for very long names\n"
+#| " -I,--ignore-case case insensitive process name match\n"
+#| " -g,--process-group kill process group instead of process\n"
+#| " -i,--interactive ask for confirmation before killing\n"
+#| " -l,--list list all known signal names\n"
+#| " -q,--quiet don't print complaints\n"
+#| " -r,--regexp interpret NAME as an extended regular expression\n"
+#| " -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+#| " -u,--user USER kill only process(es) running as USER\n"
+#| " -v,--verbose report if the signal was successfully sent\n"
+#| " -V,--version display version information\n"
+#| " -w,--wait wait for processes to die\n"
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact изисква точно съвпадение при много дълги имена\n"
+" -I,--ignore-case нечувствително към малки/големи букви сравнение с "
+"името\n"
+" -g,--process-group убива групата на процеса вместо самия процес\n"
+" -i,--interactive пита за потвърждение преди да убие\n"
+" -l,--list извежда всички познати имена на сигнали\n"
+" -q,--quiet да не протестира (например ако никой процес не е "
+"убит)\n"
+" -r,--regexp използва ИМЕ като разширен регулярен израз\n"
+" -s,--signal СИГНАЛ изпраща този сигнал вместо SIGTERM\n"
+" -u,--user ПОТРЕБ убива само процес(и), изпълнявани от ПОТРЕБителя\n"
+" -v,--verbose съобщава, ако успешно е изпратен сигнал\n"
+" -V,--version извежда информация за версията\n"
+" -w,--wait чака докато процесът умре\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context РЕГИЗР убива само процес(и) от посочения контекст на "
+"сигурност\n"
+" (трябва да предхожда останалите аргументи)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr ""
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Не може да бъде намерен потребител с име %s\n"
+
+#: src/killall.c:1016
+#, fuzzy
+#| msgid "Invalid namespace name"
+msgid "Invalid namespace PID"
+msgstr "Неправилен вид имена"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Неправилен регулярен израз: %s\n"
+
+#: src/killall.c:1057
+#, fuzzy, c-format
+#| msgid "Maximum number of names is %d\n"
+msgid "killall: Maximum number of names is %d\n"
+msgstr "Максималният брой имена е %d\n"
+
+# Мисля, че става въпрос за /proc (Антон Зиновиев)
+#: src/killall.c:1062
+#, fuzzy, c-format
+#| msgid "%s is empty (not mounted ?)\n"
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "%s е празна (не е монтирана?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr ""
+
+#: src/peekfd.c:191
+#, fuzzy, c-format
+#| msgid "pstree (PSmisc) %s\n"
+msgid "peekfd (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+
+#: src/prtstat.c:65
+#, fuzzy, c-format
+#| msgid "pstree (PSmisc) %s\n"
+msgid "prtstat (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 1993-2005 Werner Almesberger и Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr ""
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr ""
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr ""
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr ""
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr ""
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr ""
+
+#: src/prtstat.c:90
+#, fuzzy
+#| msgid "(unknown)"
+msgid "unknown"
+msgstr "(неизвест)"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr ""
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr ""
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr ""
+
+#: src/prtstat.c:243
+#, fuzzy, c-format
+#| msgid "Cannot allocate memory for matched proc: %s\n"
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Не може да се задели памет за съответстващ процес: %s\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr ""
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr ""
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr ""
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+
+# Мисля, че става въпрос за /proc (Антон Зиновиев)
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s е празна (не е монтирана?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+#| msgid ""
+#| " PID start at this PID; default is 1 (init)\n"
+#| " USER show only trees rooted at processes of this user\n"
+#| "\n"
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+" ПРОЦЕС започва от този номер на процес; по подразбиране от 1 (init)\n"
+" ПОТРЕБ показва само поддърветата, основани от този потребител\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "Не е зададена стойност на TERM\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Не може да се определят възможностите на терминала\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr ""
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Няма такъв потребител: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Не е намерен нито един процес.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Не е намерен нито един процес.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Натиснете Return, за да се завърши\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: непознат сигнал; %s -l извежда познатите сигнали.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Използване: pidof [ -eg ] ИМЕ...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e изисква точно съвпадение при много дълги имена;\n"
+#~ " пропускане, ако командният ред не е достъпен\n"
+#~ " -g показва групата на процеса вместо собственика\n"
+#~ " -V извежда информация за версията\n"
+#~ "\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Използване: killall [-Z КОНТЕКСТ] [-u ПОТРЕБ] [ -eIgiqrvw ] [ -СИГНАЛ ] "
+#~ "ИМЕ...\n"
+
+#, c-format
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr "Не може да се достигне мястото на монтиране %s: %s\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr "Не може да използвате едновременно опциите -m и -c"
+
+#, c-format
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "Не може да се отвори /etc/mtab: %s\n"
+
+#, c-format
+#~ msgid "Internal error: MAX_DEPTH not big enough.\n"
+#~ msgstr "Вътрешна грешка: стойността на MAX_DEPTH не е достатъчно голяма.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a show command line arguments\n"
+#~ " -A use ASCII line drawing characters\n"
+#~ " -c don't compact identical subtrees\n"
+#~ " -h highlight current process and its ancestors\n"
+#~ " -H PID highlight this process and its ancestors\n"
+#~ " -G use VT100 line drawing characters\n"
+#~ " -l don't truncate long lines\n"
+#~ " -n sort output by PID\n"
+#~ " -p show PIDs; implies -c\n"
+#~ " -u show uid transitions\n"
+#~ " -U use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V display version information\n"
+#~ msgstr ""
+#~ "Използване: pstree [ -a ] [ -c ] [ -h | -H ПРОЦЕС ] [ -l ] [ -n ] [ -p ] "
+#~ "[ -u ]\n"
+#~ " [ -A | -G | -U ] [ ПРОЦЕС | ПОТРЕБ ]\n"
+#~ " pstree -V\n"
+#~ "Извежда дървото на процесите.\n"
+#~ "\n"
+#~ " -a извежда аргументите от командните редове\n"
+#~ " -A използва само ASCII-знаци за линиите\n"
+#~ " -c не свива идентичните поддървета\n"
+#~ " -h подчертава текущия процес и предшествениците му\n"
+#~ " -H ПРОЦЕС подчертава този процес и предшествениците му\n"
+#~ " -G използва псевдографичните знаци на VT100\n"
+#~ " -l не отсича дългите редове\n"
+#~ " -n сортира изхода според номера на процеса\n"
+#~ " -p извежда номерата на процесите; влече -c\n"
+#~ " -u посочва промените на собственика\n"
+#~ " -U използва псевдографичните знаци на UTF-8 (Уникод)\n"
+#~ " -V извежда информация за версията на pstree\n"
+
+#, c-format
+#~ msgid " -Z show SELinux security contexts\n"
+#~ msgstr " -Z показва контекста на сигурност за SELinux\n"
+
+#~ msgid "Cannot open protocol file \"%s\": %s"
+#~ msgstr "Не може да се отвори файлът за протокол „%s“: %s"
diff --git a/po/boldquot.sed b/po/boldquot.sed
new file mode 100644
index 0000000..4b937aa
--- /dev/null
+++ b/po/boldquot.sed
@@ -0,0 +1,10 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“/g
+s/”/”/g
+s/‘/‘/g
+s/’/’/g
diff --git a/po/ca.gmo b/po/ca.gmo
new file mode 100644
index 0000000..41ef132
--- /dev/null
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..3c654a3
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,824 @@
+# Catalan translation for psmisc.
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Guillem Jover <guillem@debian.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 21.6cvs\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2004-12-08 12:46+0100\n"
+"Last-Translator: Guillem Jover <guillem@debian.org>\n"
+"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/fuser.c:146
+#, fuzzy, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Forma d's:\n"
+" fuser [ -a | -s | -c ] [ -n espai ] [ -senyal ] [ -kimuv ] nom ...\n"
+" [ - ] [ -n espai ] [ -senyal ] [ -kimuv ] nom ...\n"
+" fuser -l\n"
+" fuser -V\n"
+"\n"
+" -a mostra tamb fitxers no usats\n"
+" -c sistemes de fitxers muntats\n"
+" -f ignorat silenciosament (per compatibilitat amb POSIX)\n"
+" -k matar els processos que accedeixen a aquest fitxer\n"
+" -i pregunta abans de matar (ignorat sense -k)\n"
+" -l llista els noms dels senyals\n"
+" -m sistema de fitxers muntat\n"
+" -n espai busca en l'espai de noms especificat (file, udp o tcp)\n"
+" -s operaci silenciosa\n"
+" -senyal envia senyal en comptes de SIGKILL\n"
+" -u mostra ids d'usuari\n"
+" -v mode verbal\n"
+" -V mostra informaci de la versi\n"
+" -4 busca noms scols IPv4\n"
+" -6 busca noms scols IPv6\n"
+" - inicialitza opcions\n"
+"\n"
+" noms udp/tcp: [port_local][,[hoste_remot][,[port_remot]]]\n"
+"\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+
+#: src/fuser.c:176
+#, fuzzy, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (psmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc ve ABSOLUTAMENT SENSE CAP GARANTIA.\n"
+"Aix s software lliure, i esteu convidats a redistribuir-lo sota els "
+"termes\n"
+"de la llicencia publica general de GNU.\n"
+"Per a ms informaci sobre aquests assumptes, vegeu el fitxer COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr ""
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr ""
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr ""
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr ""
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr ""
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr ""
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr ""
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr ""
+
+#: src/fuser.c:1175
+#, fuzzy, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s/%s: especificaci no vlida\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr ""
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr ""
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr ""
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr ""
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr ""
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+
+#: src/fuser.c:1474
+#, fuzzy, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr ""
+"\n"
+"%*s USUARI PID ACCS ORDRE\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr ""
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr ""
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr ""
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Voleu matar el procs %d? (s/N)"
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr ""
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr ""
+
+#: src/fuser.c:1971
+#, fuzzy, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "no s'ha pogut trobar el nombre de dispositiu del scol"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Voleu matar %s(%s%d)? (s/N) "
+
+#: src/killall.c:114
+#, fuzzy, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Voleu matar %s(%s%d)? (s/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr ""
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr ""
+
+#: src/killall.c:525
+#, fuzzy, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "s'evitar la coincidncia parcial %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "S'ha matat %s(%s%d) amb el senyal %d\n"
+
+#: src/killall.c:796
+#, fuzzy, c-format
+msgid "%s: no process found\n"
+msgstr "%s: no s'ha matat cap procs\n"
+
+#: src/killall.c:837
+#, fuzzy, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Forma d's: killall [ OPCIONS ] [ -- ] nom ...\n"
+
+#: src/killall.c:839
+#, fuzzy, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V --version\n"
+"\n"
+" -e,--exact requereix coincidncia exacta per a noms molt llargs\n"
+" -I,--ignore-case coincidncia de nom sense sensibilitat a majscules\n"
+" -g,--process-group mata el grup del procs en comptes del procs\n"
+" -i,--interactive pregunta abans de matar\n"
+" -l,--list llista tots els noms de senyals coneguts\n"
+" -q,--quiet no mostra queixes\n"
+" -s,--signal envia senyal en comptes de SIGTERM\n"
+" -v,--verbose informa si el senyal s'ha enviat amb xit\n"
+" -V,--version mostra informaci de versi\n"
+" -w,--wait espera fins que el procs mori\n"
+"\n"
+
+#: src/killall.c:859
+#, fuzzy, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -d,--sid noms mata processos que tinguin sid\n"
+" -c,--context noms mata processos que tinguin scontext\n"
+" (-s, -c sn mtuament excloents i han de precedir altres arguments)\n"
+"\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr ""
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr ""
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr ""
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr ""
+
+#: src/killall.c:1057
+#, fuzzy, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "El nombre mxim de noms s %d\n"
+
+#: src/killall.c:1062
+#, fuzzy, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "%s s buit (no s'ha muntat?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr ""
+
+#: src/peekfd.c:191
+#, fuzzy, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "pstree (psmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+
+#: src/prtstat.c:65
+#, fuzzy, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "pstree (psmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr ""
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr ""
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr ""
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr ""
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr ""
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr ""
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr ""
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr ""
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr ""
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr ""
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr ""
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr ""
+
+#: src/prtstat.c:318
+#, fuzzy
+msgid "Invalid option"
+msgstr "%s/%s: especificaci no vlida\n"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr ""
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s s buit (no s'ha muntat?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, fuzzy, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -s mostra els SID de Flask\n"
+" -x mostra els contextes de seguretat de Flask\n"
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+" -U usar carcters de dibuix de lnia UTF-8 (Unicode)\n"
+" -V mostra informaci de la versi\n"
+" pid comena en pid, predeterminat 1 (init)\n"
+" user noms mostra arbres amb arrel en processos d'aquest usuari\n"
+"\n"
+
+#: src/pstree.c:1334
+#, fuzzy, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (psmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM no est especificada\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "No s'han pogut obtenir les capacitats\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr ""
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "No existeix aquest nom d'usuari: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+msgid "Process %d not found.\n"
+msgstr "No s'han trobat processos.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "No s'han trobat processos.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Premeu retorn per a tancar\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: senyal desconegut. %s -l llista els senyals.\n"
+
+#, fuzzy, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Forma d's: killall [-s sid] [-c context] [ -egiqvw ] [ -senyal ] "
+#~ "nom ...\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Copyright (C) 1993-2017 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Forma d's: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -"
+#~ "u ]\n"
+#~ " [ -A | -G | -U ] [ pid | usuari ]\n"
+#~ " pstree -V\n"
+#~ "\n"
+#~ " -a mostra els arguments de la lnia d'ordres\n"
+#~ " -A usa carcters de dibuix de lnia ASCII\n"
+#~ " -c no compactar subarbres idntics\n"
+#~ " -h ressaltar el procs actual i els seus ancestres\n"
+#~ " -H pid ressaltar el procs pid i els seus ancestres\n"
+#~ " -G usa carcters de dibuix de lnia VT100\n"
+#~ " -l no tallar les lnies llargues\n"
+#~ " -n ordenar sortida per PID\n"
+#~ " -p mostra els PID; implica -c\n"
+#~ " -u mostra transicions de uid\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Forma d's: pidof [ -eg ] nom ...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e requereix coincidncia exacta per a noms molt llargs;\n"
+#~ " s'eviten si la lnia d'ordres no est disponible\n"
+#~ " -g mostra l'ID del grup de procs en comptes de l'ID de procs\n"
+#~ " -V mostra informaci de versi\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2002 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "Internal error: MAX_DEPTH not big enough.\n"
+#~ msgstr "MAX_DEPTH no s prou gran.\n"
+
+#~ msgid "%s: SID (%s) must be numeric\n"
+#~ msgstr "%s: el SID (%s) ha de ser numric\n"
+
+#~ msgid "-4 flag used but proc file %s is not readable\n"
+#~ msgstr ""
+#~ "s'ha usat l'argument -4 per el fitxer proc %s no s'ha pogut llegir\n"
+
+#~ msgid "-6 flag used but proc file %s is not readable\n"
+#~ msgstr ""
+#~ "s'ha usat l'argument -6 per el fitxer proc %s no s'ha pogut llegir\n"
+
+#~ msgid "kill %d"
+#~ msgstr "mata %d"
+
+#~ msgid "No automatic removal. Please use umount %s\n"
+#~ msgstr "No s'eliminar automticament. Si us plau useu umount %s\n"
+
+#~ msgid "No automatic removal. Please use swapoff %s\n"
+#~ msgstr "No s'eliminar automticament. Si us plau useu swapoff %s\n"
+
+#~ msgid "Internal error (type %d)\n"
+#~ msgstr "Error intern (tipus %d)\n"
+
+#~ msgid "kernel mount "
+#~ msgstr "muntatge de nucli "
+
+#~ msgid "kernel loop "
+#~ msgstr "bucle de nucli "
+
+#~ msgid "kernel swap "
+#~ msgstr "intercanvi de nucli "
+
+#~ msgid "ignoring -m in name space \"%s\"\n"
+#~ msgstr "s'est ignorant -m en l'espai de noms %s\n"
diff --git a/po/cs.gmo b/po/cs.gmo
new file mode 100644
index 0000000..99038ec
--- /dev/null
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..4d416aa
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,844 @@
+# Czech translation of psmisc.
+# Copyright (C) 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2012, 2013, 2014, 2017, 2018.
+# Petr Pisar <petr.pisar@atlas.cz>, 2019, 2021, 2022, 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-13 20:33+01:00\n"
+"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
+"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Použití: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n PROSTOR]\n"
+" [-k [-i] [-SIGNÁL]] NÁZEV…\n"
+" fuser -l\n"
+" fuser -V\n"
+"Ukáže, které procesy používají vyjmenované soubory, sockety nebo souborové\n"
+"systémy.\n"
+"\n"
+" -a,--all zobrazí rovněž nepoužité soubory\n"
+" -i,--interactive před zabitím se dotáže (ignorováno bez -k)\n"
+" -I,--inode pro porovnání souborů vždy použije iuzly\n"
+" -k,--kill zabije procesy přistupující k zadanému souboru\n"
+" -l,--list-signals vypíše seznam názvů dostupných signálů\n"
+" -m,--mount zobrazí všechny procesy používající zadané "
+"souborové\n"
+" systémy nebo bloková zařízení\n"
+" -M,--ismountpoint vyhoví požadavku, pouze když NÁZEV je bod připojení "
+"FS\n"
+" -n,--namespace PROSTOR hledá v tomto jmenném prostoru\n"
+" (file [soubor], udp, nebo tcp)\n"
+" -s,--silent tichý běh\n"
+" -SIGNÁL namísto SIGKILL pošle tento signál\n"
+" -u,--user zobrazí ID uživatelů\n"
+" -v,--verbose podrobný výstup\n"
+" -w,--writeonly zabije jen procesy přistupující kvůli zápisu\n"
+" -V,--version zobrazí informace o verzi\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 hledá pouze mezi IPv4 sockety\n"
+" -6,--ipv6 hledá pouze mezi IPv6 sockety\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" Názvy UDP/TCP: [místní_port][,[vzdálený_stroj][,[vzdálený_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 1993–2024 Werner Almesberger a Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc je dodáván BEZ ABSOLUTNĚ ŽÁDNÉ ZÁRUKY.\n"
+"Toto je svobodné programové vybavení, můžete jej šířit podle podmínek\n"
+"GNU Obecné veřejné licence (GPL).\n"
+"Podrobnosti v této záležitosti naleznete v souborech pojmenovaných COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Adresář /proc nelze otevřít: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Paměť pro odpovídající proc nelze alokovat: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Soubor zadaného názvu %s neexistuje.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Nelze získat informace (stat(2)) o %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Místní port %s nelze přeložit: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Neznámá rodina adres %d místního portu\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Soubor s protokoly „%s“ nelze otevřít: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Soubor zadaného názvu %s není přípojným bodem.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Neplatný přepínač %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Přepínač jmenného prostoru vyžaduje argument."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Neplatný název jmenného prostoru"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Spolu s přepínači bodů připojení lze použít jen soubory"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Žádné kritérium procesu nebylo zadáno"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "Přepínač -a nelze použít spolu s přepínačem -s."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Nelze současně hledat jen v IPv4 a jen v IPv6 socketech."
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s UŽIVATEL PID PŘÍSTUP PŘÍKAZ\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(neznámo)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "O souboru %s nelze získat informace: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "/proc/net/unix nelze otevřít: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Zabít proces %d? (a/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Proces %d nebylo možné zabít: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Síťový socket nelze otevřít.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Nelze nalézt číslo zařízení socketu.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Zabít %s(%s%d)? (a/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Zaslat signál %s(%s%d) ? (a/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Z procesového souboru „status“ nelze získat UID\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Chybný regulární výraz: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: částečná shoda %s(%d) se vynechá\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) zabit signálem %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: žádný proces nenalezen\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Použití: killall [PŘEPÍNAČ…] [--] NÁZEV…\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact u velmi dlouhých názvu vyžaduje přesnou shodu\n"
+" -I,--ignore-case porovnávání názvů procesů nebere ohled na velikost "
+"písmen\n"
+" -g,--process-group zabije skupinu procesů namísto procesu\n"
+" -y,--younger-than zabije procesy mladší než ČAS\n"
+" -o,--older-than zabije procesy starší než ČAS\n"
+" -i,--interactive před zabitím se zeptá\n"
+" -l,--list vypíše názvy všech známých signálů\n"
+" -q,--quiet nevypisuje stížnosti\n"
+" -r,--regexp s NÁZVEM zachází jako s rozšířeným regulárním výrazem\n"
+" -s,--signal SIGNÁL odešle tento signál namísto SIGTERM\n"
+" -u,--user UŽIVATEL zabije pouze proces(y) bežící jako UŽIVATEL\n"
+" -v,--verbose ohlásí úspěšně odeslaný signál\n"
+" -V,--version zobrazí informace o verzi\n"
+" -w,--wait čeká, dokud proces nezemře\n"
+" -n,--ns PID vybere procesy, které patří do stejných jmenných\n"
+" prostorů jako PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGVÝR zabije jen proces(y) mající kontext\n"
+" (musí předcházet ostatním argumentům)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Neplatný formát času"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Uživatele %s nelze nalézt\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Neplatný PID jmenného prostoru"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Chybný regulární výraz: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Maximální počet názvů je %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s postrádá záznamy procesů (není připojen?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Chyba při připojování se na PID %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright © 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Použití: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<df>…]\n"
+" -8, --eight-bit-clean na výstupu neodstraňuje z datových proudů\n"
+" osmý bit.\n"
+" -n, --no-headers nezobrazuje čtení/zápis z hlaviček\n"
+" deskriptoru.\n"
+" -c, --follow špehuje též nové potomky.\n"
+" -t, --tgid špehuje všechna vlákna, jejichž TGID je\n"
+" roven <pid>.\n"
+" -d, --duplicates-removed z výstupu odstraňuje duplicitní čtení/"
+"zápisy.\n"
+" -V, --version vypíše údaje o verzi.\n"
+" -h, --help vypíše tuto nápovědu.\n"
+"\n"
+" Výstup ukončíte stiskem Ctrl-C.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Použití: prtstat [PŘEPÍNAČE] PID…\n"
+" prtstat -V\n"
+"Zobrazí informace o procesu\n"
+" -r,--raw Neopracovaný výstup\n"
+" -V,--version Zobrazí informace o verzi a skončí\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 2009–2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "běží"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "spí"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "čeká na disk"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "trasován"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "odstránkován"
+
+# `uknown' state
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "neznámý"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proces: %-14s\t\tStav: %c (%s)\n"
+" CPU č.: %-3d\t\tTTY: %s\tVláken: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID procesu, skupiny a relace\n"
+" ID procesu: %d\t\t ID rodiče: %d\n"
+" ID skupiny: %d\t\t ID relace: %d\n"
+" ID skupiny vl.: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Výpadky stránek\n"
+" Tento proces (menší větší): %8lu %8lu\n"
+" Procesy potomků (menší větší): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Časy CPU\n"
+" Tento proces (uživ systém host blokI/O): %6.2f %6.2f %6.2f %6.2f\n"
+" Procesy potomků (uživ systém host): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Paměť\n"
+" Vvelikost: %-10s\n"
+" RSS: %-10s \t\t Omezení RSS: %s\n"
+" Začátek kódu: %#-10lx\t\t Konec kódu: %#-10lx\n"
+" Začátek zásobníku: %#-10lx\n"
+" Ukazatel na zásobník (ESP): %#10lx Ukazatel na kód (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Plánování\n"
+" Politika %s\n"
+" Nice: %ld \t\t Priorita reálného času: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf v print_stat selhala.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Proces s PID %d neexistuje.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Soubor se statistikou PID %d nelze otevřít (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Paměť pro proc_info nelze alokovat\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Soubor se statistikou nelze prohlédnout"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Neplatný přepínač"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Je třeba zadat alespoň jedno PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc není připojen, nelze získat informace o /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s je prázdný (není připojen?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Použití: pstree [-acglpsStTuZ] [-h|-H PID] [-n|-N DRUH]\n"
+" [-A|-G|-U] [PID|UŽIVATEL]\n"
+" nebo: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Zobrazí strom procesů.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments zobrazí argumenty příkazového řádku\n"
+" -A, --ascii použije znaky ASCII pro kreslení čar\n"
+" -c, --compact neslučuje identické podstromy\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=DRUH obarví procesy podle atributu\n"
+" (věk)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids zobrazí ID skupin procesů; implikuje -c\n"
+" -G, --vt100 použije znaky VT100 pro kreslení čar\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all zvýrazní současný proces a jeho předky\n"
+" -H PID, --highlight-pid=PID\n"
+" zvýrazní tento proces a jeho předky\n"
+" -l, --long nezkracuje dlouhé řádky\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort seřadí výstup podle PID\n"
+" -N DRUH, --ns-sort=DRUH\n"
+" seřadí výstup podle druhu jmenného prostoru\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids zobrazí PID; implikuje -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents zobrazí rodiče vybraného procesu\n"
+" -S, --ns-changes zobrazí přechody mezi jmennými prostory\n"
+" -t, --thread-names zobrazí celé názvy vláken\n"
+" -T, --hide-threads skryje vlákna, zobrazí pouze procesy\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes zobrazí přechody UID\n"
+" -U, --unicode použije znaky UTF-8 (Unicode) pro kreslení čar\n"
+" -V, --version zobrazí údaje o verzi\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" zobrazí bezpečnostní atributy\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID začne na tomto PID; výchozí je 1 (init)\n"
+" UŽIVATEL zobrazí jen stromy, jejichž kořeny náleží tomuto uživateli\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "Proměnná TERM není nastavena\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Nelze zjistit schopnosti terminálu\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "proc soubor pro jmenný prostor %s není dostupný\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Žádný uživatel se jménem: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Proces %d nenalezen.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Žádný proces nenalezen.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Uzavřete klávesou Enter\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: neznámý signál, %s -l vypíše signály.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993–2021 Werner Almesberger a Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Použití: killall [-Z KONTEXT] [-u UŽIVATEL] [-y ČAS ] [-o ČAS] [-"
+#~ "eIgiqrvw]\n"
+#~ " [-s SIGNÁL | -SIGNÁL] NÁZEV…\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Použití: pstree [-acglpsStTu] [-h|-H PID] [-n|-N DRUH]\n"
+#~ " [-A|-G|-U] [PID|UŽIVATEL]\n"
+#~ " nebo: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993–2019 Werner Almesberger a Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Použití: pstree [-acglpsStuZ] [-h | -H PID ] [-n | -N DRUH]\n"
+#~ "Použití: pstree [-acglpsStu] [-h | -H PID] [-n | -N DRUH]\n"
+#~ " [-A|-G|-U] [PID|UŽIVATEL]\n"
+#~ " pstree -V\n"
+#~ "Zobrazí strom procesů.\n"
+#~ "\n"
+#~ " -a, --arguments zobrazí argumenty příkazového řádku\n"
+#~ " -A, --ascii použije znaky ASCII pro kreslení čar\n"
+#~ " -c, --compact neslučuje identické podstromy\n"
+#~ " -h, --highlight-all zvýrazní současný proces a jeho předchůdce\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID zvýrazní tento proces a jeho předchůdce\n"
+#~ " -g, --show-pgids zobrazí ID skupin procesů; implikuje -c\n"
+#~ " -G, --vt100 použije znaky VT100 pro kreslení čar\n"
+#~ " -l, --long nezkracuje dlouhé řádky\n"
+#~ " -n, --numeric-sort seřadí výstup podle PID\n"
+#~ " -N druh,\n"
+#~ " --ns-sort=druh seřadí výstup podle druhu jmenného prostoru\n"
+#~ " (cgroup, ipc, mnt, net, pid, user, uts)\n"
+#~ " -p, --show-pids zobrazí PID; implikuje -c\n"
+#~ " -s, --show-parents zobrazí rodiče vybraného procesu\n"
+#~ " -S, --ns-changes zobrazí přechody mezi jmennými prostory\n"
+#~ " -t, --thread-names zobrazí celé názvy vláken\n"
+#~ " -T, --hide-threads skryje vlákna, zobrazí pouze procesy\n"
+#~ " -u, --uid-changes zobrazí přechody UID\n"
+#~ " -U, --unicode použije znaky UTF-8 (Unicode) pro kreslení čar\n"
+#~ " -V, --version zobrazí informace o verzi\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993–2014 Werner Almesberger a Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993–2012 Werner Almesberger a Craig Small\n"
+#~ "\n"
diff --git a/po/da.gmo b/po/da.gmo
new file mode 100644
index 0000000..106c491
--- /dev/null
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..7dd9e19
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,826 @@
+# Danish translation of psmisc.
+# Copyright (C) 2018 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Aputsiaq Niels Janussen <aj@isit.gl>, 2011.
+# Joe Hansen <joedalton2@yahoo.dk>, 2016, 2017, 2018, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.5rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2022-05-28 18:11+0200\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.6.1\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Brug: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAVN...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Vis hvilke processer, der bruger de navngivne filer, sokler eller "
+"filsystemer.\n"
+"\n"
+" -a,--all vis også ubrugte filer\n"
+" -i,--interactive spørg før der dræbes (ignoreres uden -k)\n"
+" -I,--inode brug altid iknuder til at sammenligne filer\n"
+" -k,--kill dræb processer som tilgår den navngivne fil\n"
+" -l,--list-signals vis tilgængelige signalnavne\n"
+" -m,--mount vis alle processer med brug af de navngivne "
+"filsystemer\n"
+" eller blokenhed\n"
+" -M,--ismountpoint udfør kun forespørgsel hvis NAVN er et "
+"monteringspunkt\n"
+" -n,--namespace RUM søg i dette navneområde (file, udp eller tcp)\n"
+" -s,--silent stille kørsel\n"
+" -SIGNAL send dette signal i stedet for SIGKILL\n"
+" -u,--user vis id for brugere\n"
+" -v,--verbose udskriv uddybende information\n"
+" -w,--writeonly dræb kun processer med skriveadgang\n"
+" -V,--version vis information om version\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 søg kun IPv4-sokler\n"
+" -6,--ipv6 søg kun IPv6-sokler\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - nulstil tilvalg\n"
+"\n"
+" udp/tcp-navne: [lokal_port][,[rmt_vært][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Ophavsret 1993-2022 Werner Almesberger og Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc leveres med absolut ingen garanti.\n"
+"Dette er fri software, og du er velkommen til at videredistribuere\n"
+"det under vilkårene i GNU General Public License.\n"
+"Yderligere oplysninger om disse sager, se filerne med navnene COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Kan ikke åbne mappen /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Kan ikke allokere hukommelse til matchede proc: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Angivne filnavn %s findes ikke.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Kan ikke udføre stat %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Kan ikke løse lokal port %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Ukendt lokal port AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Kan ikke åbne protokolfil »%s«: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Angivne filnavn %s er ikke et monteringspunkt.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Ugyldigt tilvalg %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Tilvalg for navneområde kræver et argument."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Ugyldigt navn på navneområde"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Du kan kun bruge filer med et angivet monteringspunkt"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Ingen specifikation angivet for proces"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "tilvalget --all kan ikke anvendes med tilvalget --silent."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Du kan ikke begrænse søgning til blot IPv4- og IPv6-sokler på samme tid"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s BRUGER PID ADGANG KOMMANDO\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(ukendt)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Kan ikke danne stat-fil %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Kan ikke åbne /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Dræb proces %d ? (j/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Kunne ikke dræbe proces %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Kan ikke åbne en netværkssokkel.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Kan ikke finde sokkels enhedsnummer.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Dræb %s(%s%d) ? (j/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Signal %s(%s%d) ? (j/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Kan ikke hente UID fra status for proces\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Ugyldigt regulært udtryk: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: springer over delvist match %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Dræbte %s(%s%d) med signal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: ingen proces fundet\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Brug: killall [TILVALG]... [--] NAVN...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact kræver eksakt match for meget lange navne\n"
+" -I,--ignore-case ikke-versalfølsom match af navn på proces\n"
+" -g,--process-group dræb proces-gruppe i stedet for proces\n"
+" -y,--younger-than dræb processer yngre end TID\n"
+" -o,--older-than dræb processer ældre end TID\n"
+" -i,--interactive spørg efter bekræftelse før der dræbes\n"
+" -l,--list vis alle kendte signalnavne\n"
+" -q,--quiet udskriv ikke reklamationer\n"
+" -r,--regexp fortolk NAVN som et udvidet regulært udtryk\n"
+" -s,--signal SIGNAL send dette signal i stedet for SIGTERM\n"
+" -u,--user BRUGER dræb kun proces(ser) som kører som BRUGER\n"
+" -v,--verbose rapportér hvis signalet blev sendt med succes\n"
+" -V,--version vis information om version\n"
+" -w,--wait vent på at processer dør\n"
+" -n,--ns PID match processer som tilhører det samme navnerum\n"
+" som PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGUDTRYK dræb kun proces(ser) som har kontekst\n"
+" (skal stå før andre argumenter)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Ugyldigt tidsformat"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Kan ikke finde brugeren %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Ugyldig PID for navneområde"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Ugyldigt regulært udtryk: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Maksimalt antal navne er %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s mangler proceselementer (ikke monteret)?\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Fejl ved tilslutning til pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Ophavsret 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Brug: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean giver uddata i rene 8-bit strømme.\n"
+" -n, --no-headers vis ikke læsning/skrivning fra fd-headere.\n"
+" -c, --follow smugkig også på alle nye barneprocesser.\n"
+" -t, --tgid kig på alle tråde hvor tgid er lig med "
+"<pid>.\n"
+" -d, --duplicates-removed fjern duplikerede læsninger/skrivninger fra "
+"uddata.\n"
+" -V, --version udskriver versionsinfo.\n"
+" -h, --help udskriver denne hjælpetekst.\n"
+"\n"
+" Tryk CTRL-C for at stoppe uddata.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Brug: prtstat [tilvalg] PID ...\n"
+" prtstat -V\n"
+"Udskriv information om en proces\n"
+" -r,--raw Rå visning af information\n"
+" -V,--version Vis information om version og afslut\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2020 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Ophavsret 2009-2020 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "kører"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "sover"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disk sover"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "spores"
+
+# Denne har jeg ladet stå uoversat, måske paginering eller side
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paging"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "ukendt"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proces: %-14s\t\tTilstand: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tTråde: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Proces, Gruppe og Sessions-ID'er\n"
+" Proces ID: %d\t\t Forælder-ID: %d\n"
+" Gruppe-ID: %d\t\t Sessions-ID: %d\n"
+" T Gruppe-ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Sidefejl\n"
+" Denne proces (minor major): %8lu %8lu\n"
+" Barneprocesser (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU-tider\n"
+" Denne proces (bruger system gæst blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Barneprocesser (bruger system gæst): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Hukommelse\n"
+" Vstørrelse: %-10s\n"
+" RSS: %-10s \t\t RSS-grænse: %s\n"
+" Kodestart: %#-10lx\t\t Kodestop: %#-10lx\n"
+" Stakstart: %#-10lx\n"
+" Stakpeger (ESP): %#10lx\t Inst-peger (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Skedulering\n"
+" Politik: %s\n"
+" Venlig: %ld \t\t RT-prioritet: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf i print_stat mislykkedes.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Processen med pid %d findes ikke.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Ikke i stand til at åbne stat-fil for pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Kan ikke allokere hukommelse til proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Ikke i stand til at skanne stat-fil"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Ugyldigt tilvalg"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Du skal mindst angive én PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc er ikke monteret, kan ikke udføre stat for /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s er tom (ikke monteret)?\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Brug: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" eller: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Vis et procestræ.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments vis kommandolinje-argumenter\n"
+" -A, --ascii anvend ASCII-skrifttegn til linjetegn\n"
+" -c, --compact undlad at sammenpakke identiske understrukturer\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TYPE farvelæg process efter attribut\n"
+" (alder)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids vis procesgruppe-id'er; -c er underforstået\n"
+" -G, --vt100 anvend VT100-skrifttegn til linjetegn\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all fremhæv nuværende proces og dens forfædre\n"
+" -H PID, --highlight-pid=PID\n"
+" fremhæv denne proces og dens forfædre\n"
+" -l, --long undlad at afkorte lange linjer\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort sorter uddata efter PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sorter efter navnerumstype\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids vis PID'er; -c er underforstået\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents vis overprocesser for den valgte proces\n"
+" -S, --ns-changes vis navnerumsovergange\n"
+" -t, --thread-names vis fulde trådnavne\n"
+" -T, --hide-threads skjul tråde og vis kun processer\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes vis uid-overgange\n"
+" -U, --unicode anvend UTF-8-skrifttegn (Unicode) til linjetegn\n"
+" -V, --version vis information om version\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" vis sikkerhedsattributter\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID start ved denne PID; standard er 1 (init)\n"
+" USER vis kun træstrukturer som har denne bruger som rod\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM er ikke angivet\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Kan ikke skaffe oplysninger om terminalens funktioner\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "procfs-fil for %s-navnerum er ikke tilgængelig\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Brugernavnet findes ikke: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Processen %d blev ikke fundet.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Fandt ingen processer.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Tryk retur for at lukke\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: ukendt signal; %s -l viser signaler.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ophavsret 1993-2021 Werner Almesberger og Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Brug: killall [-Z KONTEKST ] [-u BRUGER] [ -y TIDSPUNKT ] [ -o "
+#~ "TIDSPUNKT ]\n"
+#~ " [ -eIgiqrvw ] [ -s SIGNAL | -SIGNAL ] NAVN...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Brug: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Brug: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | BRUGER ]\n"
+#~ " pstree -V\n"
+#~ "Vis en træstruktur over processer.\n"
+#~ "\n"
+#~ " -a, --arguments vis kommandolinje-argumenter\n"
+#~ " -A, --ascii anvend ASCII-skrifttegn til linjetegn\n"
+#~ " -c, --compact undlad at sammenpakke identiske understrukturer\n"
+#~ " -h, --highlight-all fremhæv nuværende proces og dens forfædre\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID fremhæv denne proces og dens forfædre\n"
+#~ " -g, --show-pgids vis procesgruppe-id'er; -c er underforstået\n"
+#~ " -G, --vt100 anvend VT100-skrifttegn til linjetegn\n"
+#~ " -l, --long undlad at afkorte lange linjer\n"
+#~ " -n, --numeric-sort sortér uddata ved PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sorter efter navnerumstype (ipc, mnt, net, pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids vis PID'er; -c er underforstået\n"
+#~ " -s, --show-parents vis overprocesser for den valgte proces\n"
+#~ " -S, --ns-changes vis navnerumsovergange\n"
+#~ " -t, --thread-names vis fulde trådnavne\n"
+#~ " -T, --hide-threads skjul tråde og vis kun processer\n"
+#~ " -u, --uid-changes vis uid-overgange\n"
+#~ " -U, --unicode anvend UTF-8-skrifttegn (Unicode) til linjetegn\n"
+#~ " -V, --version vis information om version\n"
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644
index 0000000..aca49a5
--- /dev/null
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..54fae26
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,892 @@
+# German translation for PSmisc programs.
+# Copyright (C) 2002, 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Wolfgang Schorer <wcc@wolfgangs.com>, 2002.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007.
+# Roland Illig <roland.illig@gmx.de>, 2009-2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-14 19:10+0100\n"
+"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.4.2\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Aufruf: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n RAUM]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Anzeigen, welche Prozesse die angegebenen Dateien, Sockets oder Dateisysteme "
+"benutzen.\n"
+"\n"
+" -a,--all auch ungenutzte Dateien anzeigen\n"
+" -i,--interactive vor dem Abschießen nachfragen (ohne -k wirkungslos)\n"
+" -I,--inode immer Inodes benutzen, um Dateien zu vergleichen\n"
+" -k,--kill Prozesse abschießen, die auf die angegebene Datei "
+"zugreifen\n"
+" -l,--list-signals Signalnamen auflisten\n"
+" -m,--mount alle Prozesse anzeigen, die auf die angegebenen "
+"Dateisysteme\n"
+" oder Blockgeräte zugreifen\n"
+" -M,--ismountpoint Operation nur durchführen, wenn NAME ein "
+"Einhängepunkt ist\n"
+" -n,--namespace RAUM in angegebenem Namensraum suchen (file, udp oder "
+"tcp)\n"
+" -s,--silent stille Durchführung\n"
+" -SIGNAL SIGNAL anstatt SIGKILL senden\n"
+" -u,--user Benutzer-IDs anzeigen\n"
+" -v,--verbose ausführliche Ausgabe\n"
+" -w,--writeonly nur Prozesse mit Schreibzugriff beenden\n"
+" -V,--version Versionsinformationen anzeigen\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 nur IPv4-Sockets suchen\n"
+" -6,--ipv6 nur IPv6-Sockets suchen\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" udp/tcp-Namen: [lokaler_port][,[entfernter_rechner][,[entfernter_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"Für PSmisc gibt es KEINERLEI GARANTIE.\n"
+"Es ist freie Software und Sie dürfen sie gern gemäß den Bedingungen\n"
+"der GNU General Public License (GPL) weiter vertreiben.\n"
+"Weitere Informationen dazu finden Sie in der Datei namens COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Verzeichnis /proc kann nicht geöffnet werden: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Kein Speicher mehr verfügbar für zugehörigen Prozess: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Angegebener Dateiname %s existiert nicht.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Status von »%s« kann nicht ermittelt werden: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Lokaler Port %s kann nicht aufgelöst werden: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Unbekannter lokaler Port AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Protokolldatei »%s« kann nicht geöffnet werden: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Der angegebene Dateiname »%s« ist kein Einhängepunkt.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Ungültige Option %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Die Namensraum-Option benötigt ein Argument."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Ungültiger Namensraum"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Dateien können nur mit der Einhängepunkt-Option verwendet werden"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Keine Prozessspezifikation angegeben"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "Die Option »all« kann nicht mit der Option »silent« kombiniert werden."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Es ist nicht möglich, gleichzeitig ausschließlich nach IPv4- und "
+"ausschließlich nach IPv6-Sockets zu suchen"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s BEN. PID ZUGR. BEFEHL\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(unbekannt)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Status der Datei %s kann nicht ermittelt werden: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "/proc/net/unix kann nicht geöffnet werden: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Prozess %d abbrechen? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Prozess %d kann nicht abgebrochen werden: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Netzwerkverbindung kann nicht geöffnet werden.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Gerätenummer des Sockets kann nicht gefunden werden.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "%s(%s%d) abbrechen? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Signal %s(%s%d) senden? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: UID kann nicht aus Prozessstatus ermittelt werden\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Ungültiger regulärer Ausdruck: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: Teilweise Übereinstimmung von %s(%d) wird übersprungen\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) mit Signal %d beendet\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: Kein Prozess gefunden\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Aufruf: killall [OPTION] … [--] NAME …\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact genaue Übereinstimmung für sehr lange Namen verlangen\n"
+" -I,--ignore-case nicht zwischen Groß- und Kleinschreibung "
+"unterscheiden\n"
+" -g,--process-group Prozessgruppe statt Einzelprozess abbrechen\n"
+" -y,--younger-than Prozesse jünger als ZEIT abbrechen\n"
+" -o,--older-than Prozesse älter als ZEIT abbrechen\n"
+" -i,--interactive vor Abbruch Bestätigung des Benutzers einholen\n"
+" -l,--list alle bekannten Signalnamen auflisten\n"
+" -q,--quiet keine Warnungen und Fehler ausgeben\n"
+" -r,--regexp NAME ist ein erweiteter regulärer Ausdruck\n"
+" -s,--signal SIGNAL benutzerdefiniertes Signal anstatt SIGTERM senden\n"
+" -u,--user USER nur Prozesse von angegebenem Benutzer abbrechen\n"
+" -v,--verbose benachrichtigen, falls das Signal erfolgreich "
+"gesendet\n"
+" wurde\n"
+" -V,--version Version anzeigen\n"
+" -w,--wait auf das Beenden der Prozesse warten\n"
+" -n,--ns PID nur Prozesse aus demselben Namensraum wie PID\n"
+" berücksichtigen\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP nur Prozesse abbrechen, die einen Kontext haben\n"
+" (muss vor anderen Argumenten stehen)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Ungültiges Zeitformat"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Benutzer %s kann nicht gefunden werden\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Ungültige Namensraum-PID"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Ungültiger regulärer Ausdruck: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Die maximale Anzahl von Namen ist %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr ""
+"killall: Bei %s fehlen die Prozesseinträge (Dateisystem möglicherweise nicht "
+"eingehängt?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Fehler beim Anhängen an PID %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Aufruf: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <PID> [<fd> ..]\n"
+" -8, --eight-bit-clean 8-Bit-Ausgabe erzwingen.\n"
+" -n, --no-headers Header für Lesen/Schreiben aus FDs nicht\n"
+" anzeigen.\n"
+" -c, --follow Auch nach neuen Kindprozessen Ausschau "
+"halten.\n"
+" -t, --tgid Nach allen Threads Ausschau halten, deren "
+"tgid\n"
+" gleich <PID> ist.\n"
+" -d, --duplicates-removed Doppeltes Lesen/Schreiben nicht ausgeben.\n"
+" -V, --version Versionsinformationen ausgeben.\n"
+" -h, --help Diese Hilfe ausgeben.\n"
+"\n"
+" Drücken Sie Strg-C, um die Ausgabe zu beenden.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Aufruf: prtstat [Optionen] PID …\n"
+" prtstat -V\n"
+"Informationen über einen Prozess ausgeben\n"
+" -r,--raw Rohe Ausgabe der Informationen\n"
+" -V,--version Versionsinformationen anzeigen und beenden\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009–2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "läuft"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "schläft"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "schläft (Disk)"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "schritt"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "auslagerung"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "unbekannt"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Prozess: %-14s\t\tZustand: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Prozess-, Gruppen- und Session-IDs\n"
+" Prozess-ID: %d\t\t Eltern-ID: %d\n"
+" Gruppen-ID: %d\t\t Sitzungs-ID: %d\n"
+"T-Gruppen-ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Seitenfehler\n"
+" Dieser Prozess (klein groß): %8lu %8lu\n"
+" Kindprozesse (klein groß): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU-Zeiten\n"
+" Dieser Prozess (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Kindprozesse (user system guest): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Speicher\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS-Grenzwert: %s\n"
+" Code-Start: %#-10lx\t\t Code-Ende: %#-10lx\n"
+" Stack-Start: %#-10lx\n"
+" Stackzeiger (ESP): %#10lx\t Befehlszeiger (EIP): %#10lx\n"
+
+# Es gab schon einige Versuche, »nice« zu übersetzen, aber ich tendiere dazu, es unübersetzt zu lassen.
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Prozessplanung\n"
+" Richtlinie: %s\n"
+" Nice: %ld \t\t RT-Priorität: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf in print_stat fehlgeschlagen.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Prozess mit PID %d existiert nicht.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Stat-Datei für PID %d konnte nicht geöffnet werden: %s\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Kein Speicher mehr verfügbar für proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Stat-Datei konnte nicht geöffnet werden"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Ungültige Option"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Sie müssen mindestens eine PID angeben."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc ist nicht eingehängt, /proc/self/stat kann nicht gelesen werden.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s ist leer (Dateisystem möglicherweise nicht eingehängt?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Aufruf: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N Art ]\n"
+" [ -A | -G | -U ] [ PID | NUTZER ]\n"
+" oder: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Einen Prozessbaum anzeigen.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments Kommandozeilenargumente anzeigen\n"
+" -A, --ascii Linien mit ASCII-Zeichen darstellen\n"
+" -c, --compact-not identische Teilbäume nicht zusammenfassen\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TYPE Prozesse nach Attributen einfärben\n"
+" (Alter)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids Prozessgruppen-IDs anzeigen; bewirkt -c\n"
+" -G, --vt100 Linien mit VT100-Zeichen darstellen\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all aktuellen Prozess und Vorgänger hervorheben\n"
+" -H PID, --highlight-pid=PID\n"
+" angegebenen Prozess und Vorgänger hervorheben\n"
+" -l, --long lange Zeilen nicht abschneiden\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort Ausgabe nach PID sortieren\n"
+" -N ART, --ns-sort=ART\n"
+" Ausgabe nach dieser Namensraumart sortieren\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids PIDs anzeigen; bewirkt -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents Eltern des ausgewählten Prozesses anzeigen\n"
+" -S, --ns-changes Namensraumübergänge anzeigen\n"
+" -t, --thread-names vollständige Threadnamen anzeigen\n"
+" -T, --hide-threads Threads verstecken, nur Prozesse anzeigen\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes UID-Änderungen anzeigen\n"
+" -U, --unicode Linien mit UTF-8-Zeichen (Unicode) darstellen\n"
+" -V, --version Versionsinformationen anzeigen\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" Sicherheitsattribute anzeigen\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID mit dieser PID starten; Vorgabewert ist 1 (init)\n"
+" NUTZER nur Prozessbäume zeigen, deren Wurzeln Prozesse dieses Benutzers "
+"sind\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM ist nicht gesetzt\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Fähigkeiten des Terminals konnten nicht erkannt werden\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "procfs-Datei für Namensraum »%s« nicht erreichbar\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Kein Benutzer mit dem Namen »%s«\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Prozess %d wurde nicht gefunden.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Keine Prozesse gefunden.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Drücken Sie Enter zum Schließen\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: unbekanntes Signal; %s -l listet die Signale auf.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger und Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Aufruf: killall [-Z CONTEXT] [-u USER] [-y TIME] [-o TIME] [-eIgiqrvw]\n"
+#~ " [-s SIGNAL | -SIGNAL] NAME …\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Aufruf: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | NUTZER ]\n"
+#~ " oder: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger und Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Aufruf: pstree [-acglpsStuZ] [-h | -H PID] [-n | -N Art]\n"
+#~ "Aufruf: pstree [-acglpsStu] [-h | -H PID] [-n | -N Art]\n"
+#~ " [-AGU] [PID | USER]\n"
+#~ " pstree -V\n"
+#~ "Einen Prozessbaum anzeigen.\n"
+#~ "\n"
+#~ " -a, --arguments Befehlszeilenargumente anzeigen\n"
+#~ " -A, --ascii ASCII-Zeichen für die Ausgabe benutzen\n"
+#~ " -c, --compact Identische Unterbäume nicht zusammenfassen\n"
+#~ " -h, --highlight-all Aktuellen Prozess und seine Ahnen hervorheben\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID Angegebenen Prozess und seine Ahnen hervorheben\n"
+#~ " -g, --show-pgids Prozessgruppen-IDs anzeigen; impliziert -c\n"
+#~ " -G, --vt100 VT100-Zeichen für die Ausgabe benutzen\n"
+#~ " -l, --long Lange Zeilen nicht abschneiden\n"
+#~ " -n, --numeric-sort Ausgabe nach PID sortieren\n"
+#~ " -N Art,\n"
+#~ " --ns-sort=type Nach Art des Namensraums sortieren\n"
+#~ " (ipc, mnt, net, pid, user, uts)\n"
+#~ " -p, --show-pids PIDs anzeigen; impliziert -c\n"
+#~ " -s, --show-parents Eltern des ausgewählten Prozesses anzeigen\n"
+#~ " -S, --ns-changes Wechsel des Namensraums anzeigen\n"
+#~ " -t, --thread-names Vollständige Threadnamen anzeigen\n"
+#~ " -T, --hide-threads Threads verstecken, nur Prozesse anzeigen\n"
+#~ " -u, --uid-changes Wechsel der UID anzeigen\n"
+#~ " -U, --unicode UTF-8 (Unicode) für die Ausgabe verwenden\n"
+#~ " -V, --version Verwendete Version ausgeben\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger und Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger und Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Aufruf: pidof [-eg] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e exakte Übereinstimmung für sehr lange Namen erforderlich;\n"
+#~ " ignorieren, wenn die Kommandozeile nicht verfügbar ist\n"
+#~ " -g zeige Prozessgruppen-ID statt der Prozess-ID\n"
+#~ " -V zeige Version\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger und Craig Small\n"
+#~ "\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr ""
+#~ "Die Flags gemounted und mount-Punkt können nicht gleichzeitig verwendet "
+#~ "werden."
+
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr "Kann Status von Einhängepunkt \"%s\" nicht ermitteln: %s\n"
+
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "/etc/mtab kann nicht geöffnet werden: %s\n"
diff --git a/po/el.gmo b/po/el.gmo
new file mode 100644
index 0000000..d2e7974
--- /dev/null
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
new file mode 100644
index 0000000..c7b77e2
--- /dev/null
+++ b/po/el.po
@@ -0,0 +1,754 @@
+# translation of psmisc to Greek
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Lefteris Dimitroulakis <edimitro@tee.gr>, 2008, 2013, 2014.
+# Lefteris Dimitroulakis <ledimitro@gmail.com>, 2014, 2017, 2019, 2020, 2021, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc-23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2022-12-25 23:45+0200\n"
+"Last-Translator: Lefteris Dimitroulakis <ledimitro@gmail.com>\n"
+"Language-Team: Greek <team@lists.gnome.gr>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Χρήση: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-ΣΗΜΑ]] "
+"ΟΝΟΜΑ...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Οι διεργασίες που χρησιμοποιούν τα δεδομένα αρχεία, sockets, ή συστήματα "
+"αρχείων.\n"
+"\n"
+" -a,--all εμφάνιση επίσης των μη χρησιμοποιουμένων αρχείων \n"
+" -i,--interactive ερώτηση πριν τον τερματισμό (ignored without -"
+"k)\n"
+" -k,--kill τερματισμός διεργασιών που χρησιμοποιούν το δεδομένο "
+"αρχείο\n"
+" -l λίστα διαθεσίμων σημάτων\n"
+" -m,--mount οι διεργασίες που χρησιμοποιούν τα δεδομένα συστήματα "
+"αρχείων ή συσκευές μπλοκ\n"
+" -M,--ismountpoint απάντηση μόνο αν ΟΝΟΜΑ αποτελεί σημείο προσάρτησης\n"
+" -n,--namespace SPACE αναζήτηση σε αυτήν την ομάδα ονομάτων (file, udp, "
+"ή tcp)\n"
+" -s,--silent σιωπηλή λειτουργία\n"
+" -SIGNAL αποστολή αυτού του σήματος αντί του SIGKILL\n"
+" -u,--user εμφάνιση ID χρήστη\n"
+" -v,--verbose έξοδος με πολλά λόγια\n"
+" -w,--writeonly τερματισμός μόνο των διεργασιών με άδεια εγγραφής\n"
+" -V,--version εμφάνιση πληροφοριών έκδοσης\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 αναζήτηση μόνο IPv4 sockets\n"
+" -6,--ipv6 αναζήτηση μόνο IPv6 sockets\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" ονόματα udp/tcp: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2022 Werner Almesberger και Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Αδυναμία ανοίγματος καταλόγου /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Αδύνατη η εκχώρηση μνήμης στην αντίστοιχη διεργασία: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Το όνομα αρχείου %s δεν υπάρχει.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Αδύνατον να προσδιορίσω %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Δεν μπορώ να βρω την τοπική θύρα %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Άγνωστη τοπική θύρα AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Δεν μπορώ να ανοίξω αρχείο πρωτοκόλλου «%s»: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Το όνομα αρχείου %s δεν αποτελεί σημείο προσάρτησης.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: μη έγκυρη επιλογή %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Η επιλογή του πίνακα ονομάτων απαιτεί όρισμα."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Λάθος όνομα"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr ""
+"Μπορείτε να χρησιμοποιήσετε μόνο αρχεία με την επιλογή σημείου προσάρτησης"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Ουδεμία προδιαγραφή διεργασίας δόθηκε"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "η επιλογή all δεν μπορεί να χρησιμοποιηθεί με την επιλογή silent."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Δεν μπορείτε να ψάξετε συγχρόνως μόνο για sockets IPv4 και μόνο για sockets "
+"IPv6"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s USER PID ACCESS COMMAND\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(άγνωστο)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Αδύνατον να προσδιορίσω το αρχείο %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Αδυναμία ανοίγματος του /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Τερματισμός διεργασίας %d ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Αδύνατον να τερματίσω τη διεργασία %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Δεν μπορώ να ανοίξω ένα δικτυακό socket.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Αδύνατον να βρω τον αριθμό της συσκευής του socket.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Kill %s(%s%d) ? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Signal %s(%s%d) ? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Δεν μπορώ να πάρω UID από την κατάσταση της διεργασίας\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Κακή κανονική έκφραση: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: παράβλεψη μερικού ταιριάσματος %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Τερματίστηκε %s(%s%d) με το σήμα %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: δεν βρέθηκε διεργασία\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Χρήση: killall [ΕΠΙΛΟΓΗ]... [--] ΟΝΟΜΑ...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact απαιτεί ακριβές ταίριασμα για για πολύ μεγάλα ονόματα\n"
+" -I,--ignore-case ταίριασμα ανεξαρτήτως πεζών ή κεφαλαίων\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ερώτηση για επιβεβαίωση πριν από killing\n"
+" -l,--list λίστα με όλα τα γνωστά σήματα\n"
+" -q,--quiet χωρίς εμφάνιση παραπόνων\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal ΣΗΜΑ αποστολή αυτού εδώ του σήματος αντί του SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose αναφορά αν το σήμα στάλθηκε επιτυχώς\n"
+" -V,--version πληροφορίες έκδοσης \n"
+" -w,--wait αναμονή για θάνατο διεργασίας\n"
+" -n,--ns PID ταίριασμα διεργασιών που ανήκουν στα ίδια namespaces\n"
+" ως PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP τερματίζει μόνο την/τις διεργασία(ες) με context\n"
+" (πρέπει να προηγείται των άλλων ορισμάτων)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Μη έγκυρο φορμά χρόνου"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Δεν μπορώ να βρω το χρήστη %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Μη έγκυρο namespace PID"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Κακή κανονική έκφραση: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Μέγιστος αριθμός ονομάτων είναι %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s lacks process entries (not mounted ?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Σφάλμα κατά την πρόσδεση στη διεργασία με pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Χρήση: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean καθαρή 8μπιτη έξοδος.\n"
+" -n, --no-headers δεν εμφανίζει αναγνώσεις/εγγραφές from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals <pid>.\n"
+" -d, --duplicates-removed αφαίρεση διπλών read/writes από την έξοδο.\n"
+" -V, --version εμφανίζει πληροφορίες έκδοσης.\n"
+" -h, --help εμφανίζει αυτήν εδώ τη βοήθεια.\n"
+"\n"
+" Πάτησε CTRL-C to end output.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Χρήση: prtstat [επιλογές] PID ...\n"
+" prtstat -V\n"
+"Εμφάνιση πληροφορίας για μια διεργασία\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Εμφάνιση πληροφοριών έκδοσης κι έξοδος\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2022 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "running"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "sleeping"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disk sleep"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "traced"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paging"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "unknown"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Χρόνοι CPU\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Μνήμη\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf in print_stat failed.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Διεργασία με pid %d δεν υπάρχει.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Αδύνατον να αανοίξω το αρχείο stat του pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Αδυναμία εκχώρησης για proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Unable to scan stat file"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Μη έγκυρη επιλογή"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Πρέπει να δώσεις τουλάχιστον ένα PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc δεν είναι προσαρτημένο, αδύνατον να πάρω τα στατιστικά από το /proc/"
+"self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s είναι άδειο (μή προσαρτημένο ;)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Χρήση: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Εμφάνιση δέντρου διεργασιών.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments εμφάνιση ορισμάτων\n"
+" -A, --ascii χρήση ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TYPE χρωματισμός διεργασιών by attribute\n"
+" (age)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort ταξινόμηση κατά PID στην έξοδο\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" ταξινόμηση στην έξοδο κατά TYPE\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids εμφάνιση PID, συνεπάγεται -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents εμφάνιση γονικών διεργασιών των επιλεγμένων "
+"διεργασιών\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names εμφάνιση πλήρους ονόματος νημάτων\n"
+" -T, --hide-threads απόκρυψη νημάτων, εμφάνιση μόνο των διεργασιών\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version εμφάνιση πληροφορίας έκδοσης\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" εμφάνιση ιδιοτήτων ασφαλείας\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID εκκίνηση σε αυτό το PID. Η προεπιλογή είναι 1 (init)\n"
+" USER εμφάνιση μόνο δέντρων rooted at processes of this user\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "Η μεταβλητή TERM δεν έχει καθοριστεί\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Δεν μπορώ να πάρω τις ικανότητες τερματικού\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "το αρχείο procfs για %s δεν είναι διαθέσιμο\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Δεν υπάρχει τέτοιο όνομα χρήστη: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Η διεργασία %d δεν βρέθηκε.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Δεν βρέθηκαν διεργασίες.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Πάτησε return για κλείσιμο\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: άγνωστο σήμα, %s -l εμφανίζει όλα τα σήματα.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2020 Werner Almesberger και Craig Small\n"
+#~ "\n"
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
new file mode 100644
index 0000000..506ca9e
--- /dev/null
+++ b/po/en@boldquot.header
@@ -0,0 +1,25 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
diff --git a/po/en@quot.header b/po/en@quot.header
new file mode 100644
index 0000000..6522f0c
--- /dev/null
+++ b/po/en@quot.header
@@ -0,0 +1,22 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
diff --git a/po/eo.gmo b/po/eo.gmo
new file mode 100644
index 0000000..586903a
--- /dev/null
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
new file mode 100644
index 0000000..2533869
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,867 @@
+# Esperanto translation.
+# Copyright (C) 2011, 2012, 2014, 2017, 2019, 2021, 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Felipe Castro <fefcas@gmail.com>, 2011, 2012, 2014, 2017, 2019, 2021, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2023-01-08 15:38-0300\n"
+"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
+"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.4.2\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Uzmaniero: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACO]\n"
+" [-k [-i] [-SIGNALO]] NOMO...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Montras kiujn procezojn uzas la nomitajn dosierojn, ingojn,\n"
+"aŭ dosiersistemojn.\n"
+"\n"
+" -a,--all montri ankaŭ neuzatajn dosierojn\n"
+" -i,--interactive demandi antaŭ ol mortigi (ne efika sen -k)\n"
+" -I,--inode ĉiam uzi inode por kompari dosierojn\n"
+" -k,--kill mortigi procezon, kiu aliras la nomitan dosieron\n"
+" -l,--list-signals listigi disponeblajn signalo-nomojn\n"
+" -m,--mount montri ĉiujn procezojn, kiuj uzas la nomitajn\n"
+" dosiersistemojn aŭ blok-aparaton\n"
+" -M,--ismountpoint plenumigi peton nur se NOMO estas munt-punkto\n"
+" -n,--namespace SPACO serĉi en tiu ĉi nom-spaco(file, udp, aŭ tcp)\n"
+" -s,--silent silenta funkciado\n"
+" -SIGNALO sendi tiun ĉi signalon anstataŭ SIGKILL\n"
+" -u,--user montri ID de uzantoj\n"
+" -v,--verbose detalema eligo\n"
+" -w,--writeonly mortigi nur la procezojn kun skrib-permeso\n"
+" -V,--version montri informon pri versio\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 serĉi nur ingojn IPv4\n"
+" -6,--ipv6 serĉi nur ingojn IPv6\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" udp/tcp nomoj: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Kopirajto (C) 1993-2022 Werner Almesberger kaj Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc venas kun ABSOLUTE NENIUN GARANTION.\n"
+"Tio ĉi estas libera programaro, kaj vi estas invitata redisdoni ĝin sub\n"
+"la kondiĉoj de la Ĝenerala Publika Permesilo GNU.\n"
+"Por pli da informoj pri tiuj ĉi aferoj, vidu la dosierojn nomitajn COPYING "
+"(angle).\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Ne eblas malfermi dosierujon /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Ne eblas rezervi memoron por kongruinta proc: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "La indikita dosiernomo %s ne ekzistas.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Ne eblas apliki stat %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Ne eblas solvi lokan pordon %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Nekonata loka pordo AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Ne eblas malfermi protokolan dosieron \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "La indikita dosiernomo %s ne estas munt-punkto.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Malvalida modifilo %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Nomspaca modifilo postulas unu argumenton."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Malvalida nomo por nomspaco"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Vi nur povas uzi dosierojn kun munt-punktaj modifiloj"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Neniu specifo pri procezo estis donata"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "la modifilo 'all' ne povas esti uzata kun silentiga modifilo."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Vi ne povas serĉi ingojn nur IPv4 kaj nur IPv6 samtempe"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s UZANTO PID ALIRO KOMANDO\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(nekonata)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Ne eblas apliki stat en dosiero %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Ne eblas malfermi /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Ĉu mortigi la procezon %d ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Ne eblis mortigi la procezon %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Ne eblas malfermi retan ingon.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Ne eblas trovi aparat-numeron de ingo.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Ĉu mortigi %s(%s%d) ? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Ĉu signali %s(%s%d) ? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Ne eblas preni UID el procez-stato\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Malĝusta regulesprimo: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: preterpasas ne-kompletan kongruon %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Ni mortigis %s(%s%d) per signalo %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: neniu procezo trovite\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Uzmaniero: killall [ELEKTILO]... [--] NOMO...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact postuli ĝustan kongruon por tre longaj nomoj\n"
+" -I,--ignore-case sen-uskleca procez-noma kongruo\n"
+" -g,--process-group mortigi procez-grupon anstataŭ procezon\n"
+" -y,--younger-than mortigi procezon pli nova ol TEMPO\n"
+" -o,--older-than mortigi procezon pli malnova ol TEMPO\n"
+" -i,--interactive peti konfirmon antaŭ ol mortigi\n"
+" -l,--list listigi ĉiujn konatajn signal-nomojn\n"
+" -q,--quiet ne printi plendojn\n"
+" -r,--regexp interpreti NOMO kiel etenditan regul-esprimon\n"
+" -s,--signal SIGNALO sendi tiun ĉi signalon anstataŭ SIGTERM\n"
+" -u,--user UZANTO mortigi nur procezo(j)n rulantajn kiel UZANTO\n"
+" -v,--verbose raporti ĉu signalo estis sukcese sendata\n"
+" -V,--version montri informon pri versio\n"
+" -w,--wait atendi ke procezoj mortu\n"
+" -n,--ns PID kongrui al procezoj kiuj apartenas al la samaj\n"
+" nomspacoj ol PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP mortigi nur procezo(j)n kiuj havu kuntekston\n"
+" (devas veni antaŭ aliaj argumentoj)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Malvalida tempo-formo"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Ne eblas trovi la uzanton %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Malvalida PID de nomspaco"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Malĝusta regul-esprimo: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Maksimuma nombro da nomoj estas %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s malhavas procezajn informojn (ĉu ne muntita ?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Eraro dum konektiĝo al pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Kopirajto (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Uzmaniero: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean eligi 8-bitan purajn fluojn.\n"
+" -n, --no-headers ne montri leg/skribo el kaplinioj fd.\n"
+" -c, --follow rigardeti ankaŭ iun ajn novan idan procezon.\n"
+" -t, --tgid rigardeti ĉiujn fadenojn kies tgid egalas al "
+"<pid>.\n"
+" -d, --duplicates-removed forigi duobligitaj leg/skribojn el la eligo.\n"
+" -V, --version printi information pri versio.\n"
+" -h, --help printi tiun ĉi helpon.\n"
+"\n"
+" Premu CTRL-C por ĉesigi eligon.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Uzmaniero: prtstat [modifiloj] PID ...\n"
+" prtstat -V\n"
+"Printi informon pri procezo\n"
+" -r,--raw Kruda montrigo de informaro\n"
+" -V,--version Montri informon pri versio kaj eligi\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Kopirajto (C) 2009-2022 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "rulanta"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "dormanta"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disk-dormado"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombia"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "spursekvata"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paĝiganta"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "nekonata"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Procezo: %-14s\t\tStato: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tFadenoj: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID de Procezo, Grupo kaj Seanco\n"
+" Proceza ID: %d\t\t Patra ID: %d\n"
+" Grupa ID: %d\t\t Seanca ID: %d\n"
+" T Grupa ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Paĝ-Eraroj\n"
+" Tiu ĉi Procezo (malpleja pleja): %8lu %8lu\n"
+" Idaj Procezoj (malpleja pleja): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU-Tempoj\n"
+" Tiu ĉi Procezo (uzanto sistemo gastigo blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Idaj procezoj (uzanto sistemo gastigo): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memoro\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS-Limo: %s\n"
+" Kod-Komenco: %#-10lx\t\t Kod-Fino: %#-10lx\n"
+" Stak-Komenco: %#-10lx\n"
+" Stak-Indikilo (ESP): %#10lx\t Inst-Indikilo (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Planado\n"
+" Strategio: %s\n"
+" 'Nice': %ld \t\t RT Prioritato: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf en print_stat malsukcesis.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Procezo kun pid %d ne ekzistas.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Ne eblas malfermi stat-dosiero por pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Ne eblas rezervi memoron por proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Ne eblas skani stat-dosieron"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Malvalida modifilo"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Vi devas provizi minimume unu PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc ne estas muntita, ni ne povas apliki stat en /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s estas malplena (ĉu ne muntita ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Uzmaniero: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N tipo ]\n"
+" [ -A | -G | -U ] [ PID | UZANTO ]\n"
+" aŭ: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Montri arbon el procezoj.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments montri komand-liniajn argumentojn\n"
+" -A, --ascii uzi lini-desegnajn signojn de ASCII\n"
+" -c, --compact-not ne densigi egalajn sub-arbojn\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TIPO kolorigi procezoz laŭ atributo\n"
+" (aĝo)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids montri procezajn grup-id; implicas -c\n"
+" -G, --vt100 uzi lini-desegnajn signojn de VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all reliefigi nunajn procezojn kaj ties praulojn\n"
+" -H PID, --highlight-pid=PID\n"
+" reliefigi tiun ĉi procezon kaj ties praulojn\n"
+" -l, --long ne tranĉi longajn liniojn\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort ordigi eligon laŭ PID\n"
+" -N tipo, --ns-sort=TIPO\n"
+" ordigi eligon laŭ tiu ĉi nomspaca tipo\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids montri PID-ojn; implicas -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents montri praulojn de la elektita procezo\n"
+" -S, --ns-changes montri nomspacajn transiĝojn\n"
+" -t, --thread-names montri kompletajn fadenajn nomojn\n"
+" -T, --hide-threads kaŝi fadenojn, montri nur procezojn\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes montri transigojn de uid\n"
+" -U, --unicode uzi UTF-8 (Unikodan) lini-desegnajn signojn\n"
+" -V, --version montri informon pri versio\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" montri sekurecajn atributojn\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID komencas ĉe tiu ĉi PID; apriore estas 1 (init)\n"
+" UZANTO montri nur arbojn kiuj havas radikojn ĉe procezoj de tiu ĉi uzanto\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM ne estas difinita\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Ne eblas koni la kapablojn de la terminalo\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "la dosiero procfs por nomspaco %s ne disponeblas\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Neniu uzant-nomo tia: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Procezo %d ne trovitas.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Neniu procezo trovite.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Premu la enigklavon por fermi\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: nekonata signalo; %s -l listigas la signalojn.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kopirajto (C) 1993-2021 Werner Almesberger kaj Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Uzmaniero: killall [-Z KUNTEKSTO] [-u UZANTO] [ -y TEMPO ] [ -o TEMPO ]\n"
+#~ " [ -eIgiqrvw ][ -s SIGNALO | -SIGNALO ] NOMO...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Uzmaniero: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " aŭ: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kopirajto (C) 1993-2019 Werner Almesberger kaj Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Uzmaniero: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | UZANTO ]\n"
+#~ " pstree -V\n"
+#~ "Montri arbon de procezoj.\n"
+#~ "\n"
+#~ " -a, --arguments montri komand-liniajn argumentojn\n"
+#~ " -A, --ascii uzi ASCII-ajn lini-desegnajn signojn\n"
+#~ " -c, --compact ne kompaktigi identajn sub-arbojn\n"
+#~ " -h, --highlight-all reliefigi nunajn procezojn kaj ties praulojn\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID reliefigi tiun ĉi procezon kaj ties praulojn\n"
+#~ " -g, --show-pgids montri procez-grupajn id; implicas -c\n"
+#~ " -G, --vt100 uzi VT100-ajn lini-desegnajn signojn\n"
+#~ " -l, --long ne tranĉi longajn liniojn\n"
+#~ " -n, --numeric-sort ordigi eligon laŭ PID\n"
+#~ " -N tipo,\n"
+#~ " --ns-sort=tipo ordigi laŭ nomspaca tipo (cgroup, ipc, mnt, net,\n"
+#~ " pid, user, uts)\n"
+#~ " -p, --show-pids montri PID-ojn; implicas -c\n"
+#~ " -s, --show-parents montri praulojn de la elektita procezo\n"
+#~ " -S, --ns-changes montri nomspacajn transiĝojn\n"
+#~ " -t, --thread-names montri kompletajn fadenajn nomojn\n"
+#~ " -T, --hide-threads kaŝi fadenojn, montri nur procezojn\n"
+#~ " -u, --uid-changes montri transigojn de uid\n"
+#~ " -U, --unicode uzi UTF-8 (Unikodan) lini-desegnajn signojn\n"
+#~ " -V, --version montri informon pri versio\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kopirajto (C) 1993-2014 Werner Almesberger kaj Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kopirajto (C) 1993-2012 Werner Almesberger kaj Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Uzmaniero: pidof [ -eg ] NOMO...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e postuli ĝustan kongruon por tre longaj nomoj;\n"
+#~ " preterpasas se la komand-linio ne disponeblas\n"
+#~ " -g montri procezan grup-ID anstataŭ procezan ID\n"
+#~ " -V montri informon pri versio\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kopirajto (C) 1993-2005 Werner Almesberger kaj Craig Small\n"
+#~ "\n"
diff --git a/po/es.gmo b/po/es.gmo
new file mode 100644
index 0000000..c0664fa
--- /dev/null
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..4b89250
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,797 @@
+# Spanish translation for psmisc 23.7-rc1
+# Copyright (C) 2018, 2019, 2022 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
+# Antonio Ceballos Roa <aceballos@gmail.com>, 2019.
+# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2022, 2023, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-13 18:25-0600\n"
+"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Modo de empleo: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n ESPACIO]\n"
+" [-k [-i] [-SEÑAL]] NOMBRE...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Muestra los procesos que utilizan ficheros, sockets o sistemas de ficheros "
+"con\n"
+"nombre.\n"
+"\n"
+" -a,--all muestra también los ficheros no utilizados\n"
+" -i,--interactive pregunta antes de matar (descartada sin -k)\n"
+" -I,--inode utiliza siempre nodos-i para comparar ficheros\n"
+" -k,--kill mata los procesos que acceden al fichero con nombre\n"
+" -l,--list-signals enumera los nombres de señales disponibles\n"
+" -m,--mount muestra todos los procesos que utilizan sistemas de\n"
+" ficheros con nombre o dispositivos de bloque\n"
+" -M,--ismountpoint satisface petición solamente si NOMBRE es un punto "
+"de\n"
+" montaje\n"
+" -n,--namespace ESPACIO\n"
+" busca en este espacio de nombres (fichero, udp o "
+"tcp)\n"
+" -s,--silent operación silenciosa\n"
+" -SEÑAL envía esta señal en lugar de SIGKILL\n"
+" -u,--user muestra los IDs de usuario\n"
+" -v,--verbose salida detallada\n"
+" -w,--writeonly solo mata procesos con acceso de escritura\n"
+" -V,--version muestra información sobre la versión\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 solo busca sockets IPv4\n"
+" -6,--ipv6 solo busca sockets IPv6\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" nombres udp/tcp: [puerto_local][,[host_remoto][,[puerto_remoto]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2024 Werner Almesberger y Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc viene sin ABSOLUTAMENTE NINGUNA GARANTÍA.\n"
+"Esto es software libre y está usted invitado a redistribuirlo bajo\n"
+"los términos de la GNU General Public License.\n"
+"Para más información sobre estos asuntos, véanse los ficheros llamados "
+"COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "No se puede abrir el directorio /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "No se puede asignar memoria para el proceso coincidente: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "El nombre de fichero especificado %s no existe.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "No se pueden obtener estadísticas de %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "No se puede resolver el puerto local %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Puerto local AF desconocido %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "No se puede abrir el fichero de protocolo «%s»: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "El nombre de fichero especificado %s no es un punto de montaje.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Opción no válida: %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "La opción de espacio de nombres requiere argumento."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Nombre no válido de espacio de nombres"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Solo se pueden utilizar ficheros con opciones de punto de montaje"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "No se ha dado ninguna especificación de proceso"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "la opción --all no se puede utilizar con la opción --silent."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"No se pueden buscar sockets solo de tipo IPv4 y solo de tipo IPv6 al mismo "
+"tiempo"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s USUARIO PID ACCESO ORDEN\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(desconocido)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "No se pueden obtener estadísticas del fichero %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "No se puede abrir /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "¿Matar el proceso %d? (s/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "No se ha podido matar el proceso %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "No se puede abrir un socket de red.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "No se puede encontrar el número de dispositivo del socket.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "¿Matar %s(%s%d)? (s/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "¿Señal %s(%s%d)? (s/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: No se puede obtener el UID a partir del estado del proceso\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Expresión regular mal formada: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: omitiendo coincidencia parcial %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Matado %s(%s%d) con la señal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: ningún proceso encontrado\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Modo de empleo: killall [OPCIÓN]... [--] NOMBRE...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact requiere coincidencia exacta para nombres muy largos\n"
+" -I,--ignore-case MAYÚS/minux indistinguibles para coincidencia de "
+"nombre\n"
+" del proceso\n"
+" -g,--process-group mata grupo de procesos de vez de proceso\n"
+" -y,--younger-than mata procesos más recientes que HORA\n"
+" -o,--older-than mata procesos más antiguos que HORA\n"
+" -i,--interactive pide confirmación antes de matar\n"
+" -l,--list lista todos los nombres de señales conocidas\n"
+" -q,--quiet no escribe quejas\n"
+" -r,--regexp interpreta NOMBRE como una expreg extendida\n"
+" -s,--signal SEÑAL envía esta señal en vez de SIGTERM\n"
+" -u,--user USUARIO mata solo proceso(s) ejecutándose como USUARIO\n"
+" -v,--verbose informa si la señal se ha enviado correctamente\n"
+" -V,--version muestra información sobre la versión\n"
+" -w,--wait espera a que los procesos mueran\n"
+" -n,--ns PID coincidencia con procesos que pertenecen al mismo\n"
+" espacio de nombres que PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context EXPREG mata solo proceso(s) que tienen contexto\n"
+" (debe preceder a otros argumentos)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Formato de hora no válido"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "No se puede encontrar al usuario %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Espacio de nombres PID no válido"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Expresión regular mal formada: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: El número máximo de nombres es %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s carece de entradas de procesos (¿no montado?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Error adjuntando a pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"© 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean saca flujos limpios de 8 bits.\n"
+" -n, --no-headers no muestra lectura/escritura desde "
+"cabeceras fd.\n"
+" -c, --follow echa un vistazo también a cualquier nuevo\n"
+" proceso hijo.\n"
+" -t, --tgid echa un vistazo también a todos los hilos "
+"en\n"
+" los que tgid es igual a <pid>.\n"
+" -d, --duplicates-removed quita lecturas/escrituras duplicadas de la\n"
+" salida.\n"
+" -V, --version imprime información sobre la versión.\n"
+" -h, --help imprime este texto de ayuda.\n"
+"\n"
+" Pulse CTRL-C para finalizar la salida.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Modo de empleo: prtstat [opciones] PID ...\n"
+" prtstat -V\n"
+"Escribe información relativa a un proceso\n"
+" -r,--raw Pantalla cruda de información\n"
+" -V,--version Muestra información sobre la versión y finaliza\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "ejecutando"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "durmiendo"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disco en espera"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "trazado"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paginando"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "desconocido"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proceso: %-14s\t\tEstado: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tHilos: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Proceso, IDs de grupo y sesión\n"
+" ID Proceso: %d\t\t ID Padre: %d\n"
+" ID grupo: %d\t\t ID Sesión: %d\n"
+" ID Grupo T: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Errores de página\n"
+" Este proceso (menor mayor): %8lu %8lu\n"
+" Procesos hijos (menor mayor): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Tiempos de CPU\n"
+" Este proceso (usuario sistema invitado blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Procesos hijos (usuario sistema invitado): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memoria\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS límite: %s\n"
+" Código inicio: %#-10lx\t\t Código detención: %#-10lx\n"
+" Pila inicio: %#-10lx\n"
+" Pila puntero (ESP): %#10lx\t Inst puntero (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Planificación\n"
+" Política: %s\n"
+" Cortesía: %ld\t\t Prioridad RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "fallo de asprintf en print_stat.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "El proceso con pid %d no existe.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "No se puede abrir el fichero de estadísticas para el pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "No se puede reservar memoria para proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "No se puede examinar el fichero de estadísticas"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Opción no válida"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Se debe proporcionar al menos un PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc no está montado, no se pueden obtener estadísticas de /proc/self/"
+"stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s está vacío (¿ no montado ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Modo de empleo: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N tipo ]\n"
+" [ -A | -G | -U ] [ PID | USUARIO ]\n"
+" o: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Muestra un árbol de procesos\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments muestra los argumentos de la línea de órdenes\n"
+" -A, --ascii utiliza characteres de trazado de líneas ASCII\n"
+" -c, --compact-not no compacta subárboles idénticos\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TIPO colorea proceso por atributo\n"
+" (edad)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids muestra ids de grupos de procesos; implica -c\n"
+" -G, --vt100 utiliza caracteres de trazzdo de líneas VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all resalta el proceso actual y sus ascendientes\n"
+" -H PID, --highlight-pid=PID\n"
+" resalta este proceso y sus ascendientes\n"
+" -l, --long no trunca las líneas largas\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort ordena la salida por PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" ordena la salida por este tipo de espacio de nombres\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids muestra PIDs; implica -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents muestra los padres del proceso seleccionado\n"
+" -S, --ns-changes muestra las transiciones de espacios de nombres\n"
+" -t, --thread-names muestra los nombres completos de hilos\n"
+" -T, --hide-threads oculta hilos, muestra solo procesos\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes muestra transiciones de uid\n"
+" -U, --unicode utiliza caracteres de trazado de líneas UTF-8 "
+"(Unicode)\n"
+" -V, --version muestra información sobre la versión\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" muestra los atributos de seguridad\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID inicia en este PID; predeterminado es 1 (init)\n"
+" USUARIO muestra solo árboles con raíz en los procesos de este usuario\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM no está establecido\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "No se pueden obtener las capacidades del terminal\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "fichero procfs no disponible para el espacio de nombres %s\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "No existe ese nombre de usuario: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "No se encontró el proceso %d.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Ningún proceso encontrado.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Pulse «enter» para cerrar\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: señal desconocida; %s -l enumera las señales.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger y Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Modo de empleo: killall [ -Z CONTEXTO ] [ -u USUARIO ] [ -y HORA ] [ -o "
+#~ "HORA ]\n"
+#~ " [ -eIgiqrvw ] [ -s SEÑAL | -SEÑAL ] NOMBRE...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Modo de empleo: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ " [ -A | -G | -U ] [ PID | USUARIO ]\n"
+#~ " o: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger y Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "© 1993-2014 Werner Almesberger y Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "© 1993-2009 Werner Almesberger y Craig Small\n"
+#~ "\n"
diff --git a/po/eu.gmo b/po/eu.gmo
new file mode 100644
index 0000000..f513bb9
--- /dev/null
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..afe0eab
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,1002 @@
+# Basque translation of psmisc.
+# Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Mikel Olasagasti Uranga <hey_neken@mundurat.net>, 2004, 2005, 2009, 2010.
+# , fuzzy
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 22.11-pre1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2010-03-29 10:09+0100\n"
+"Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
+"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/fuser.c:146
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] "
+#| "NAME...\n"
+#| " fuser -l\n"
+#| " fuser -V\n"
+#| "Show which processes use the named files, sockets, or filesystems.\n"
+#| "\n"
+#| " -a,--all display unused files too\n"
+#| " -i,--interactive ask before killing (ignored without -k)\n"
+#| " -k,--kill kill processes accessing the named file\n"
+#| " -l,--list-signals list available signal names\n"
+#| " -m,--mount show all processes using the named filesystems or "
+#| "block device\n"
+#| " -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+#| " -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+#| " -s,--silent silent operation\n"
+#| " -SIGNAL send this signal instead of SIGKILL\n"
+#| " -u,--user display user IDs\n"
+#| " -v,--verbose verbose output\n"
+#| " -V,--version display version information\n"
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Erabilerera: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n EREMUA] [-k[-i] [-"
+"SEINALEA]] IZENA...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Bistaratu zein prozesuk erabiltzen dituzten izendatutako fitxategi, socket "
+"edo fitxategi-sistemak.\n"
+"\n"
+" -a,--all erakutsi erabiligabeko fitxategiak ere\n"
+" -i,--interactive galdetu hil baina lehenago (ignoratua -k gabe)\n"
+" -k,--kill hil fitxategi hori erabiltzen hari diren prozesuak\n"
+" -l,--list-signals zerrendatu eskuragarri dauden seinale izenak\n"
+" -m,--mount bistaratu izendatutako fitxategi sistema edo bloke "
+"gailua erabiltzen duten prozesu guztiak\n"
+" -M,--ismountpoint IZENA muntai puntua denean bakarrik burutu eskaera\n"
+" -n,--namespace EREMUAK bilatu eremu hauteko batean (fitxategia, udp, "
+"edo tcp)\n"
+" -s,--silent operazio ixila\n"
+" -SEINALEA bidali seinalea SIGKILL beharrean\n"
+" -u,--user erakutsi erabiltzaileen id-ak\n"
+" -v,--verbose irteera xehetua\n"
+" -V,--version erakutsi bertsio informazioa\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 bilatu IPv4 socket-ak bakarrik\n"
+" -6,--ipv6 bilatu IPv6 socket-ak bakarrik\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - garbitu aukerak\n"
+"\n"
+" udp/tcp izenak: [ataka_lokala][,[urruneko_ostalaria][,[urruneko_ataka]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2010 Werner Almesberger eta Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc-k ez du INONGO BERMERIK.\n"
+"Software librea da, eta berriro bana daiteke GNU Lizentzia Publiko "
+"Orokorrak\n"
+"ezarritako baldintzak betez.\n"
+"Gai honi buruzko informazio gehiagorako, ikusi COPYING izena duten "
+"fitxategiak.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Ezin da /proc direktorioa ireki: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Ezin da memoria esleitu aurkitutako prozesuarentzat: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Adierazitako %s fitxategia ez da existitzen.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Ezin da %s identifikatu: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Ezin da %s ataka lokala ebatzi: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "AF ataka lokal ezezaguna %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Ezin izan da \"%s\" protokolo fitxategia ireki: %s\n"
+
+#: src/fuser.c:1079
+#, fuzzy, c-format
+#| msgid "Specified filename %s does not exist.\n"
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Adierazitako %s fitxategia ez da existitzen.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: %s baliogabeko aukera\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Namespace aukerak argumentua behar du"
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Baliogabeko namespace izena"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "muntai-puntu aukerak dituzten fitxategiak erabil ditzazkezu soilik"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Ez da prozesuaren espezifikaziorik eman"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "aukera guztiak ezin dira ixiltasun aukerarekin erabili."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Ezin dituzu IPv4 socket-ak soilik eta IPv6 socket-ak soilik bilatu une berean"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s ERAB. PID SARRERA KOMANDOA\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(ezezaguna)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Ezin da %s fitxategia identifikatu: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Ezin da /proc/net/unix direktorioa ireki: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "%d prozesua hil? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Ezin izan da %d prozesua hil: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Ezin da sare socket bat ireki.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Ezin izan da socket-aren gailu zenbakia aurkitu.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "%s(%s%d) hil? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Seinala bidali %s(%s%d)? (b/E) "
+
+#: src/killall.c:262
+#, fuzzy, c-format
+#| msgid "Cannot get UID from process status\n"
+msgid "killall: Cannot get UID from process status\n"
+msgstr "Ezin da UID-a lortu prozesuaren egoeragatik\n"
+
+#: src/killall.c:368
+#, fuzzy, c-format
+#| msgid "Bad regular expression: %s\n"
+msgid "killall: Bad regular expression: %s\n"
+msgstr "Expresio erregular okerra: %s\n"
+
+#: src/killall.c:525
+#, fuzzy, c-format
+#| msgid "skipping partial match %s(%d)\n"
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "baterakuntza partziala saltatzen %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) hil da %d seinalearekin\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: ez da prozesurik aurkitu\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "erabilera: killall [AUKERAK ] [ -- ] IZENA...\n"
+
+#: src/killall.c:839
+#, fuzzy, c-format
+#| msgid ""
+#| " killall -l, --list\n"
+#| " killall -V, --version\n"
+#| "\n"
+#| " -e,--exact require exact match for very long names\n"
+#| " -I,--ignore-case case insensitive process name match\n"
+#| " -g,--process-group kill process group instead of process\n"
+#| " -y,--younger-than kill processes younger than TIME\n"
+#| " -o,--older-than kill processes older than TIME\n"
+#| " -i,--interactive ask for confirmation before killing\n"
+#| " -l,--list list all known signal names\n"
+#| " -q,--quiet don't print complaints\n"
+#| " -r,--regexp interpret NAME as an extended regular expression\n"
+#| " -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+#| " -u,--user USER kill only process(es) running as USER\n"
+#| " -v,--verbose report if the signal was successfully sent\n"
+#| " -V,--version display version information\n"
+#| " -w,--wait wait for processes to die\n"
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V --version\n"
+"\n"
+" -e,--exact izen oso luzeentzat berdin-berdin idaztea behar da\n"
+" -I,--ignore-case ez ezberdindu letra maiskula/minuskulak\n"
+" -g,--process-group hil prozesu taldea prozesuaren ordez\n"
+" -y,--younger-than ORDUA baina berriagoak diren prozesuak hil\n"
+" -o, --older-than ORDUA baina zaharragoak diren prozesuak hil\n"
+" -i,--interactive konfirmazioa eskatu hil aurretik\n"
+" -l,--list zerrendatu seinale ezagun guztien izenak\n"
+" -q,--quiet ez erakutsi kexuak\n"
+" -r, --regexp interpretatu IZENA luzatutako expresio erregular bat "
+"bezala\n"
+" -s,--signal SEINALEA bidali seinalea SIGTERM-ren ordez\n"
+" -u, --user ERABILTZAILEA hil ERABILTZAILEA bezela exekutatzen hari "
+"diren prozesuak\n"
+" -v,--verbose informatu seinalea arrakasterekin bidali bada\n"
+" -V,--version bertsioaren informazioa bistaratu\n"
+" -w,--wait itxaron prozesuak hil arte\n"
+"\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP hil kontestua duten prozesuak bakarrikkill only "
+"process(es)\n"
+" (beste argumentu batzuk aurretik izan behar ditu)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Baliogabeko ordu formatua"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Ezin da %s erabiltzailea aurkitu\n"
+
+#: src/killall.c:1016
+#, fuzzy
+#| msgid "Invalid namespace name"
+msgid "Invalid namespace PID"
+msgstr "Baliogabeko namespace izena"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Expresio erregular okerra: %s\n"
+
+#: src/killall.c:1057
+#, fuzzy, c-format
+#| msgid "Maximum number of names is %d\n"
+msgid "killall: Maximum number of names is %d\n"
+msgstr "Izen kopuru gehiengoa %d da\n"
+
+#: src/killall.c:1062
+#, fuzzy, c-format
+#| msgid "%s is empty (not mounted ?)\n"
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "%s hutsik dago (muntatu gabea?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Errorea %i prozesura atxikitzen\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+#| " -8 output 8 bit clean streams.\n"
+#| " -n don't display read/write from fd headers.\n"
+#| " -c peek at any new child processes too.\n"
+#| " -d remove duplicate read/writes from the output.\n"
+#| " -V prints version info.\n"
+#| " -h prints this help.\n"
+#| "\n"
+#| " Press CTRL-C to end output.\n"
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Erabilera: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8 8 bit-eko irteera jario garbiak.\n"
+" -n ez bistaratu fd goiburuen irakurketa/idazketak.\n"
+" -c seme-prozesu berriak ere begiratu.\n"
+" -d ezabatu irteerako irakurketa/idazketa bikoiztuak.\n"
+" -V bistaratu bertsioaren informazioa.\n"
+" -h laguntza hau bistaratu.\n"
+"\n"
+" Sakatu CTR-C amaitzeko.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Erabilera: prtstat [aukerak] PID ...\n"
+" prtstat -V\n"
+"Prozesu baten informazioa bistaratu\n"
+" -r,--raw Informazioa gordinik bistaratu\n"
+" -V,--version Erakutsi bertsio informazioa eta irten\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "aktibo"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "lotan"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "lotan (diska)"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "trazeatuta"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "orrikatzen"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "ezezaguna"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Prozesua: %-14s\t\tEgoera: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tHariak: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Prozesua, taldea eta saio IDak\n"
+" Prozesu IDa: %d\t\t Aita IDa: %d\n"
+" Talde IDa: %d\t\t Saio IDa: %d\n"
+" T Talde IDa: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Orrikatze hutsegiteak\n"
+" Prozesu hau (minor major): %8lu %8lu\n"
+" Seme prozesuak (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU denborak\n"
+" Prozesu hau (erabiltzailea sistema gonbidatua blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Seme prozesuak (erabiltzailea sistema gonbidatua): %6.2f %6.2f "
+"%6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memoria\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limitea: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Antolaketa\n"
+" Politika: %s\n"
+" Nice: %ld \t\t RT Prioritatea: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf-ek print_stat-en huts egin du.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "%d pid-a duen prozesua ez da existitzen.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Ezin da stat fitxategia ireki %d (%s) pid-erako\n"
+
+#: src/prtstat.c:243
+#, fuzzy, c-format
+#| msgid "Cannot allocate memory for matched proc: %s\n"
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Ezin da memoria esleitu aurkitutako prozesuarentzat: %s\n"
+
+#: src/prtstat.c:283
+#, fuzzy, c-format
+#| msgid "Unable to open stat file for pid %d (%s)\n"
+msgid "Unable to scan stat file"
+msgstr "Ezin da stat fitxategia ireki %d (%s) pid-erako\n"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Baliogabeko aukera"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Gutxienez PID bat eman behar duzu"
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc ez dago muntatua, ezin da stat egin /proc/self/stat fitxategian.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s hutsik dago (muntatu gabea?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+#| msgid ""
+#| " PID start at this PID; default is 1 (init)\n"
+#| " USER show only trees rooted at processes of this user\n"
+#| "\n"
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+" PID zein PID-etan hasi, lehenetsia 1 (init)\n"
+" ERABILTZAILEA erakutsi erabiltzaile honen zuahitz prozesuen adarrak\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM ez dago ezarrita\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Ezin dira terminalaren gaitasunak lortu\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr ""
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Ez dago honelako erabiltzaile izenik: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Ez da prozesurik aurkitu.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Ez da prozesurik aurkitu.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Sakatu 'return' itxitzeko\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: seinale ezezaguna; %s -l seinaleak zerrendatu.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Erabilera: pidof [ -eg ] IZENA ...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e izen oso luzeentzat berdin-berdin idaztea behar da;\n"
+#~ " jauzi komandoa-lerroa eskuragarri ez badago\n"
+#~ " -g erakutsi prozesu taldearen IDa prozesuearenaren ordez\n"
+#~ " -V bertsioaren informazioa bistaratu\n"
+#~ "\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Erabilera: killall [-Z KONTESTUA] [-u ERABILTZAILEA] [ -egiqvw ] [ -"
+#~ "SEINALEA ] IZENA ...\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger eta Craig Small\n"
+#~ "\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Erabilera: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -"
+#~ "u ]\n"
+#~ " [ -A | -G | -U ] [ PID | ERABILTZAILEA]\n"
+#~ " pstree -V\n"
+#~ "Bistaratu prozesu zuhaitz bat.\n"
+#~ "\n"
+#~ " -a, --arguments erakutsi komando lerroaren argumentoak\n"
+#~ " -A, --ascii erabili ASCII karaktereak\n"
+#~ " -c, --compact ez trinkotu azpi-zuhaitz berdinak\n"
+#~ " -h, --highlight-all nabarmentu uneko prozesuak eta honen aurrekoak\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID nabarmendu \"pid\" prozesua eta honen aurrekoak\n"
+#~ " -G, --vt100 erabili VT100 karaktereak\n"
+#~ " -l, --long ez moztu lerro luzeak\n"
+#~ " -n, --numeric-sort sailkatu irteera PIDaren arabera PID\n"
+#~ " -p, --show-pids erakutsi PIDak; -c erabiltzea esan nahi du\n"
+#~ " -u, --uid-changes erakutsi uid transizioak\n"
+#~ " -U, --unicode erabili UTF-8 (Unicode) lerro marrazketa "
+#~ "karaktereak\n"
+#~ " -V, --version erakutsi bertsio informazioa\n"
+
+#, c-format
+#~ msgid " -Z show SELinux security contexts\n"
+#~ msgstr " -Z SELinux segurtasun kontestuak bistaratu\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr "Ezin duzu muntai eta muntai puntu banderak batera erabili"
+
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr "Ezin da %s muntai puntua identifikatu: %s\n"
+
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "Ezin da /etc/mtab ireki: %s\n"
+
+#~ msgid "MAX_DEPTH not big enough.\n"
+#~ msgstr "MAX_DEPTH ez da behar bezain handia\n"
+
+#~ msgid "%s: SID (%s) must be numeric\n"
+#~ msgstr "%s: SIDak (%s) zenbakia izan behar du\n"
+
+#~ msgid "-4 flag used but proc file %s is not readable\n"
+#~ msgstr ""
+#~ "-4 bandera erabili da, baina %s proc fitxategia ez da irakurgarria\n"
+
+#~ msgid "-6 flag used but proc file %s is not readable\n"
+#~ msgstr ""
+#~ "-6 bandera erabili da, baina %s proc fitxategia ez da irakurgarria\n"
+
+#~ msgid "kill %d"
+#~ msgstr "%d hil"
+
+#~ msgid "No automatic removal. Please use umount %s\n"
+#~ msgstr "Ezin da automatikoki kendu. Mesedez erabili umount %s\n"
+
+#~ msgid "No automatic removal. Please use swapoff %s\n"
+#~ msgstr "Ezin da automatikoki kendu. Mesedez erabili swapoff %s\n"
+
+#~ msgid "Internal error (type %d)\n"
+#~ msgstr "barne-errorea (%d moeta)\n"
+
+#~ msgid "kernel mount "
+#~ msgstr "kernel mount "
+
+#~ msgid "kernel loop "
+#~ msgstr "kernel loop "
+
+#~ msgid "kernel swap "
+#~ msgstr "kernel swap "
+
+#~ msgid "ignoring -m in name space \"%s\"\n"
+#~ msgstr "-m ignoratzen \"%s\" izen tartean\n"
+
+#~ msgid ""
+#~ "usage: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+#~ msgstr ""
+#~ "erabilera: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -"
+#~ "u ]\n"
+
+#~ msgid " [ -A | -G | -U ] [ pid | user]\n"
+#~ msgstr " [ -A | -G | -U ] [ pid | erabiltzailea]\n"
+
+#~ msgid ""
+#~ " pstree -V\n"
+#~ "\n"
+#~ msgstr ""
+#~ " pstree -V\n"
+#~ "\n"
+
+#~ msgid " -a show command line arguments\n"
+#~ msgstr " -a erakutsi komando lerro argumentoak\n"
+
+#~ msgid " -A use ASCII line drawing characters\n"
+#~ msgstr " -A erabili ASCII karaktereak lerroak marrazteko\n"
+
+#~ msgid " -c don't compact identical subtrees\n"
+#~ msgstr " -c ez trinkotu azpi-zuahitz berdinak\n"
+
+#~ msgid " -h highlight current process and its ancestors\n"
+#~ msgstr " -h nabarmendu uneko prozesuak eta honen aurrekoak\n"
+
+#~ msgid " -H pid highlight process \"pid\" and its ancestors\n"
+#~ msgstr " -H pid nabarmendu \"pid\" prozesua eta honen aurrekoak\n"
+
+#~ msgid " -G use VT100 line drawing characters\n"
+#~ msgstr " -G erabili VT100 karaktereak lerroak marrazteko\n"
+
+#~ msgid " -l don't truncate long lines\n"
+#~ msgstr " -l ez moztu lerro luzeak\n"
+
+#~ msgid " -n sort output by PID\n"
+#~ msgstr " -n sailkatu irteera PIDaren arabera\n"
+
+#~ msgid " -p show PIDs; implies -c\n"
+#~ msgstr " -p erakutsi PIDak; -c erabiltzea suposatzen du\n"
+
+#~ msgid " -u show uid transitions\n"
+#~ msgstr " -u erakutsi uid trantsizioak\n"
+
+#~ msgid " -s show Flask SIDs\n"
+#~ msgstr " -s erakutsi SIDs flaskoak\n"
+
+#~ msgid " -U use UTF-8 (Unicode)) line drawing characters\n"
+#~ msgstr " -U erabili UTF-8 (Unicode)) lerro karaktereak marrazteko\n"
+
+#~ msgid " -V display version information\n"
+#~ msgstr " -V bertsioari buruzko informazioa pantailaratu\n"
+
+#~ msgid " pid start at pid, default 1 (init))\n"
+#~ msgstr " pid hasi pid hontan, lehenetsitakoa 1 (init))\n"
+
+#~ msgid ""
+#~ " user show only trees rooted at processes of that user\n"
+#~ "\n"
+#~ msgstr ""
+#~ " user erakutsi erabiltzaile honen prozesuen zuahitzak\n"
+#~ "\n"
+
+#~ msgid "pstree comes with ABSOLUTELY NO WARRANTY.\n"
+#~ msgstr "pstree-k ez du INONGO BERMERIK.\n"
+
+#~ msgid ""
+#~ "This is free software, and you are welcome to redistribute it under the "
+#~ "terms\n"
+#~ msgstr ""
+#~ "Software librea da, eta berriro bana daiteke GNU Lizentzia Publiko "
+#~ "Orokorrak\n"
+#~ "ezarritako baldintzak betez.\n"
+
+#~ msgid "of the GNU General Public License.\n"
+#~ msgstr "GNU General Public License lizentziapean.\n"
+
+#~ msgid ""
+#~ "For more information about these matters, see the files named COPYING.\n"
+#~ msgstr ""
+#~ "Gai honi buruzko informazio gehiagorako, ikusi COPYING izena duten "
+#~ "fitxategiak.\n"
diff --git a/po/fi.gmo b/po/fi.gmo
new file mode 100644
index 0000000..0f3b834
--- /dev/null
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..43af6e6
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,1012 @@
+# Finnish translation for psmisc.
+# Copyright © 2010, 2012, 2013, 2014, 2016 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Lars Wirzenius <liw@iki.fi>, 2004.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2008-2010, 2012-2014, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.0-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2016-12-17 12:32+0200\n"
+"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
+"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: FINLAND\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Käyttö: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NIMI...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Näytä mitkä prosessit käyttävät nimettyjä tiedostoja, vastakkeita tai\n"
+"tiedostojärjestelmiä.\n"
+"\n"
+" -a,--all näytä myös käyttämättömät tiedostot\n"
+" -i,--interactive kysy ennen kill-komennon käyttämistä (ei merkitystä\n"
+" ilman valitsinta -k)\n"
+" -I,--inode käytä tiedostojen vertailussa aina inodes-solmuja\n"
+" -k,--kill lähetä signaali kill-käskyllä prosesseille, jotka\n"
+" käyttävät tiedostoa\n"
+" -l,--list-signals näytä signaalinimien luettelo\n"
+" -m,--mount näytä kaikki nimettyjä tiedostojärjestelmiä tai\n"
+" lohkolaitteita käyttävät prosessit\n"
+" -M,--ismountpoint toteuta pyyntö vain jos NIMI on liitäntäpiste\n"
+" -n,--namespace SPACE etsi tästä SPACE-nimiavaruudesta (file, udp, tai "
+"tcp)\n"
+" -s,--silent vaimennettu toiminta\n"
+" -SIGNAL lähetä muu signaali kuin SIGKILL\n"
+" -u,--user näytä käyttäjätunnukset\n"
+" -v,--verbose laveasti\n"
+" -w,--writeonly käytä kill-käskyä vain kirjoitusoikeudella\n"
+" varustettuihin prosesseihin\n"
+" -V,--version näytä versiotiedot\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 etsi vain IPv4-vastakkeita\n"
+" -6,--ipv6 etsi vain IPv6-vastakkeita\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - nollaa valitsimet\n"
+"\n"
+" ”udp/tcp”-nimet: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 1993-2014 Werner Almesberger ja Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc-ohjelmistolla EI EHDOTTOMASTI OLE MITÄÄN TAKUUTA.\n"
+"Tämä on vapaa ohjelmisto ja saat kopioida ja levittää sitä GNU General "
+"Public\n"
+"License -lisenssin mukaisesti. Tiedostossa COPYING on tarkemmat tiedot.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Hakemiston /proc avaaminen epäonnistui: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Muistin varaaminen täsmäävälle proc-hakemistolle epäonnistui: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Määriteltyä tiedostonimeä %s ei ole olemassa.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Komennon stat %s suorittaminen epäonnistui: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Paikallisen portin %s selvittäminen epäonnistui: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Tuntematon paikallinen portti AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Yhteyskäytäntötiedoston ”%s” avaaminen epäonnistui: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Määritelty tiedostonimi %s ei ole liitäntäpiste.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Virheellinen valitsin %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Nimiavaruusvalitsin vaatii argumentin."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Virheellinen nimiavaruusnimi"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Voit käyttää tiedostoja vain ”mountpoint”-valitsimien kanssa"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Prosessimäärittelyä ei ole annettu"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "”all”-valitsinta ei voi käyttää ”silent”-valitsimen kanssa."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Vain IPv4- ja vain IPv6-vastakkeiden etsiminen samaan aikaan epäonnistui"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s KÄYTTÄJÄ PID ACCESS KÄSKY\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(tuntematon)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Stat-komennon suorittaminen tiedostolle %s epäonnistui: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Tiedoston /proc/net/unix avaaminen epäonnistui: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr ""
+"Lähetä signaali prosessille %d? (y=kyllä, N=ei, ”kyllä” yleensä lopettaa "
+"prosessin) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Kill-komennon lähettäminen prosessille %d epäonnistui: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Verkkovastakkeen avaaminen epäonnistui.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Vastakkeen laitenumeroa ei löydy.\n"
+
+# Kill-käskyn käyttämä signaali on tässä SIGTERM (tunnetaan myös nimellä TERM).
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Lopeta prosessi %s(%s%d)? (y=kyllä, N=ei) "
+
+# Signaali on joku muu kuin SIGTERM
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr ""
+"Signaali prosessille %s(%s%d)? (y=kyllä, N=ei, ”kyllä” yleensä lopettaa "
+"prosessin) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: UID-käyttäjätunnisteen saaminen prosessitilasta epäonnistui\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Virheellinen säännöllinen lauseke: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: ohitetaan osittain vastaava %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Prosessille %s(%s%d) lähetetty signaali %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: ei prosesseja\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Käyttö: killall [VALITSIN]... [--] NIMI...\n"
+
+#: src/killall.c:839
+#, fuzzy, c-format
+#| msgid ""
+#| " killall -l, --list\n"
+#| " killall -V, --version\n"
+#| "\n"
+#| " -e,--exact require exact match for very long names\n"
+#| " -I,--ignore-case case insensitive process name match\n"
+#| " -g,--process-group kill process group instead of process\n"
+#| " -y,--younger-than kill processes younger than TIME\n"
+#| " -o,--older-than kill processes older than TIME\n"
+#| " -i,--interactive ask for confirmation before killing\n"
+#| " -l,--list list all known signal names\n"
+#| " -q,--quiet don't print complaints\n"
+#| " -r,--regexp interpret NAME as an extended regular expression\n"
+#| " -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+#| " -u,--user USER kill only process(es) running as USER\n"
+#| " -v,--verbose report if the signal was successfully sent\n"
+#| " -V,--version display version information\n"
+#| " -w,--wait wait for processes to die\n"
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact vaatii täsmällisen vastaavuuden hyvin pitkille "
+"nimille\n"
+" -I,--ignore-case merkkikoosta riippumaton prosessinimi täsmää\n"
+" -g,--process-group lähetä signaali kill-käskyllä prosessiryhmälle\n"
+" prosessin sijasta\n"
+" -y,--younger-than tapa prosessit, jotka ovat nuorempia kuin TIME\n"
+" -o,--older-than tapa prosessit, jotka ovat vanhempia kuin TIME\n"
+" -i,--interactive kysy vahvistusta ennen kill-käskyä\n"
+" -l,--list luettele kaikki tunnetut signaalinimet\n"
+" -q,--quiet älä tulosta valituksia\n"
+" -r,--regexp tulkitse NIMI laajennettuna säännöllisenä "
+"lausekkeena\n"
+" -s,--signal SIGNAALI lähetä tämä SIGNAALI eikä SIGTERM\n"
+" -u,--user KÄYTTÄJÄ lähetä signaali kill-käskyllä vain prosesseille, "
+"joita\n"
+" suoritetaan KÄYTTÄJÄnä\n"
+" -v,--verbose ilmoita, jos signaalin lähetys onnistui\n"
+" -V,--version näytä versiotiedot\n"
+" -w,--wait odota prosessien loppumista\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP lähetä signaali kill-käskyllä vain prosesseille, "
+"joilla\n"
+" on asiayhteys (tämän on oltava ennen muita "
+"argumentteja)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Virheellinen aikamuoto"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Käyttäjän %s löytyminen epäonnistui\n"
+
+#: src/killall.c:1016
+#, fuzzy
+#| msgid "Invalid namespace name"
+msgid "Invalid namespace PID"
+msgstr "Virheellinen nimiavaruusnimi"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Virheellinen säännöllinen lauseke: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Suurin sallittu määrä nimiä on %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s-kohteesta puuttuu prosessirivit (ei ole liitetty?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Virhe liityttäessä pid-tunnukseen %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright © 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+#| " -8 output 8 bit clean streams.\n"
+#| " -n don't display read/write from fd headers.\n"
+#| " -c peek at any new child processes too.\n"
+#| " -d remove duplicate read/writes from the output.\n"
+#| " -V prints version info.\n"
+#| " -h prints this help.\n"
+#| "\n"
+#| " Press CTRL-C to end output.\n"
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Käyttö: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8 tuloste puhtaina 8-bittisinä virtoina.\n"
+" -n älä näytä lukemisia ja kirjoittamisia fd-otsakkeista.\n"
+" -c kurkista myös kaikkien tytärprosessien aikana.\n"
+" -d poista tulosteesta lukemis- ja kirjoittamistoimintojen\n"
+" kaksoiskappaleet.\n"
+" -V tulostaa versiotiedot.\n"
+" -h tulostaa tämän ohjeen.\n"
+"\n"
+" Lopeta tulostus painamalla näppäimiä CTRL-C.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Käyttö: prtstat [valitsimet] PID-prosessitunniste ...\n"
+" prtstat -V\n"
+"Tulosta tiedot prosesseista\n"
+" -r,--raw Tietojen raakanäyttö\n"
+" -V,--version Näytä versiotiedot ja poistu\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 2009 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "suoritetaan"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "levätään"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "levylepo"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombi"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "jäljitetty"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "sivutetaan"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "tuntematon"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Prosessi: %-14s\t\tTila: %c (%s)\n"
+" Suoritinnro: %-3d\t\tTTY: %s\tSäikeet: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Prosessi-, ryhmä- ja istuntotunnisteet\n"
+" Prosessitunniste: %d\t\t Emotunniste: %d\n"
+" Ryhmätunniste: %d\t\t Istuntotunniste: %d\n"
+" T-ryhmätunniste: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Sivuvirheet\n"
+" Tämä Prosessi (minor major): %8lu %8lu\n"
+" Lapsiprosessit (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Suoritinajat\n"
+" Tämä prosessi (käyttäjä järjestelmä vieras blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Lapsiprosessit (käyttäjä järjestelmä vieras blkio): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Muisti\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS-raja: %s\n"
+" Koodialku: %#-10lx\t\t Koodiloppu: %#-10lx\n"
+" Pinoalku: %#-10lx\n"
+" Pino-osoitin (ESP): %#10lx\t Käskyosoitin (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Vuorottaminen\n"
+" Menettelytapa: %s\n"
+" Nice: %ld \t\t RT Prioriteetti: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf kutsussa print_stat epäonnistui.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Ei ole olemassa prosessia, jonka pid-prosessitunniste on %d.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr ""
+"Stat-tiedoston avaaminen pid-prosessitunnisteelle %d (%s) epäonnistui\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Muistin varaaminen kohteelle proc_info epäonnistui\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Stat-tiedoston tutkiminen epäonnistui"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Virheellinen valitsin"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Sinun on tarjottava vähintään yksi PID-prosessitunniste."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc ei ole liitetty, stat-käskyn suorittaminen tiedostolle /proc/self/stat "
+"epäonnistui.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s on tyhjä (ei liitetty?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, fuzzy, c-format
+#| msgid ""
+#| " -Z, --security-context\n"
+#| " show SELinux security contexts\n"
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" näytä SELinux-turvakonteksti\n"
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+#| msgid ""
+#| " PID start at this PID; default is 1 (init)\n"
+#| " USER show only trees rooted at processes of this user\n"
+#| "\n"
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+" PID aloita tällä PID-prosessitunnisteella; oletus on 1 (init)\n"
+" KÄYTTÄJÄ näytä vain puita, jotka alkavat käyttäjän omistuksessa\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM-signaali ei ole asetettu\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Päätteen ominaisuudet eivät ole selvillä\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "procfs-tiedosto %s-nimiavaruudelle ei ole käytettävissä\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Käyttäjätunnus puuttuu: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Prosesseja ei löydy.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Prosesseja ei löydy.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Enter-näppäin sulkee\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: tuntematon signaali; %s -l luettelee signaalit.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2010 Werner Almesberger ja Craig Small\n"
+#~ "\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Usage: killall [ -Z ASIAYHTEYS ] [ -u KÄYTTÄJÄ ] [ -y AIKA ] [ -o AIKA ] "
+#~ "[ -eIgiqrvw ]\n"
+#~ " [ -s SIGNAALI | -SIGNAL ] NIMI...\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (ipc, mnt, net, pid, user, "
+#~ "uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Käyttö: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N tyyppi ]\n"
+#~ "Käyttö: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N tyyppi ]\n"
+#~ " [ -A | -G | -U ] [ PID | KÄYTTÄJÄ ]\n"
+#~ " pstree -V\n"
+#~ "Näytä prosessien puu.\n"
+#~ "\n"
+#~ " -a, --arguments näytä komentoriviargumentit\n"
+#~ " -A, --ascii käytä ASCII-pseudografiikkamerkkejä\n"
+#~ " -c, --compact älä tiivistä identtisiä alipuita\n"
+#~ " -h, --highlight-all korosta nykyinen prosessi ja sen periytymislähteet\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID korosta tämä prosessi ja sen periytymislähteet\n"
+#~ " -g, --show-pgids näytä prosessiryhmätunnisteet; edellyttää "
+#~ "valitsinta -c\n"
+#~ " -G, --vt100 käytä VT100-pseudografiikkamerkkejä\n"
+#~ " -l, --long älä typistä pitkiä riviä\n"
+#~ " -n, --numeric-sort lajittele tulostus PID-tunnuksen mukaan\n"
+#~ " -N tyyppi,\n"
+#~ " --ns-sort=tyyppi lajittele nimiavaruuden tyypin mukaan (ipc, mnt, "
+#~ "net,\n"
+#~ " pid, user, uts)\n"
+#~ " -p, --show-pids näytä PID-tunnukset; epäsuorasti -c\n"
+#~ " -s, --show-parents näyttää valitun prosessin vanhemmat\n"
+#~ " -S, --ns-changes näytä nimiavaruusvaihtumiset\n"
+#~ " -t, --thread-names näytä kokonaiset säienimet\n"
+#~ " -T, --hide-threads piilota säikeet, näytä vain prosessit\n"
+#~ " -u, --uid-changes näytä uid-vaihtumiset\n"
+#~ " -U, --unicode käytä UTF-8 (Unicode)-pseudografiikkamerkkejä\n"
+#~ " -V, --version näytä versiotiedot\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2009 Werner Almesberger ja Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2012 Werner Almesberger ja Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Käyttö: pidof [ -eg ] NIMI...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e vaatii hyvin pitkien nimien täsmällistä vastaavuutta;\n"
+#~ " ohita, jos komentorivi ei ole käytettävissä.\n"
+#~ " -g näyttää prosessin ryhmätunnisteen prosessitunnisteen sijasta\n"
+#~ " -V näyttää versiotiedot\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2005 Werner Almesberger ja Craig Small\n"
+#~ "\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr "Lippujen ”mounted” ja ”mountpoint” käyttäminen yhdessä epäonnistui"
+
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr ""
+#~ "Stat-käskyn suorittaminen mount-liitospisteelle %s epäonnistui: %s\n"
+
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "Tiedoston /etc/mtab avaaminen epäonnistui: %s\n"
+
+#~ msgid "Internal error: MAX_DEPTH not big enough.\n"
+#~ msgstr "Sisäinen virhe: MAX_DEPTH-vakio on liian pieni.\n"
+
+#~ msgid "-4 flag used but proc file %s is not readable\n"
+#~ msgstr "optio -4 käytössä mutta proc-tiedosto %s ei ole luettavissa\n"
+
+#~ msgid "-6 flag used but proc file %s is not readable\n"
+#~ msgstr "optio -6 käytössä mutta proc-tiedosto %s ei ole luettavissa\n"
+
+#~ msgid "kill %d"
+#~ msgstr "lopeta %d"
+
+#~ msgid "No automatic removal. Please use umount %s\n"
+#~ msgstr "Ei automaattista poistoa. Poista liitos %s\n"
+
+#~ msgid "No automatic removal. Please use swapoff %s\n"
+#~ msgstr "Ei automaattista poistoa. Käytä swapoff %s\n"
+
+#~ msgid "Internal error (type %d)\n"
+#~ msgstr "Sisäinen virhe (tyyppiä %d)\n"
+
+#~ msgid "kernel mount "
+#~ msgstr "kernel mount "
+
+#~ msgid "kernel loop "
+#~ msgstr "kernel loop "
+
+#~ msgid "kernel swap "
+#~ msgstr "kernel swap "
+
+#~ msgid "ignoring -m in name space \"%s\"\n"
+#~ msgstr "optio -m merkityksetön nimiavaruudessa ”%s”\n"
+
+#~ msgid ""
+#~ "usage: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+#~ msgstr ""
+#~ "käyttö: pstree [ -a ] [ -c ] [ -h | -H pid ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+
+#~ msgid " [ -A | -G | -U ] [ pid | user]\n"
+#~ msgstr ""
+#~ " [ -A | -G | -U ] [ prosessitunniste | käyttäjätunnus]\n"
+
+#~ msgid ""
+#~ " pstree -V\n"
+#~ "\n"
+#~ msgstr ""
+#~ " pstree -V\n"
+#~ "\n"
+
+#~ msgid " -a show command line arguments\n"
+#~ msgstr " -a näytä komentoriviparametrit\n"
+
+#~ msgid " -A use ASCII line drawing characters\n"
+#~ msgstr " -A käytä ASCII-merkkejä viivanpiirtoon\n"
+
+#~ msgid " -c don't compact identical subtrees\n"
+#~ msgstr " -c älä yhdistä samanlaisia alipuita\n"
+
+#~ msgid " -h highlight current process and its ancestors\n"
+#~ msgstr " -h merkitse nykyinen prosessi ja sen esi-isät\n"
+
+#~ msgid " -H pid highlight process \"pid\" and its ancestors\n"
+#~ msgstr " -H pid merkitse prosessi ”pid” ja sen esi-isät\n"
+
+#~ msgid " -G use VT100 line drawing characters\n"
+#~ msgstr " -G käytä VT100-merkkejä viivanpiirtoon\n"
+
+#~ msgid " -l don't truncate long lines\n"
+#~ msgstr " -l älä katko pitkiä rivejä\n"
+
+#~ msgid " -n sort output by PID\n"
+#~ msgstr " -n järjestä tuloste prosessitunnisteen mukaan\n"
+
+#~ msgid " -p show PIDs; implies -c\n"
+#~ msgstr " -p näytä prosessitunnisteet; myös -c menee päälle\n"
+
+#~ msgid " -u show uid transitions\n"
+#~ msgstr " -u näytä käyttäjätunnusten vaihtumiset\n"
+
+#~ msgid " -s show Flask SIDs\n"
+#~ msgstr " -s näytä Flask SID -tunnisteet\n"
+
+#~ msgid " -U use UTF-8 (Unicode)) line drawing characters\n"
+#~ msgstr " -U käytä UTF-8 (Unicode)) -merkkejä viivanpiirtoon\n"
+
+#~ msgid " -V display version information\n"
+#~ msgstr " -V näytä versio\n"
+
+#~ msgid " pid start at pid, default 1 (init))\n"
+#~ msgstr " pid aloita prosessista pid, oletuksena 1 (init-prosessi))\n"
+
+#~ msgid "pstree comes with ABSOLUTELY NO WARRANTY.\n"
+#~ msgstr "pstree:llä ei ole mitään takuuta.\n"
+
+#~ msgid ""
+#~ "This is free software, and you are welcome to redistribute it under the "
+#~ "terms\n"
+#~ msgstr ""
+#~ "Tämä vapaa ohjelmisto ja saat kopioida ja levittää sitä GNU General "
+#~ "Public\n"
+
+#~ msgid "of the GNU General Public License.\n"
+#~ msgstr ""
+#~ "License -lisenssin mukaisesti. Tiedostossa COPYING on tarkemmat tiedot.\n"
+
+#~ msgid ""
+#~ "For more information about these matters, see the files named COPYING.\n"
+#~ msgstr "Tiedostossa COPYING on tarkemmat tiedot.\n"
diff --git a/po/fr.gmo b/po/fr.gmo
new file mode 100644
index 0000000..fb0b827
--- /dev/null
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..42a4eb0
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,888 @@
+# French translation of PSmisc messages.
+# Copyright (C) 2024 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Marc Léger <sorata@users.sourceforge.net>, 2001.
+# Benno Schulenberg <benno@vertaalt.nl>, 2007.
+# Frédéric Marchal <fmarchal@perso.be>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc-23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-13 18:42+0100\n"
+"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
+"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n >= 2);\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Utilisation : fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n ESPACE]\n"
+" [-k [-i] [-SIGNAL]] NOM...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Montre les processus utilisant les fichiers, sockets ou systèmes de fichiers "
+"nommés.\n"
+"\n"
+" -a,--all montre les fichiers inutilisés\n"
+" -i,--interactive demande avant de fermer un processus (ignoré sans -"
+"k)\n"
+" -I,--inode utilise toujours les inodes pour comparer les "
+"fichiers\n"
+" -k,--kill ferme les processus accédant au fichier spécifié\n"
+" -l,--list-signals liste les noms des signaux\n"
+" -m,--mount affiche les processus utilisant les systèmes de "
+"fichiers\n"
+" ou les périphériques blocs spécifiés\n"
+" -M,--ismountpoint exécute la requête seulement si NOM est un point de "
+"montage\n"
+" -n,--namespace ESPACE cherche dans l'espace de noms spécifié (file, udp ou "
+"tcp)\n"
+" -s,--silent mode silencieux\n"
+" -SIGNAL envoie ce signal au lieu de SIGKILL\n"
+" -u,--user affiche la liste des utilisateurs\n"
+" -v,--verbose mode bavard\n"
+" -w,--writeonly ferme uniquement les processus avec la permission en "
+"écriture\n"
+" -V,--version affiche des informations sur la version\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 cherche des sockets IPv4 seulement\n"
+" -6,--ipv6 cherche des sockets IPv6 seulement\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" noms udp/tcp: [port_local][,[hôte_distant][,[port_distant]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 1993-2024 Werner Almesberger et Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc n'est couvert par AUCUNE GARANTIE.\n"
+"C'est un logiciel libre, et vous pouvez le redistribuer\n"
+"en respectant les termes de la licence GNU General Public License.\n"
+"Pour plus de précisions à ce sujet, voir les fichiers nommés COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Impossible d'ouvrir le répertoire /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Impossible d'allouer de la mémoire au processus correspondant: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Le nom de fichier %s n'existe pas.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Impossible d'obtenir les stat de %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Ne peut résoudre le port local %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Port local AF inconnu %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Impossible d'ouvrir le fichier protocole « %s »: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Le nom de fichier %s n'est pas un point de montage.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Option %s incorrecte\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "L'option « --namespace » requiert un paramètre."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Paramètre incorrect pour « --namespace »"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr ""
+"Vous ne pouvez utiliser que des fichiers avec les options de point de montage"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Aucune spécification de processus donnée"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "l'option « --all » ne peut être utilisée avec l'option « --silent »"
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Vous ne pouvez pas rechercher simultanément et exclusivement les sockets "
+"IPv4 et IPv6"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s UTIL. PID ACCÈS COMMANDE\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(inconnu)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Impossible d'obtenir les stat du fichier %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Impossible d'ouvrir /proc/net/unix : %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Tuer le processus %d ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Impossible de tuer le processus %d : %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Impossible d'ouvrir un socket réseau.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Impossible de trouver le numéro du périphérique des sockets\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Tuer %s(%s%d) ? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Envoyer signal %s(%s%d) ? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Impossible d'obtenir l'UID à partir de l'état du processus\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Mauvaise expression régulière : %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: Ignore la correspondance partielle %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Tué %s(%s%d) avec le signal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: aucun processus trouvé\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Usage : killall [OPTION]... [--] NOM...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact requiert une concordance parfaite des noms très "
+"longs\n"
+" -I,--ignore-case recherche en ignorant la casse\n"
+" -g,--process-group tue le groupe associé au programme au lieu de celui-"
+"ci\n"
+" -y,--younger-than tue les programmes créés avant HEURE\n"
+" -o,--older-than tue les programmes créés après HEURE\n"
+" -i,--interactive demande une confirmation avant de tuer\n"
+" -l,--list affiche tous les noms de signaux connus\n"
+" -q,--quiet n'affiche pas les remarques\n"
+" -r,--regexp interprète NOM comme une expression régulière "
+"étendue\n"
+" -s,--signal SIGNAL envoie ce signal au lieu de SIGTERM\n"
+" -u,--user UTILISATEUR ne tue que le(s) programme(s) utilisé(s) par "
+"UTILISATEUR\n"
+" -v,--verbose informe si le signal a été correctement envoyé\n"
+" -V,--version affiche les informations sur la version\n"
+" -w,--wait attend que les programmes s'arrêtent\n"
+" -n,--ns PID agit sur les processus qui appartiennent au même "
+"espace\n"
+" de nom que PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP ferme seulement le(s) processus ayant l'argument "
+"context\n"
+" (doit précéder les autres arguments)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Format de temps incorrect"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Utilisateur %s introuvable\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "PID d'espace de nom invalide"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Mauvaise expression régulière : %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Le nombre maximum de noms est %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s n'a aucune entrée de processus (pas monté ?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Erreur lors de l'attachement au pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean sort un flux sans le bit 8.\n"
+" -n, --no-headers n'affiche pas les lectures/écritures dans "
+"les en-têtes fd.\n"
+" -c, --follow examine également chaque nouveau processus "
+"fils.\n"
+" -t, --tgid examine tous les threads dont tgid est égal "
+"à <pid>.\n"
+" -d, --duplicates-removed ignore les lectures/écritures dupliquées.\n"
+" -V, --version affiche la version.\n"
+" -h, --help affiche cet aide-mémoire.\n"
+"\n"
+" Appuyez sur CTRL-C pour interrompre.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Affiche les informations au sujet d'un processus\n"
+" -r,--raw Affiche les informations brutes\n"
+" -V,--version Affiche la version et ne fait rien d'autre\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "en cours"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "endormi"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "attente disque"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "tracé"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "demande de page"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "inconnu"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Processus: %-14s\t\tÉtat: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Processus, Groupe et ID de session\n"
+" ID processus: %d\t\t ID parent: %d\n"
+" ID groupe: %d\t\t ID session: %d\n"
+" ID groupe T: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Erreurs de page\n"
+" Ce processus (mineur majeur): %8lu %8lu\n"
+" Processus fils (mineur majeur): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Temps CPU\n"
+" Ce processus (utilisateur système invité blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Processus fils (utilisateur système invité): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Mémoire\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t Limite RSS: %s\n"
+" Début code: %#-10lx\t\t Fin code: %#-10lx\n"
+" Début pile: %#-10lx\n"
+" Pointeur pile (ESP): %#10lx\t Pointeur inst. (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Ordonnancement\n"
+" Politique: %s\n"
+" Courtoisie: %ld \t\t Priorité TR: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "échec de asprintf dans print_stat.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Le processus avec le pid %d n'existe pas.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Impossible d'ouvrir le fichier stat du pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Impossible d'allouer de la mémoire pour proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Impossible d'analyser le fichier stat"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Option incorrecte"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Vous devez spécifier au moins un PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc n'est pas monté, impossible d'obtenir les stat de /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s est vide (pas monté ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | UTILISATEUR ]\n"
+" ou: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Affiche un arbre des processus.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments montrer les arguments de la ligne de commande\n"
+" -A, --ascii utiliser les caractères de dessin de lignes ASCII\n"
+" -c, --compact-not ne pas compacter des sous-arbres identiques\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TYPE coloriser les processus par attribut\n"
+" (age)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids montrer les ids de groupes de processus ; implique -c\n"
+" -G, --vt100 utiliser les caractères de dessin de lignes du VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all mettre en évidence le processus courant et ses "
+"ancêtres\n"
+" -H PID, --highlight-pid=PID\n"
+" mettre en évidence ce processus et ses ancêtres\n"
+" -l, --long ne pas tronquer les longues lignes\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort trier la sortie par PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" trier la sortie par ce type d'espace de noms\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids montrer les PID ; implique -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents montrer les parents du processus sélectionné\n"
+" -S, --ns-changes montrer les transitions d'espaces de noms\n"
+" -t, --thread-names montrer les noms complets des threads\n"
+" -T, --hide-threads cacher les threads, montrer uniquement les processus\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes montrer les transitions de UID\n"
+" -U, --unicode utiliser les caractères UTF-8 (Unicode) pour dessiner "
+"les lignes\n"
+" -V, --version afficher les informations de la version\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" montre les attributs de sécurité\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID commence à ce PID; le défaut est 1 (init)\n"
+" USER montre seulement les arbres nichés aux processus de cet "
+"utilisateur\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM n'est pas défini\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Impossible d'obtenir les spécifications du terminal\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "fichier procfs indisponible pour l'espace de nom %s\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Aucun utilisateur portant ce nom: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Processus %d non trouvé.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Aucun processus trouvé.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Appuyez sur la touche Entrée pour fermer\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: signal inconnu; %s -l liste les signaux.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger et Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Usage : killall [-Z CONTEXTE] [-u UTILISATEUR] [-y HEURE ] [ -o HEURE ] "
+#~ "[ -eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NOM...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | UTILISATEUR ]\n"
+#~ " ou: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2019 Werner Almesberger et Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | UTILISATEUR ]\n"
+#~ " pstree -V\n"
+#~ "Affiche l'arborescence des processus.\n"
+#~ "\n"
+#~ " -a, --arguments affiche les paramètres de la ligne de commande\n"
+#~ " -A, --ascii utilise les caractères de tracé ASCII\n"
+#~ " -c, --compact ne groupe pas les branches identiques\n"
+#~ " -h, --highlight-all surligne le processus courant et ses parents\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID surligne le processus spécifié et ses parents\n"
+#~ " -g, --show-pgids affiche les ID des groupes du processus (implique -"
+#~ "c)\n"
+#~ " -G, --vt100 utilise les caractères de tracé VT100\n"
+#~ " -l, --long ne tronque pas les longues lignes\n"
+#~ " -n, --numeric-sort trie le résultat par PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type trie par type d'espace de nom (cgroup, ipc, mnt, "
+#~ "net, pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids affiche les PIDs (implique -c)\n"
+#~ " -s, --show-parents affiche les parents du processus sélectionné\n"
+#~ " -S, --ns-changes affiche les transitions d'espaces de noms\n"
+#~ " -t, --thread-names affiche les noms complets des threads\n"
+#~ " -T, --hide-threads cache les threads, ne montre que les processus\n"
+#~ " -u, --uid-changes montre les transitions de uid\n"
+#~ " -U, --unicode utilise les caractères de tracé UTF-8 (Unicode)\n"
+#~ " -V, --version affiche les informations sur la version\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger et Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger et Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Usage : pidof [ -eg ] NOM...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e requiert une concordance parfaite des noms très longs;\n"
+#~ " sauter si la ligne de commande est indisponible\n"
+#~ " -g montre l'ID du groupe associé au lieu de celui du programme\n"
+#~ " -V affiche les informations sur la version\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger et Craig Small\n"
+#~ "\n"
diff --git a/po/hr.gmo b/po/hr.gmo
new file mode 100644
index 0000000..a45d3e5
--- /dev/null
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..8577551
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,856 @@
+# Translation of psmisc to Croatian.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
+# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2018, 2019, 2021, 2022,2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-15 11:08-0800\n"
+"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address\n"
+"X-Generator: Poedit 3.4.2\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+# 1. https://en.wikipedia.org/wiki/Namespace
+# 2. In essence, a namespace defines a scope.
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Uporaba: fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n PROSTOR]\n"
+" [-k [-i] [-SIGNAL]] IME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Prikaže procese koji koriste navedene datoteke, utičnice ili datotečne "
+"sustave.\n"
+"\n"
+" -a, --all pokaže i nekorištene datoteke\n"
+" -i, --interactive pita prije ubijanja (zanemareno bez -k)\n"
+" -I, --inode uvijek rabi inodes za usporedbu datoteka\n"
+" -k, --kill ubije procese koji pristupaju navedenoj datoteci\n"
+" -l, --list-signals ispiše imena dostupnih signala\n"
+" -m, --mount pokaže sve procese koji koriste navedene\n"
+" datotečne sustave ili blok uređaje\n"
+" -M, --ismountpoint izvrši zahtjev samo ako je IME točka montiranja\n"
+" -n, --namespace PROSTOR traži u ovom imenskom PROSTORU (file, udp ili "
+"tcp)\n"
+" -s, --silent tihi rad (bez ispisa)\n"
+" -SIGNAL pošalje SIGNAL umjesto SIGKILL\n"
+" -u, --user pokaže oznake korisnika (ID)\n"
+" -v, --verbose opširni ispis\n"
+" -w, --writeonly ubije sve procese s dozvolom pisanja\n"
+" -V, --version informacije o ovoj inačici\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4, --ipv4 pretraži samo IPv4 utičnice\n"
+" -6, --ipv6 pretraži samo IPv6 utičnice\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" udp/tcp imena: [lokalni_port][,[udaljeno_računalo][,[udaljeni_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"Za PSmisc NEMA APSOLUTNO NIKAKVIH JAMSTVA.\n"
+"Ovo je slobodan softver: slobodno ga mijenjajte i dijelite\n"
+"pod uvjetima opisanim u GNU General Public License.\n"
+"Dodatne obavijesti o licenciji potražite u datoteci COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Nije moguće otvoriti direktorij /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Nije moguće dodijeliti memoriju za odgovarajući proces: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Navedena datoteka %s ne postoji\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Nije moguće odrediti status %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Nije moguće odrediti lokalni port %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Nepoznati lokalni port AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Nije moguće otvoriti datoteku protokola „%s“: %s\n"
+
+# http://www.linfo.org/mount_point.html
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Navedeni naziv (datoteke) %s nije točka za montiranje (mountpoint)\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Nevaljana opcija %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Opcija imenskog prostora (namespace) zahtijeva argument."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Nevaljano ime imenskog prostora (namespace)"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr ""
+"Smijete koristiti samo datoteke uz opcije točke montiranja (mountpoint)"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Nije navedena specifikacija procesa"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "opcija all (-a) ne može se koristiti uz opciju silent (-s)."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Ne možete istovremeno pretraživati samo IPv4 i samo IPv6 utičnice"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s KORISNIK PID PRISTUP NAREDBA\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(nepoznato)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Nije moguće odrediti status datoteke %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Nije moguće otvoriti /proc/net/unix: %s\n"
+
+# y umjesto d?
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Ubiti proces %d? (d/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Nije moguće ubiti proces %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Nije moguće otvoriti mrežnu utičnicu\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Nije moguće pronaći broj uređaja utičnice\n"
+
+# ista stvar
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Ubiti proces %s(%s%d)? (d/N) "
+
+# što je ovo?
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Procesu %s(%s%d) poslati signal? (d/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Nije moguće dobiti UID iz statusa procesa\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Loši regularni izraz: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: preskače se djelomično podudaranje %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Proces %s(%s%d) ubijen je signalom %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: proces nije pronađen\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Uporaba: killall [OPCIJA]... [--] IME...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e, --exact zahtjeva točno podudaranje za vrlo duga imena\n"
+" -I, --ignore-case zanemari veličinu slova prilikom pretrage procesa\n"
+" -g, --process-group ubije procesnu grupu umjesto procesa\n"
+" -y, --younger-than ubije procese mlađe od VREMENA\n"
+" -o, --older-than ubije procese starije od VREMENA\n"
+" -i, --interactive pita prije ubijanja\n"
+" -l, --list ispiše imena svih poznatih signala\n"
+" -q, --quiet ne ispisuje prigovore\n"
+" -r, --regexp interpretira IME kao prošireni regularni izraz\n"
+" -s, --signal SIGNAL pošalje SIGNAL umjesto SIGTERM\n"
+" -u, --user KORISNIK ubija samo proces(e) od KORISNIKA\n"
+" -v, --verbose javlja ako je signal uspješno poslan\n"
+" -V, --version informacija o ovoj inačici\n"
+" -w, --wait čeka dok proces ne umre\n"
+" -n, --ns PID podudara samo procese koji pripadaju istom imenskom\n"
+" prostoru kao i PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z, --context REGEXP ubije samo proces(e) s odgovarajućim kontekstom\n"
+" (mora prethoditi ostalim argumentima)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Nevaljani format vremena"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Nije moguće pronaći korisnika %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Nevaljani naziv za imenski prostor (namespace)"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Loši regularni izraz: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Najveći broj imena je %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s proces nema zapise -- je li montiran?\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Greška pridruživanja PID-u %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright © 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Uporaba: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean producira čisti 8-bitni izlaz\n"
+" -n, --no-headers ne pokazuje čitanje i pisanje iz fd "
+"zaglavlja\n"
+" -c, --follow također gleda svaki novi dijete-proces\n"
+" -t, --tgid gleda sve dretve za koje je tgid jednak "
+"<pid>\n"
+" -d, --duplicates-removed uklanja sve duplikate na izlazu\n"
+" -V, --version informacije o ovoj inačici\n"
+" -h, --help ova pomoć\n"
+"\n"
+" Pritisnite CTRL-C da zaustavite ispis/izlaz.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Uporaba: prtstat [opcije] PID ...\n"
+" prtstat -V\n"
+"Ispiše informacije o procesu\n"
+" -r, --raw sirovi prikaz informacija\n"
+" -V, --version informacije o ovoj inačici\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "pokrenuto"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "u mirovanju"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disk spava"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombi"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "praćeno"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "straničenje"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "nepoznato"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proces: %-14s\t\tStanje: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tDretve: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID-ovi procesa, grupe i sesije\n"
+" Process ID: %d\t\t ID roditelja: %d\n"
+" Group ID: %d\t\t ID sesije: %d\n"
+" T Group ID: %d\n"
+"\n"
+
+# http://blog.scoutapp.com/articles/2015/04/10/understanding-page-faults-and-memory-swap-in-outs-when-should-you-worry
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Page Faults\n"
+" Ovaj proces (minor major): %8lu %8lu\n"
+" Dijete-proces (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU vremena\n"
+" Ovaj proces (korisnik sustav gost blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Potomci tog procesa (korisnik sustav gost): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memorija\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS granična vrijednost: %s\n"
+" Code Start: %#-10lx\t\t Konac koda: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Pokazivač instrukcije (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Planiranje\n"
+" Pravilnik: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf() u print_stat() nije uspjela\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Proces s PID-om %d ne postoji\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Nije moguće otvoriti statusnu datoteku za PID %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Nije moguće dodijeliti memoriju za proc_info()\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Nije moguće skanirati statusnu datoteku"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Nevaljana opcija"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Morate navesti barem jedan PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc nije montiran, nije moguće odrediti status /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s je prazan -- je li montiran?\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Uporaba: pstree [-acglpsStTuZ] [-h | -H PID] [-n | -N tip]\n"
+" [-A | -G | -U] [PID | KORISNIK]\n"
+" ili: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Prikaže stablo procesa.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments prikaže argumente na naredbenom retku \n"
+" -A, --ascii koristi ASCII znakove za crtanje linija\n"
+" -c, --compact-not ne suzbija identična podstabla\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TIP procesi obojani prema atributu\n"
+" (vijek)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids prikaže id-ove procesnih grupa; implicira -c\n"
+" -G, --vt100 koristi VT100 znakove za crtanje linija\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all istakne trenutni proces i njegove pretke\n"
+" -H PID, --highlight-pid=PID\n"
+" istakne taj proces i njegove pretke\n"
+" -l, --long ne kratiti duge retke\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort izlaz svrsta po PID-u\n"
+" -N TYPE, --ns-sort=TIP izlaz svrsta po tom tipu imenskog prostora\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids prikaže PID-ove; implicira -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents pokaže pretke odabranih procesa\n"
+" -S, --ns-changes pokaže tranzicije imenskih prostora\n"
+" -t, --thread-names pokaže puno ime dretvi\n"
+" -T, --hide-threads skrije dretve, pokaže samo procese\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes pokaže tranzicije UID-ova\n"
+" -U, --unicode koristi UTF-8 (Unicode) znakove za crtanje linija\n"
+" -V, --version informacije o inačici programa\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" prikaže sigurnosne atribute\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID započne s ovim PID-om; zadano je 1 (init)\n"
+" KORISNIK pokaže samo stablo s korijenom u procesima ovog KORISNIKA\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM nije postavljen\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Nije moguće otkriti mogućnosti terminala\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "procfs datoteka za %s imenski prostor (namespace) nije dostupna\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Nema takvog korisnika: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Proces %d nije pronađen.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Nijedan proces nije pronađen.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Pritisnite Return/Enter da zatvorite\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: nepoznati signal; %s -l ispisuje signale\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Uporaba: killall [-Z KONTEKST] [-u KORISNIK] [-y TIME] [-o TIME] [-"
+#~ "eIgiqrvw]\n"
+#~ " [-s -SIGNAL | -SIGNAL] IME...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Uporaba: pstree [-acglpsStTu] [-h | -H PID] [-n | -N vrsta]\n"
+#~ " [-A | -G | -U ] [PID | KORISNIK]\n"
+#~ " ili: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Uporaba: pstree [-acglpsStuZ] [-h | -H PID] [-n | -N vrsta]\n"
+#~ "Uporaba: pstree [-acglpsStu] [-h | -H PID] [-n | -N vrsta]\n"
+#~ " [-A | -G | -U] [PID | KORISNIK]\n"
+#~ " pstree -V\n"
+#~ "Prikaže stablo procesa.\n"
+#~ "\n"
+#~ " -a, --arguments pokaže argumente naredbenog retka\n"
+#~ " -A, --ascii rabi ASCII znakove za crtanje\n"
+#~ " -c, --compact ne sažima identična podstabla\n"
+#~ " -h, --highlight-all istakne trenutačni proces i njegove pretke\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID istakne PID proces i njegove pretke\n"
+#~ " -g, --show-pgids pokaže identitete procesne grupe; implicira -c\n"
+#~ " -G, --vt100 rabi VT100 znakove za crtanje\n"
+#~ " -l, --long ne podrezuje dugačke retke\n"
+#~ " -n, --numeric-sort sortira prikaz po PID-ovima\n"
+#~ " -N vrsta,\n"
+#~ " --ns-sort=vrsta sortira po vrsti imenskog prostora\n"
+#~ " (cgroup, ipc, mnt, net, pid, user, uts)\n"
+#~ " -p, --show-pids pokaže PID-ove; implicira -c\n"
+#~ " -s, --show-parents pokaže pretke (roditelje) odabranog procesa\n"
+#~ " -S, --ns-changes pokaže tranzicije imenskog prostora\n"
+#~ " -t, --thread-names pokaže puno ime dretvi\n"
+#~ " -T, --hide-threads pokaže samo procese a ne i dretve\n"
+#~ " -u, --uid-changes pokaže UID tranzicije\n"
+#~ " -U, --unicode rabi UTF-8 (Unicode) znakove za crtanje\n"
+#~ " -V, --version informacije o ovoj inačici\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2014 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2012 Werner Almesberger i Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger i Craig Small\n"
+#~ "\n"
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644
index 0000000..55d1c95
--- /dev/null
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..1d9565b
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,847 @@
+# Hungarian translation of psmisc
+# Copyright (C) 2006, 2007, 2009, 2012, 2014, 2017 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Emese Kovacs <emese@instantweb.hu>, 2006.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2009, 2012.
+# Balázs Úr <urbalazs@gmail.com>, 2014, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.0-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2017-04-27 22:05+0200\n"
+"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
+"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 1.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Használat: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n NÉVTÉR]\n"
+" [-k [-i] [-SZIGNÁL]] NÉV...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Megjeleníti a megnevezett fájlokat, foglalatokat vagy fájlrendszereket "
+"használó\n"
+"folyamatokat.\n"
+"\n"
+" -a,--all a nem használt fájlok is jelenjenek meg\n"
+" -i,--interactive kérdés kilövés előtt (-k nélkül figyelmen kívül "
+"marad)\n"
+" -I,--inode mindig használjon inode-okat fájlok "
+"összehasonlításához\n"
+" -k,--kill a megnevezett fájlokhoz hozzáférő folyamatok "
+"kilövése\n"
+" -l,--list-signals elérhető szignálnevek felsorolása\n"
+" -m,--mount a megnevezett fájlrendszereket vagy blokkeszközöket\n"
+" használó összes folyamat megjelenítése\n"
+" -M,--ismountpoint kérés teljesítése csak ha a NÉV egy csatolási pont\n"
+" -n,--namespace NÉVTÉR keresés ebben a névtérben (file, udp vagy tcp)\n"
+" -s,--silent néma működés\n"
+" -SZIGNÁL ezen szignál elküldése a SIGKILL helyett\n"
+" -u,--user felhasználói azonosítók megjelenítése\n"
+" -v,--verbose részletes kimenet\n"
+" -w,--writeonly csak írási hozzáféréssel rendelkező folyamatok "
+"kilövése\n"
+" -V,--version verzióinformációk megjelenítése\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 csak IPv4 foglalatok keresése\n"
+" -6,--ipv6 csak IPv6 foglalatok keresése\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - kapcsolók visszaállítása\n"
+"\n"
+" udp/tcp nevek: [helyi_port][,[távoli_gép][,[távoli_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2014 Werner Almesberger és Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"A PSmisc csomagra nem vonatkozik ABSZOLÚT SEMMILYEN GARANCIA\n"
+"Ez egy szabad szoftver, a GNU General Public License feltételei mellett\n"
+"bármikor továbbíthatja, a részletekért lásd a COPYING fájlt.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "A /proc könyvtár nem nyitható meg: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Nem foglalható memória az illeszkedő folyamat részére: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "A megadott %s fájlnév nem létezik.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "%s nem érhető el: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "A(z) %s helyi port nem oldható fel: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Ismeretlen helyi port AF: %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Nem nyitható meg a(z) \"%s\" protokollfájl: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "A megadott %s fájlnév nem csatolási pont.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: érvénytelen kapcsoló: %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "A névtér kapcsoló argumentumot igényel."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Érvénytelen névtérnév"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Fájlok csak csatolási pont kapcsolókkal használhatók"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Nincs megadva folyamatmeghatározás"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "az összes kapcsoló nem használható a néma kapcsolóval."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Nem lehet egyszerre csak IPv4 és csak IPv6 foglalatokat keresni"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s FELHASZNÁLÓ PID HOZZÁFÉRÉS PARANCS\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(ismeretlen)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "A(z) %s fájl nem érhető el: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "A /proc/net/unix könyvtár nem nyitható meg: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Kilövi a(z) %d folyamatot? (i/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "A(z) %d folymat kilövése nem sikerült: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Nem nyitható meg hálózati foglalat\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Nem található a foglalat eszközszáma.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Kilövi ezt: %s(%s%d) ? (i/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Elküldi a(z) %s(%s%d) szignált? (i/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr ""
+"killall: Nem kérhető le a felhasználói azonosító a folyamat állapotából\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Hibás reguláris kifejezés: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: %s(%d) részleges találat átlépése\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) kilőve a(z) %d szignállal\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: nem található folyamat\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Használat: killall [KAPCSOLÓ]... [--] NÉV...\n"
+
+#: src/killall.c:839
+#, fuzzy, c-format
+#| msgid ""
+#| " killall -l, --list\n"
+#| " killall -V, --version\n"
+#| "\n"
+#| " -e,--exact require exact match for very long names\n"
+#| " -I,--ignore-case case insensitive process name match\n"
+#| " -g,--process-group kill process group instead of process\n"
+#| " -y,--younger-than kill processes younger than TIME\n"
+#| " -o,--older-than kill processes older than TIME\n"
+#| " -i,--interactive ask for confirmation before killing\n"
+#| " -l,--list list all known signal names\n"
+#| " -q,--quiet don't print complaints\n"
+#| " -r,--regexp interpret NAME as an extended regular expression\n"
+#| " -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+#| " -u,--user USER kill only process(es) running as USER\n"
+#| " -v,--verbose report if the signal was successfully sent\n"
+#| " -V,--version display version information\n"
+#| " -w,--wait wait for processes to die\n"
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact megköveteli a pontos egyezést nagyon hosszú nevek "
+"esetén;\n"
+" -I,--ignore-case a folyamatnév-illesztés ne legyen kis- és\n"
+" nagybetűérzékeny\n"
+" -g,--process-group folyamatcsoport kilövése folyamat helyett\n"
+" -y,--younger-than az IDŐNÉL fiatalabb folyamatok kilövése\n"
+" -o,--older-than az IDŐNÉL öregebb folyamatok kilövése\n"
+" -i,--interactive megerősítés kérése kilövés előtt\n"
+" -l,--list az összes ismert szignálnév felsorolása\n"
+" -q,--quiet ne kérdezzen\n"
+" -r,--regexp a NÉV értelmezése kiterjesztett reguláris "
+"kifejezésként\n"
+" -s,--signal SZIGNÁL ezen szignál elküldése a SIGTERM helyett\n"
+" -u,--user FELHASZNÁLÓ csak a FELHASZNÁLÓ nevében futó folyamatok "
+"kilövése\n"
+" -v,--verbose értesítés, ha a szignál küldése sikeres\n"
+" -V,--version verzióinformációk megjelenítése\n"
+" -w,--wait várja meg, amíg a folyamatok meghalnak\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP csak a kontextussal rendelkező folyamatok kilövése\n"
+" (meg kell előznie az egyéb argumentumokat)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Érvénytelen időformátum"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "A(z) %s felhasználó nem található\n"
+
+#: src/killall.c:1016
+#, fuzzy
+#| msgid "Invalid namespace name"
+msgid "Invalid namespace PID"
+msgstr "Érvénytelen névtérnév"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Hibás reguláris kifejezés: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: A nevek maximális száma %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s nem tartalmaz folyamatbejegyzéseket (nincs csatolva?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Hiba a csatlakozás közben a(z) %i folyamatazonosítóhoz\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+#| " -8 output 8 bit clean streams.\n"
+#| " -n don't display read/write from fd headers.\n"
+#| " -c peek at any new child processes too.\n"
+#| " -d remove duplicate read/writes from the output.\n"
+#| " -V prints version info.\n"
+#| " -h prints this help.\n"
+#| "\n"
+#| " Press CTRL-C to end output.\n"
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Használat: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8 8 bites tiszta adatfolyamok kiírása.\n"
+" -n ne jelenítse meg az írás/olvasást az fd fejlécekből.\n"
+" -c új gyermekfolyamatok megjelenítése.\n"
+" -d többszörös olvasások/írások eltávolítása a kimenetből.\n"
+" -V verzióinformációk kiírása.\n"
+" -h ezen súgó kiírása.\n"
+"\n"
+" A CTRL-C segítségével megszakítható a kimenet.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Használat: prtstat [kapcsolók] PID ...\n"
+" prtstat -V\n"
+"Információk kiírása egy folyamatról\n"
+" -r,--raw Az információk nyers megjelenítése\n"
+" -V,--version Verzióinformációk kiírása és kilépés\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "fut"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "alszik"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "lemez alszik"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombi"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "követett"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "lapoz"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "ismeretlen"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Folyamat: %-14s\t\tÁllapot: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tSzálak: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Folyamat, csoport és munkamenet-azonosítók\n"
+" Folyamat az.: %d\t\t Szülő az.: %d\n"
+" Csoport az.: %d\t\t M.menet az.: %d\n"
+" T Csoport az.: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Laphibák\n"
+" Ez a folyamat (minor major): %8lu %8lu\n"
+" Gyermekfolyamatok (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU idők\n"
+" Ez a folyamat (felh. rendszer vendég blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Gyermekfolyamatok (felh. rendszer vendég ): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memória\n"
+" Vméret: %-10s\n"
+" RSS: %-10s \t\t RSS korlát: %s\n"
+" Kód kezdete: %#-10lx\t\t Kód vége: %#-10lx\n"
+" Verem kezdete: %#-10lx\n"
+" Veremmutató (ESP): %#10lx\t Utasításmutató (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Ütemezés\n"
+" Irányelv: %s\n"
+" Nice: %ld \t\t RT prioritás: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "az asprintf a print_stat hívásban sikertelen.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Nem létezik %d PID-ű folyamat.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Nem érhető el a fájl a(z) %d (%s) PID-hez\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Nem foglalható memória a proc_info részére\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Nem olvasható be a stat fájl"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Érvénytelen kapcsoló"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Legalább egy PID-et meg kell adnia."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "a /proc nincs csatolva, nem érhető el a /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "a(z) %s üres (nincs csatlakoztatva?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, fuzzy, c-format
+#| msgid ""
+#| " -Z, --security-context\n"
+#| " show SELinux security contexts\n"
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" SELinux biztonsági kontextusok megjelenítése\n"
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+#| msgid ""
+#| " PID start at this PID; default is 1 (init)\n"
+#| " USER show only trees rooted at processes of this user\n"
+#| "\n"
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+" PID kezdés ezzel a PID-del; az alapértelmezés az 1 (init)\n"
+" FELHASZNÁLÓ csak az adott felhasználó folyamataiból kiinduló fák\n"
+" megjelenítése\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "A TERM nincs beállítva\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "A terminál képességei nem kérhetők le\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "procfs fájl nem érhető el a(z) %s névtérhez\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Nincs ilyen felhasználónév: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Nem találhatók folyamatok.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Nem találhatók folyamatok.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "A bezáráshoz nyomj entert\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: ismeretlen szignál; a %s -l felsorolja a szignálokat.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2010 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2010 Werner Almesberger és Craig Small\n"
+#~ "\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Használat: killall [-Z KONTEXTUS] [-u FELHASZNÁLÓ] [ -y IDŐ ] [ -o IDŐ ] "
+#~ "[ -eIgiqrvw ]\n"
+#~ " [ -s SZIGNÁL | -SZIGNÁL ] NÉV...\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (ipc, mnt, net, pid, user, "
+#~ "uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Használat: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N típus ]\n"
+#~ "Használat: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N típus ]\n"
+#~ " [ -A | -G | -U ] [ PID | FELHASZNÁLÓ ]\n"
+#~ " pstree -V\n"
+#~ "Megjeleníti a folyamatok fáját.\n"
+#~ "\n"
+#~ " -a, --arguments parancssori argumentumok megjelenítése\n"
+#~ " -A, --ascii ASCII sorrajzoló karakterek használata\n"
+#~ " -c, --compact azonos részfákat ne tömörítse\n"
+#~ " -h, --highlight-all az aktuális folyamat és őseinek kiemelése\n"
+#~ " -H PID, \n"
+#~ " --highlight-pid=PID az adott folyamat és őseinek kiemelése\n"
+#~ " -g, --show-pgids folyamatcsoport-azonosítók megjelenítése,\n"
+#~ " magába foglalja a -c kapcsolót\n"
+#~ " -G, --vt100 VT100 sorrajzoló karakterek használata\n"
+#~ " -l, --long ne csonkítsa a hosszú sorokat\n"
+#~ " -n, --numeric-sort kimenet rendezése PID szerint\n"
+#~ " -N típus,\n"
+#~ " --ns-sort=típus névtértípus szerinti rendezés (ipc, mnt, net, pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids a PID-ek megjelenítése; magába foglalja a -c "
+#~ "kapcsolót\n"
+#~ " -s, --show-parents a kiválasztott folyamat szülőinek megjelenítése\n"
+#~ " -S, --ns-changes névtér átmenetek megjelenítése\n"
+#~ " -t, --thread-names teljes szálnevek megjelenítése\n"
+#~ " -T, --hide-threads szálak elrejtése, csak folyamatok megjelenítése\n"
+#~ " -u, --uid-changes az uid átmenetek megjelenítése\n"
+#~ " -U, --unicode UTF-8 (Unicode) sorrajzoló karakterek használata\n"
+#~ " -V, --version verzióinformációk megjelenítése\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger és Craig Small\n"
+#~ "\n"
diff --git a/po/id.gmo b/po/id.gmo
new file mode 100644
index 0000000..1bd76b7
--- /dev/null
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
new file mode 100644
index 0000000..b6a2163
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,754 @@
+# Pesan bahasa indonesia untuk psmisc.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010.
+# Andika Triwidada <andika@gmail.com>, 2021, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2022-12-08 21:51+0700\n"
+"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
+"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Penggunaan: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n RUANG]\n"
+" [-k [-i] [-SIGNAL]] NAMA...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Tampilkan proses yang menggunakan nama berkas, socket, atau sistem berkas.\n"
+"\n"
+" -a,--all tampilkan berkas yang tidak digunakan juga\n"
+" -i,--interactive tanya sebelum menghentikan (abaikan tanpa -k)\n"
+" -I,--inode selalu gunakan inode untuk membandingkan berkas\n"
+" -k,--kill hentikan proses yang mengakses berkas bernama\n"
+" -l,--list-signals daftar nama sinyal yang tersedia\n"
+" -m,--mount tampilkan seluruh proses menggunakan sistem berkas "
+"bernama\n"
+" atau peranti blok\n"
+" -M,--ismountpoint penuhi permintaan hanya jika NAMA adalah sebuah "
+"titik kait\n"
+" -n,--namespace RUANG cari di ruang nama ini (berkas, udp, atau tcp)\n"
+" -s,--silent beroperasi secara sunyi\n"
+" -SIGNAL kirim sinyal ini daripada SIGKILL\n"
+" -u,--user tampilkan ID pengguna\n"
+" -v,--verbose keluaran ramai\n"
+" -w,--writeonly hanya matikan proses dengan akses tulis\n"
+" -V,--version tampilkan informasi versi\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 cari di socket IPv4 saja\n"
+" -6,--ipv6 cari di socket IPv6 saja\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" nama udp/tcp: [port_lokal][,[host_jauh][,[port_jauh]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Hak Cipta (C) 1993-2022 Werner Almesberger dan Craid Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc datang dengan SECARA ABSOLUT TIDAK ADA GARANSI.\n"
+"Ini adalah aplikasi bebas, Anda diperbolehkan untuk meredistribusikannya\n"
+"di bawah ketentuan dari GNU General Public License.\n"
+"Untuk informasi mengenai masalah ini, lihat berkas bernama COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Tidak dapat membuka direktori /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Tidak dapat mengalokasikan memori untuk proc yang sesuai: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Nama berkas %s yang dispesifikasikan tidak ada.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Tidak dapat men-stat %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Tidak dapat mengurai port lokal %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Port lokal AF %d tidak diketahui\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Tidak dapat membuka berkas protokol \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Nama berkas %s yang dispesifikasikan bukan titik kait.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Opsi tidak valid %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Opsi nama ruang membutuhkan sebuah argumen."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Nama ruang tidak valid"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Anda hanya dapat menggunakan berkas dengan opsi titik kait"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Tidak ada spesifikasi proses yang diberikan"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "semua opsi tidak dapat digunakan dengan opsi silent."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Anda tidak dapat mencari soket hanya untuk IPv4 dan hanya untuk IPv6 di "
+"waktu yang sama"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s PENGGUNA PID AKSES PERINTAH\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(tak diketahui)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Tidak dapat men-stat berkas %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Tidak dapat membuka /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Bunuh proses %d ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Tidak dapat menghentikan proses %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Tidak dapat membuka sebuah socket jaringan.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Tidak dapat menemukan nomor perangkat socket.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Bunuh %s(%s%d) ? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Sinyal %s(%s%d) ? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Tidak dapat memperoleh UID dari status proses\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Ekspresi reguler buruk: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: melewatkan pencocokan sebagian %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Terhenti %s(%s%d) dengan sinyal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: tidak ada proses yang ditemukan\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Penggunaan: killall [OPSI]... [--] NAMA...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact membutuhkan pencocokan tepat untuk setiap nama "
+"panjang\n"
+" -I,--ignore-case pencocokan nama proses tidak memperhatikan besar "
+"huruf\n"
+" -g,--process-group hentikan proses grup daripada proses\n"
+" -y,--younger-than hentikan proses lebih muda dari WAKTU\n"
+" -o,--older-than hentikan proses lebih tua dari WAKTU\n"
+" -i,--interactive tanya untuk konfirmasi sebelum menghentikan\n"
+" -l,--list daftar seluruh nama sinyal yang diketahui\n"
+" -q,--quiet jangan tampilkan komplain\n"
+" -r,--regexp interpretasikan NAMA sebagai sebuah ekstensi ekpresi "
+"regular\n"
+" -s,--signal SINYAL kirim sinyal ini daripada SIGTERM\n"
+" -u,--user PENGGUNA hentikan hanya proses yang berjalan sebagai PENGGUNA\n"
+" -v,--verbose laporkan jika sinyal telah secara sukses dikirimkan\n"
+" -V,--version tampilkan informasi versi\n"
+" -w,--wait tunggu untuk proses untuk mati\n"
+" -n,--ns PID cocokkan dengan proses milik ruang nama yang sama\n"
+" dengan PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP hanya hentikan proses yang memiliki konteks\n"
+" (harus mendahului argumen lain)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Format waktu tidak valid"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Tidak dapat menemukan pengguna %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "PID nama ruang tidak valid"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Ekspresi reguler buruk: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Cacah maksimal dari nama adalah %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s tidak ada entri proses (belum di-mount ?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Galat saat mencantol ke pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Hak Cipta (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Penggunaan: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean keluarkan 8 bit stream bersih.\n"
+" -n, --no-headers jangan tampilkan baca/tulis dari header "
+"fd.\n"
+" -c, --follow lihat di proses anak baru apa pun juga.\n"
+" -t, --tgid peek di semua thread dengan tgid sama "
+"dengan <pid>.\n"
+" -d, --duplicates-removed hapus duplikasi baca/tulis dari keluaran.\n"
+" -V, --version tampilkan informasi versi.\n"
+" -h, --help tampilkan bantuan ini.\n"
+"\n"
+" Tekan CTRL-C untuk mengakhiri keluaran.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Penggunaan: prstat [opsi] PID ...\n"
+" prstat -V\n"
+"Tampilkan informasi mengenai sebuah proses\n"
+" -r,--raw Tampilkan informasi mentah\n"
+" -V,--version Tampilkan informasi versi dan keluar\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Hak Cipta (C) 2009-2022 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "berjalan"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "tertidur"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disk tidur"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "terlacak"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paging"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "tidak diketahui"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proses : %-14s\t\tKeadaan: %c (%s)\n"
+" CPU# : %-3d\t\tTTY: %s\tThread: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID Proses, Grup, dan Sesi\n"
+" ID Proses: %d\t\t ID Induk: %d\n"
+" ID Grup: %d\t\t ID Sesi: %d\n"
+" ID Grup T: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Kesalahan Page\n"
+" Proses Ini (minor major): %8lu %8lu\n"
+" Proses Anak (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Waktu CPU\n"
+" Proses Ini (pengguna sistem tamu blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Proses Anak (pengguna sistem tamu): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memori\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t Batas RSS: %s\n"
+" Awal Kode: %#-10lx\t\t Akhir Kode: %#-10lx\n"
+" Awal Stack: %#-10lx\n"
+" Penunjuk Stack (ESP): %#10lx\t Penunjuk Inst. (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Penjadwalan\n"
+" Kebijakan: %s\n"
+" Nice: %ld \t\t Prioritas RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf dalam print_stat gagal.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Proses dengan pid %d tidak ada.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Tidak dapat membuka stat berkas untuk pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Tidak dapat mengalokasikan memori untuk proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Tidak dapat memindai stat berkas"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Opsi tidak valid"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Anda harus menyediakan paling tidak satu PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc belum dikait, tidak bisa men-stat /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s kosong (belum di-mount ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Cara pakai: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" atau: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Menampilkan pohon proses.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments menampilkan argumen baris perintah\n"
+" -A, --ascii gunakan karakter menggambar garis ASCII\n"
+" -c, --compact-not jangan satukan sub pohon identik\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TIPE warnai proses berdasarkan\n"
+" atribut (umur)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids tampilkan id grup proses; menyiratkan -c\n"
+" -G, --vt100 gunakan karakter menggambar garis VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all sorot proses saat ini dan moyangnya\n"
+" -H PID, --highlight-pid=PID\n"
+" sorot proses ini dan moyangnya\n"
+" -l, --long jangan potong baris panjang\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort urut keluaran berdasarkan PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" urut keluaran berdasarkan tipe ruang nama ini\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids tampilkan PID; menyiratkan -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents tampilkan induk dari proses yang dipilih\n"
+" -S, --ns-changes tampilkan transisi ruang nama\n"
+" -t, --thread-names tampilkan nama-nama thread lengkap\n"
+" -T, --hide-threads sembunyikan thread, hanya tampilkan proses\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes tampilkan transisi uid\n"
+" -U, --unicode gunakan karakter menggambar garis UTF-8 (Unicode)\n"
+" -V, --version tampilkan informasi versi\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" tampilkan atribut keamanan\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID mulai dari PID ini; baku adalah 1 (init)\n"
+" PENGGUNA tampilkan hanya proses yang berakar dari pengguna ini\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM tidak diset\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Tidka dapat memperoleh kapabilitas terminal\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "berkas procfs bagi ruang nama %s tidak tersedia\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Tidak ada nama pengguna seperti itu: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Proses %d tidak ditemukan.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Tidak ada proses yang ditemukan.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Tekan Enter untuk menutup\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: sinyal tidak diketahui; %s -l daftar sinyal.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Hak Cipta (C) 1993-2021 Werner Almesberger dan Craig Small\n"
+#~ "\n"
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644
index 0000000..ceeebb9
--- /dev/null
+++ b/po/insert-header.sin
@@ -0,0 +1,28 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Written by Bruno Haible <bruno@clisp.org>, 2001.
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to use, copy, distribute, and modify it.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/it.gmo b/po/it.gmo
new file mode 100644
index 0000000..a1fc580
--- /dev/null
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..526920b
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,810 @@
+# Italian messages for psmisc.
+# Copyright (C) 2001, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Daniele Pagano <esaurito@users.sourceforge.net>, 2001.
+# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2006, 2007, 2009, 2010, 2013, 2015.
+# Francesco Groccia <fg@snopyta.org>, 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.3\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2020-03-09 15:55+0100\n"
+"Last-Translator: Francesco Groccia <fg@snopyta.org>\n"
+"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Uso: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n CONTESTO]\n"
+" [-k [-i] [-SIGNALE]] NOME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Mostra quali processi stanno usando un certo file, socket o filesystem.\n"
+"\n"
+" -a,--all mostra anche i file inutilizzati\n"
+" -i,--interactive conferma prima di terminare (ignorato senza -k)\n"
+" -I,--inode usa sempre gli inode per confrontare i file\n"
+" -k,--kill termina i processi che accedono al file specificato\n"
+" -l,--list-signals elenca i nomi dei segnali disponibili\n"
+" -m,--mount mostra tutti i processi che usano i filesystem o i\n"
+" dispositivi a blocchi specificati\n"
+" -M,--ismountpoint soddisfa la richiesta solo se NOME è un mount point\n"
+" -n,--namespace SPACE cerca nel CONTESTO specificato (file, udp, o tcp)\n"
+" -s,--silent opera silenziosamente\n"
+" -SIGNAL invia il segnale indicato invece di SIGKILL\n"
+" -u,--user mostra gli ID utente\n"
+" -v,--verbose output prolisso\n"
+" -w,--writeonly termina solo i processi con accesso alla scrittura\n"
+" -V,--version mostra le informazioni sulla versione\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 cerca solo socket IPv4\n"
+" -6,--ipv6 cerca solo socket IPv6\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - reimposta le opzioni\n"
+"\n"
+" nomi udp/tcp: [porta locale][,[host remoto][,[porta remota]]]\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2017 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2017 Werner Almesberger e Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc è distribuito senza ALCUNA GARANZIA.\n"
+"Questo è software libero, ed è possibile redistribuirlo secondo i termini\n"
+"della GNU General Public License.\n"
+"Si consulti il file COPYING per ulteriori informazioni.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Impossibile aprire la directory /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Impossibile allocare memoria per il processo corrispondente: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Il file indicato %s non esiste.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Impossibile fare stat di %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Impossibile risolvere la porta locale %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Porta locale AF %d sconosciuta\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Impossibile aprire il file di protocollo \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Il file indicato %s non è un mount point.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Opzione %s non valida\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "L'opzione di contesto richiede un argomento."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Nome di contesto non valido"
+
+# NdT: dato che non so come tradurre "mounpoint option", uso -m
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Con l'opzione -m si possono specificare solo file"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Nessun tipo di processo specificato"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "L'opzione -a non può essere usata con l'opzione -s."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Impossibile cercare solo socket IPv4 e solo socket IPv6 allo stesso tempo"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s UTENTE PID ACCESSO COMANDO\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(sconosciuto)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Impossibile fare stat del file %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Impossibile aprire /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Terminare il processo %d? (s/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Impossibile terminare il processo %d: %s\n"
+
+# FIXME
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Impossibile aprire un socket di rete.\n"
+
+# FIXME
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Impossibile trovare il numero di dispositivo del socket.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Terminare %s(%s%d)? (s/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Segnale %s(%s%d)? (s/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Impossibile ottenere l'UID dallo stato del processo\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Espressione regolare non valida: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: ignorata corrispondenza parziale %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Terminato %s(%s%d) con segnale %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: nessun processo trovato\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Uso: killall [OPZIONE]... [--] NOME...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact richiede una corrispondenza esatta per i nomi molto "
+"lunghi\n"
+" -I,--ignore-case ignora maiuscole/minuscole nei nomi\n"
+" -g,--process-group termina il gruppo di processi invece del processo\n"
+" -y,--younger-than termina i processi più recenti di ORARIO\n"
+" -o,--older-than termina i processi più vecchi di ORARIO\n"
+" -i,--interactive chiede conferma prima di terminare\n"
+" -l,--list elenca i nomi di segnale conosciuti\n"
+" -q,--quiet non visualizzare commenti\n"
+" -r,--regexp interpreta NOME come un'espressione regolare estesa\n"
+" -s,--signal SEGNALE invia il segnale indicato invece di SIGTERM\n"
+" -u,--user UTENTE termina solo i processi eseguiti dall'UTENTE\n"
+" -v,--verbose riporta se il segnale è stato inviato con successo\n"
+" -V,--version mostra le informazioni sulla versione\n"
+" -w,--wait aspetta la terminazione del processo\n"
+" -n,--ns PID agisce su processi che appartengono allo stesso spazio "
+"dei nomi\n"
+" di PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP termina solo i processi aventi context\n"
+" (deve precedere altri argomenti)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Formato orario non valido"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Impossibile trovare l'utente %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "PID del nome di contesto non valido"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Espressione regolare non valida: %s\n"
+
+# killall: %s è vuoto (non montato?)
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Il massimo numero di nomi è %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s non ha una voce di processo (non montato?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Errore nel collegarsi al pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+#| " -8, --eight-bit-clean emetti output pulito a 8 bit.\n"
+#| " -n, --no-headers don't display read/write from fd "
+#| "headers.\n"
+#| " -c, --follow peek at any new child processes too.\n"
+#| " -t, --tgid peek at all threads where tgid equals "
+#| "<pid>.\n"
+#| " -d, --duplicates-removed remove duplicate read/writes from the "
+#| "output.\n"
+#| " -V, --version prints version info.\n"
+#| " -h, --help prints this help.\n"
+#| "\n"
+#| " Press CTRL-C to end output.\n"
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers non mostrare letture/scritture dalle "
+"intestazioni del fd.\n"
+" -c, --follow esamina anche ogni nuovo processo figlio.\n"
+" -t, --tgid esamina tutti i thread dove il tgid è "
+"uguale a <pid>.\n"
+" -d, --duplicates-removed rimuove dall'output le letture/scritture "
+"duplicate.\n"
+" -V, --version stampa le informazioni sulla versione.\n"
+" -h, --help stampa questo aiuto.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Uso: prtstat [opzioni] PID ...\n"
+" prtstat -V\n"
+"Stampa informazioni su un processo\n"
+" -r,--raw Mostra informazioni grezze\n"
+" -V,--version Mostra le informazioni sulla versione ed esce\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2017 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2017 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "in esecuzione"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "in attesa"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "in attesa del disco"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "tracciato"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paging"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "sconosciuto"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Processo: %-14s\t\tStato: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+
+# FIXME
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID di processo, gruppo e sessione\n"
+" ID Processo: %d\t\t ID Parent: %d\n"
+" ID Gruppo: %d\t\tID Sessione: %d\n"
+" ID Gruppo T: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Errori di pagina (page faults)\n"
+" Questo processo (minore maggiore): %8lu %8lu\n"
+" Processi figli (minore maggiore): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Utilizzo temporale CPU\n"
+" Questo processo (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Processi figli (user system guest): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memoria\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf in print_stat non riuscito.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Il processo con pid %d non esiste.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Impossibile aprire il file di stat per il pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Impossibile allocare memoria per proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Impossibile analizzare il file di stat"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Opzione non valida"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Occorre indicare almeno un PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc non è montato, impossibile fare stat di /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s è vuoto (non montato?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Uso: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N tipo ]\n"
+" [ -A | -G | -U ] [ PID | UTENTE ]\n"
+" oppure: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Mostra l'albero dei processi.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments mostra gli argomenti della riga di comando\n"
+" -A, --ascii usa i caratteri grafici ASCII\n"
+" -c, --compact-not non comprimere i sotto alberi identici\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TIPO processo del colore dall'attributo\n"
+" (età)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids mostra gli identificativi del gruppo di processo; "
+"implica -c\n"
+" -G, --vt100 usa i caratteri grafici di VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all evidenzia il processo corrente e i suoi antenati\n"
+" -H PID, --highlight-pid=PID\n"
+" evidenzia questo processo e i suoi antenati\n"
+" -l, --long non troncare le linee lunghe\n"
+
+#: src/pstree.c:1309
+#, fuzzy, c-format
+#| msgid ""
+#| " -n, --numeric-sort sort output by PID\n"
+#| " -N TYPE, --ns-sort=TYPE\n"
+#| " sort output by this namespace type\n"
+#| " (cgroup, ipc, mnt, net, pid, user, uts)\n"
+#| " -p, --show-pids show PIDs; implies -c\n"
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort ordina l'output in base al PID\n"
+" -N TIPO, --ns-sort=TIPO\n"
+" ordina l'output in base al tipo di contesto\n"
+" (cgroup, ipc, mnt, net, pid, user, uts)\n"
+" -p, --show-pids mostra i PID; implica -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents mostra i genitori del processo selezionato\n"
+" -S, --ns-changes mostra le transizioni del contesto\n"
+" -t, --thread-names mostra i nomi completi del thread\n"
+" -T, --hide-threads nascondi i thread, mostra solo i processi\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes mostra l'uid delle transitions\n"
+" -U, --unicode usa i caratteri grafici di UTF-8 (Unicode)\n"
+" -V, --version visualizza le informazioni sulla versione\n"
+
+#: src/pstree.c:1324
+#, fuzzy, c-format
+#| msgid ""
+#| " -Z, --security-context\n"
+#| " show SELinux security contexts\n"
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" mostra i contesti di sicurezza SELinux\n"
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| " PID start at this PID; default is 1 (init)\n"
+#| " USER show only trees rooted at processes of this user\n"
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID comincia dal pid indicato, predefinito 1 (init)\n"
+" UTENTE mostra solo gli alberi con radice nei processi di questo "
+"utente\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM non è impostato\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Impossibile determinare le capacità del terminale\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "file procfs per il contesto %s non disponibile\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Questo nome utente non esiste: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Nessun processo trovato.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Nessun processo trovato.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Premere Invio per chiudere\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: segnale sconosciuto; usare %s -l per elencare i segnali.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Usage: killall [ -Z CONTESTO ] [ -u UTENTE ] [ -y ORARIO ] [ -o ORARIO] "
+#~ "[ -eIgiqrvw ]\n"
+#~ " [ -s SEGNALE | -SEGNALE ] NAME...\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ " [ -A | -G | -U ] [ PID | UTENTE ]\n"
+#~ " oppure: pstree -V\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger e Craig Small\n"
+#~ "\n"
diff --git a/po/ja.gmo b/po/ja.gmo
new file mode 100644
index 0000000..7ecf8d9
--- /dev/null
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..66d4ad8
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,821 @@
+# Japanese messages for psmisc.
+# Copyright (C) 2006 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# Goto, Masanori <gotom@debian.or.jp>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 22.2pre1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2006-03-20 10:31+0900\n"
+"Last-Translator: GOTO Masanori <gotom@debian.or.jp>\n"
+"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/fuser.c:146
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] "
+#| "NAME...\n"
+#| " [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n"
+#| " fuser -l\n"
+#| " fuser -V\n"
+#| "Show which processes use the named files, sockets, or filesystems.\n"
+#| "\n"
+#| " -a display unused files too\n"
+#| " -c mounted FS\n"
+#| " -f silently ignored (for POSIX compatibility)\n"
+#| " -i ask before killing (ignored without -k)\n"
+#| " -k kill processes accessing the named file\n"
+#| " -l list available signal names\n"
+#| " -m show all processes using the named filesystems\n"
+#| " -n SPACE search in this name space (file, udp, or tcp)\n"
+#| " -s silent operation\n"
+#| " -SIGNAL send this signal instead of SIGKILL\n"
+#| " -u display user IDs\n"
+#| " -v verbose output\n"
+#| " -V display version information\n"
+#| " -4 search IPv4 sockets only\n"
+#| " -6 search IPv6 sockets only\n"
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"ˡ: fuser [ -a | -s | -c ] [ -n SPACE ] [ -ʥ ] [ -kimuv ] ̾"
+"...\n"
+" [ - ] [ -n SPACE ] [ -ʥ ] [ -kimuv ] ̾...\n"
+" fuser -l\n"
+" fuser -V\n"
+"ե̾åȡե륷ƥɤΥץѤƤ뤫ɽ\n"
+"\n"
+" -a ץ黲ȤƤʤեɽоݤȤ\n"
+" -c -mץƱ (POSIXߴΤ¸)\n"
+" -f ĤƤ̵뤵 (POSIXߴΤ¸)\n"
+" -i kill˳ǧ (-kץĤʤȤ̵뤵"
+")\n"
+" -k ꤷե˥Ƥץkill\n"
+" -l Ѳǽʥʥ̾򤹤٤ɽ\n"
+" -m եΥե륷ƥѤץɽ"
+"\n"
+" -n SPACE ֤̾ȤSPACE(file, udp, ޤ tcp Τɤ줫)ꤹ"
+" \n"
+" -s ɽ\n"
+" -ʥ SIGKILL˻ꤷʥ\n"
+" -u 桼IDɽ\n"
+" -v ĹɽԤ\n"
+" -V Сɽ\n"
+" -4 IPv4åȤΤ߸\n"
+" -6 IPv6åȤΤ߸\n"
+" - ꥻåȥץ\n"
+"\n"
+" udp/tcp ̾: [ݡ][,[⡼ȥۥ][,[⡼ȥݡ]]]\n"
+"\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmiscϴ̵ݾڤǤ\n"
+"ϥե꡼եȥǤGNU̸ѵξ˴Ť\n"
+"ۤͳ˹ԤäƤޤޤ\n"
+"ˤĤƤܺ٤ʾCOPYINGե\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "/proc ǥ쥯ȥ򳫤ޤ: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "פץФ꤬Ǥޤ: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr ""
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "%s statǤޤ: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "ݡ %s Ǥޤ: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "̤ΤΥݡ AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "ץȥե \"%s\" ޤ: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr ""
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr ""
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "֥̾ץϰɬפǤ"
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "̾̾"
+
+#: src/fuser.c:1309
+#, fuzzy
+#| msgid "You can only use files with mountpoint option"
+msgid "You can only use files with mountpoint options"
+msgstr ""
+"ޥȥݥȥץ(-mޤ-c)Ȱ˻ȤΤfile֤̾ΤߤǤ"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "ͿƤޤ"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "-aץ-sץȰˤϻѤǤޤ"
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "-4ץ-6ץƱ˻Ǥޤ"
+
+#: src/fuser.c:1474
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "%*s USER PID ACCESS COMMAND\n"
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr ""
+"\n"
+"%*s 桼 PID ޥ\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "()"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "եstatǤޤ %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "/proc/net/unix ޤ: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "ץ %d killޤ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "ץ %d kill Ǥޤ: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "ͥåȥåȤޤ.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "åȤΥǥХֹ椬Ĥޤ.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "%s(%s%d) killޤ? (y/N)"
+
+#: src/killall.c:114
+#, fuzzy, c-format
+#| msgid "Kill %s(%s%d) ? (y/N) "
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "%s(%s%d) killޤ? (y/N)"
+
+#: src/killall.c:262
+#, fuzzy, c-format
+#| msgid "Cannot get UID from process status\n"
+msgid "killall: Cannot get UID from process status\n"
+msgstr "ץθ߾֤UIDǤޤǤ\n"
+
+#: src/killall.c:368
+#, fuzzy, c-format
+#| msgid "Bad regular expression: %s\n"
+msgid "killall: Bad regular expression: %s\n"
+msgstr "ɽ: %s\n"
+
+#: src/killall.c:525
+#, fuzzy, c-format
+#| msgid "skipping partial match %s(%d)\n"
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "ʬפ򥹥å %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) 򥷥ʥ %d killޤ\n"
+
+#: src/killall.c:796
+#, fuzzy, c-format
+#| msgid "%s: no process killed\n"
+msgid "%s: no process found\n"
+msgstr "%s: ɤΥץkillޤǤ\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "ˡ: killall [ץ]... [--] ̾...\n"
+
+#: src/killall.c:839
+#, fuzzy, c-format
+#| msgid ""
+#| " killall -l, --list\n"
+#| " killall -V, --version\n"
+#| "\n"
+#| " -e,--exact require exact match for very long names\n"
+#| " -I,--ignore-case case insensitive process name match\n"
+#| " -g,--process-group kill process group instead of process\n"
+#| " -i,--interactive ask for confirmation before killing\n"
+#| " -l,--list list all known signal names\n"
+#| " -q,--quiet don't print complaints\n"
+#| " -r,--regexp interpret NAME as an extended regular expression\n"
+#| " -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+#| " -u,--user USER kill only process(es) running as USER\n"
+#| " -v,--verbose report if the signal was successfully sent\n"
+#| " -V,--version display version information\n"
+#| " -w,--wait wait for processes to die\n"
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact ȤƤĹ̾Фƴפ׵᤹\n"
+" -I,--ignore-case ץ̾ΰפʸξʸ̤ʤԤ\n"
+" -g,--process-group ץ˥ץ롼פ˥ʥ\n"
+" -i,--interactive kill ˳ǧ\n"
+" -l,--list ΤΥʥ̾򤹤٤ɽ\n"
+" -q,--quiet kill ץʤɽԤʤ\n"
+" -r,--regexp ꤷ̾ĥɽȤƲ᤹\n"
+" -s,--signal ʥ SIGTERM˻ꤷʥ\n"
+" -u,--user 桼 ꤷ桼ԤץΤkill\n"
+" -v,--verbose ʥ𤹤\n"
+" -V,--version Сɽ\n"
+" -w,--wait killץλޤԤ\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context ɽ ƥȤĥץΤkill\n"
+" (¾ΰ˻ꤵƤʤФʤʤ)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr ""
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "桼 %s ȯǤޤ\n"
+
+#: src/killall.c:1016
+#, fuzzy
+#| msgid "Invalid namespace name"
+msgid "Invalid namespace PID"
+msgstr "̾̾"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "ɽ: %s\n"
+
+#: src/killall.c:1057
+#, fuzzy, c-format
+#| msgid "Maximum number of names is %d\n"
+msgid "killall: Maximum number of names is %d\n"
+msgstr "̾κǽ %d\n"
+
+#: src/killall.c:1062
+#, fuzzy, c-format
+#| msgid "%s is empty (not mounted ?)\n"
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "%s ϶ǥ쥯ȥ (ޥȤƤʤ?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr ""
+
+#: src/peekfd.c:191
+#, fuzzy, c-format
+#| msgid "pstree (PSmisc) %s\n"
+msgid "peekfd (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+
+#: src/prtstat.c:65
+#, fuzzy, c-format
+#| msgid "pstree (PSmisc) %s\n"
+msgid "prtstat (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr ""
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr ""
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr ""
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr ""
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr ""
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr ""
+
+#: src/prtstat.c:90
+#, fuzzy
+#| msgid "(unknown)"
+msgid "unknown"
+msgstr "()"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr ""
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr ""
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr ""
+
+#: src/prtstat.c:243
+#, fuzzy, c-format
+#| msgid "Cannot allocate memory for matched proc: %s\n"
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "פץФ꤬Ǥޤ: %s\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr ""
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr ""
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr ""
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s ϶ǥ쥯ȥ (ޥȤƤʤ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+#| msgid ""
+#| " PID start at this PID; default is 1 (init)\n"
+#| " USER show only trees rooted at processes of this user\n"
+#| "\n"
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+" PID ꤷPIDɽϤޤ; ǥեȤ 1 (init)\n"
+" 桼̾ ꤷ桼Ȥưץĥ꡼Τɽ\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERMꤵƤޤ\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "üεǽǤޤǤ\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr ""
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "桼̾¸ߤޤ: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "ץϸĤޤǤ\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "ץϸĤޤǤ\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "꥿󥭡򲡤Ĥޤ\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: ̤ΤΥʥ; %s -l ˤäƥʥɽޤ\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ˡ: pidof [ -eg ] ץ̾...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e ȤƤĹץ̾Фƴפ׵᤹\n"
+#~ " ޥɥ饤ѤǤʤϳץϥåפ"
+#~ "\n"
+#~ " -g ץID˥ץ롼IDɽ\n"
+#~ " -V Сɽ\n"
+#~ "\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "ˡ: killall [-Z CONTEXT] [-u 桼] [ -eIgiqrvw ] [ -ʥ ] ̾"
+#~ "...\n"
+
+#, c-format
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr "ޥȥݥ %s statǤޤ: %s\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr "-mץ-cץƱˤϻȤޤ"
+
+#, c-format
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "/etc/mtab ޤ: %s\n"
+
+#, c-format
+#~ msgid "Internal error: MAX_DEPTH not big enough.\n"
+#~ msgstr "顼: MAX_DEPTH ʬ礭ޤ.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a show command line arguments\n"
+#~ " -A use ASCII line drawing characters\n"
+#~ " -c don't compact identical subtrees\n"
+#~ " -h highlight current process and its ancestors\n"
+#~ " -H PID highlight this process and its ancestors\n"
+#~ " -G use VT100 line drawing characters\n"
+#~ " -l don't truncate long lines\n"
+#~ " -n sort output by PID\n"
+#~ " -p show PIDs; implies -c\n"
+#~ " -u show uid transitions\n"
+#~ " -U use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V display version information\n"
+#~ msgstr ""
+#~ "ˡ: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+#~ " [ -A | -G | -U ] [ PID | 桼̾ ]\n"
+#~ " pstree -V\n"
+#~ "ץĥ꡼ɽ롣\n"
+#~ "\n"
+#~ " -a ޥɥ饤ɽ\n"
+#~ " -A ASCII ʸɽ˻\n"
+#~ " -c ƱƤΥ֥ĥ꡼ޤȤûɽʤ\n"
+#~ " -h ߤΥץȤĤΥץĴɽ\n"
+#~ " -H PID ץPIDȤĤΥץĴɽ\n"
+#~ " -G VT100 ʸɽ˻\n"
+#~ " -l ĹԤɽǤڤޤ\n"
+#~ " -n PIDǥȤɽ\n"
+#~ " -p PIDɽ; -cץĤ̤ޤߤޤ\n"
+#~ " -u UIDܾɽ\n"
+#~ " -U UTF-8 (Unicode) ʸɽ˻\n"
+#~ " -V Сɽ\n"
+
+#, c-format
+#~ msgid " -Z show SELinux security contexts\n"
+#~ msgstr " -Z SELinuxƥƥȤɽ\n"
+
+#~ msgid "Cannot open protocol file \"%s\": %s"
+#~ msgstr "ץȥե \"%s\" ޤ: %s"
diff --git a/po/ka.gmo b/po/ka.gmo
new file mode 100644
index 0000000..fe69ca1
--- /dev/null
+++ b/po/ka.gmo
Binary files differ
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 0000000..8a797d3
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,767 @@
+# psmisc Georgian translation.
+# Copyright (C) 2022 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.5rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2022-10-17 07:37+0200\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: Georgian <(nothing)>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.1.1\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"გამოყენება: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-სიგნალი]] სახელი...\n"
+" fuser -ლ\n"
+" ფუზერი -V\n"
+"აჩვენეთ რომელი პროცესები იყენებენ დასახელებულ ფაილებს, სოკეტებს ან ფაილურ "
+"სისტემას.\n"
+"\n"
+" -a,--ყველა აჩვენებს გამოუყენებელ ფაილებსაც\n"
+" -i,--ინტერაქტიული კითხვა მოკვლის წინ (იგნორირებულია -k-ის გარეშე)\n"
+" -I,--inode ყოველთვის იყენებს ინოდებს ფაილების შესადარებლად\n"
+" -k,--kill kill პროცესების წვდომა დასახელებულ ფაილზე\n"
+" -l,--list-სიგნალების სია ხელმისაწვდომი სიგნალის სახელები\n"
+" -m,--mount აჩვენებს ყველა პროცესს დასახელებული ფაილური სისტემების "
+"გამოყენებით ან\n"
+" დაბლოკვის მოწყობილობა\n"
+" -M,--ismountpoint შეასრულოს მოთხოვნა მხოლოდ იმ შემთხვევაში, თუ NAME არის "
+"სამონტაჟო წერტილი\n"
+" -n,--namespace SPACE ძიება ამ სახელის სივრცეში (ფაილი, udp ან tcp)\n"
+" -s,--ჩუმი ჩუმი ოპერაცია\n"
+" -SIGNAL გაგზავნეთ ეს სიგნალი SIGKILL-ის ნაცვლად\n"
+" -u,--მომხმარებლის ჩვენება მომხმარებლის ID\n"
+" -v, - სიტყვიერი სიტყვიერი გამომავალი\n"
+" -w,-- ჩაწერე მხოლოდ ჩაწერის წვდომის მქონე პროცესების მოკვლა\n"
+" -V, ---ვერსიის ჩვენება ვერსიის ინფორმაციის\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 მოძებნეთ მხოლოდ IPv4 სოკეტები\n"
+" -6,--ipv6 მოძებნეთ მხოლოდ IPv6 სოკეტები\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - პარამეტრების გადატვირთვა\n"
+"\n"
+" udp/tcp სახელები: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"(C) 1993-2022 ვერნერ ალმესბერგერი და ქრეგ სმოლი, ყველა უფლება დაცულია\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc აბსოლუტურად გარანტიის გარეშე მოგეწოდებათ.\n"
+"ეს უფასო პროგრამაა და თქვენ უფლება გაქვთ, გაავრცელოთ ის\n"
+"GNU-ის ზოგადი საჯარო ლიცენზიით.\n"
+"მეტი ინფორმაციისთვის იხილეთ ფაილი COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "/proc საქაღალდის გახსნის შეცდომა: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "შესაბამისი პროცესისთვის მეხსიერების გამოყოფის შეცდომა: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "მითითებული ფაილი (%s) არ არსებობს.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "%s-ის აღმოჩენის შეცდომა: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr ""
+"ლოკალური პორტის (%s) ამოხსნის შეცდომა: %s\n"
+"\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "უცნობი ლოკალური პორტი AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "პროტოკოლის ფაილის გახნის შეცდომა \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "მითითებული ფაილის სახელი (%s) მიმაგრების წერტილი არაა.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: არასწორი პარამეტრი %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "სახელების სივრცის პარამეტრისთვის არგუმენტის მითითება აუცილებელია."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "არასწორი სახელების სივრცის სახელი"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "შეგიძლიათ გამოიყენოთ მხოლოდ მიმაგრების წერტილის პარამეტრებიანი ფაილები"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "პროცესის სპეციფიკაცია მითითებული არაა"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "გაჩუმების პარამეტრთან ერთად ყველა პარამეტრს ვერ გამოიყენებთ."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "მხოლოდ IPv4 და მხოლოდ IPv6 სოკეტების ერთდროული ძებნა შეუძლებელია"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s მომხმარებელი PID წვდომა ბრძანება\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(უცნობია)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "ფაილის (%s) აღმოჩენის შეცდომა: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "/proc/net/unix-ის გახსნის შეცდომა: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "მოვკლა პროცესი %d ? (y(დიახ)/N(არა, ნაგულისხმები) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "პროცესის (%d) მოკვლის შეცდომა: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "ქსელური სოკეტის გახსნის შეცდომა.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "სოკეტის მოწყობილობის ნომრის პოვნა შეუძლებელია.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "მოვკლა %s(%s%d) ? (y(დიახ)/N(არა, ნაგულისხმები) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "გავაგზავნო სიგნალი %s(%s%d) ? (y(დიახ)/N(არა, ნაგულისხმები) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: პროცესის სტატუსიდან UID-ის მიღების შეცდომა\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: არასწორი რეგულარული გამოსახულება: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: ნაწილობრივი დამთხვევის %s(%d) გამოტოვება\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "მოკვდა %s(%s%d) სიგნალით %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: პროცესი ვერ ვიპოვე\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "გამოყენება: killall [პარამეტრი]... [--] სახელი...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact ყოველი გრძელი ხაზის ზუსტი დამთხვევის მოთხოვნა\n"
+" -I,--ignore-case პროცესის სახელის დამთხვევა რეგისტრის გათვალისწინების "
+"გარეშე\n"
+" -g,--process-group პროცესის მაგიერ პროცესების ჯგუფის მოკვლა\n"
+" -y,--younger-than მითითებულ დროზე უფრო ახალგაზრდა პროცესების მოკვლა\n"
+" -o,--older-than მითითებულ დროზე უფრო ხანდაზმული პროცესების მოკვლა\n"
+" -i,--interactive მოკვლამდე დასტურის მოთხოვნა\n"
+" -l,--list ყველა ცნობილი სიგნალის სახელის ჩამონათვალის ჩვენება\n"
+" -q,--quiet გაფრთხილებები ნაჩვენები არ იქნება\n"
+" -r,--regexp მითითებული სახელის, როგორც გაფართოებული რეგულარული "
+"გამოსახულების, მიღება\n"
+" -s,--signal SIGNAL SIGTERM-ის მაგიერ ამ სიგნალის გაგზავნა\n"
+" -u,--user USER მხოლოდ მითითებული მომხმარებლით გაშვებული პროცესების "
+"მოკვლა\n"
+" -v,--verbose ანგარიშის სიგნალის წარმატებით გაგზავნის შესახებ\n"
+" -V,--version ვერსიის ინფორმაციის ჩვენება\n"
+" -w,--wait პროცესების სიკვდილის დალოდება\n"
+" -n,--ns PID მხოლოდ იგივე სახელების სივრცეში მდებარე პროცესების "
+"დამთხვევა,\n"
+" როგორც PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEX მხოლოდ მითითებული კონტექსტის მქონე პროცესების მოკვლა\n"
+" (მითითებული უნდა იყოს ყველა სხვა დოკუმენტზე ადრე)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "დროის არასწორი ფორმატი"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "მომხმარებლის (%s) პოვნა შეუძლებელია\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "სახელების სივრცის არასწორი PID"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "არასწორი რეგულარული გამოსახულება: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: სახელების მაქსიმალური რაოდენობაა: %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s -ს პროცესის ჩანაწერები აკლია (არაა მიმაგრებული?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "PID %i-თან მიბმის შეცდომა\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"(C) 2007 ტრენტ ვადინგტონი, ყველა უფლება დაცულია\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"გამოყენება: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean 8 ბიტიანი სუფთა ნაკადების გამოტანა.\n"
+" -n, --no-headers fd თავსართების ჩაწერა/წაკითხვა ნაჩვენები არ "
+"იქნება.\n"
+" -c, --follow ახალი შვილი პროცესების მითვალყურებული "
+"იქნება.\n"
+" -t, --tgid ყველა ახალი ნაკადის მითვალყურება, სადაც "
+"tgid <pid>-ის ტოლია.\n"
+" -d, --duplicates-removed გამოტანილი ინფორმაციიდან დუბლირებული ჩაწერა/"
+"წაკითხვების მოცილება.\n"
+" -V, --version ვერსიის ინფორმაციის ჩვენება.\n"
+" -h, --help ამ დახმარების გამოტანა.\n"
+"\n"
+" გამოტანის დასასრულებლად დააწექით CTRL-C.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"გამოყენება: prtstat [პარამეტრები] PID ...\n"
+" prtstat -V\n"
+"პროცესის შესახებ ინფორმაციის გამოტანა\n"
+" -r,--raw დაუმუშავებელი ინფორმაციის გამოტანა\n"
+" -V,--version ვერსიის ინფორმაციის გამოტანა და გასვლა\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2020 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"2009-2020 Craig Small, ყველა უფლება დაცულია\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "გაშვებულია"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "სძინავს"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "დისკზე სძინავს"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "ზომბი"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "მიყოლებული"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "პეიჯინგი"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "unknown"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"პროცესი: %-14s\t\\მდგომარეობა: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tნაკადი: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"პროცესების, ჯგუფებისა და სესიების ID-ები\n"
+" პროცესის ID: %d\t\t მშობლის ID: %d\n"
+" ჯგუფის ID: %d\t\t სესიის ID: %d\n"
+" T ჯგუფის ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"გვერდის შეცდომები\n"
+" ეს პროცესი (დამხმარე ძირითადი): %8lu %8lu\n"
+" შვილი პროცესები (დამხმარე ძირითადი): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU-ის დროები\n"
+" ეს პროცესი (მომხმარებელი სისტემა სტუმარი blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" შვილი პროცესები (მომხმარებელი სისტემა სტუმარი): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"მეხსიერება\n"
+" Vზომა: %-10s\n"
+" RSS: %-10s \t\t RSS ზღვარი: %s\n"
+" Code Start: %#-10lx\t\t კოდის დასასრული: %#-10lx\n"
+" სტეკის დასაწყისი: %#-10lx\n"
+" სტეკზე მაჩვენებელი (ESP): %#10lx\t Inst მაჩვენებელი (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"დაგეგმვა\n"
+" პოლიტიკა: %s\n"
+" Nice: %ld \t\t რდ პრიორიტეტი: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "print_stat -ში asprintf -ის შეცდომა.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "პროცესი PID-ით %d არ არსებობს.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "შეცდომა stat ფაილის გახსნისას PID-სთვის %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "შეცდომა proc_info -სთვის მეხსიერების გამოყოფისას\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "შეცდომა stat ფაილის სკანირებისას"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "არასწორი პარამეტრი"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "საჭიროა ერთი PID მაინც მიუთითოთ."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc მიმაგრებული არაა. /proc/self/stat აღმოჩენილი არაა.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s ცარიელია (არაა მიმაგრებული ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"გამოყენება: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N ტიპი ]\n"
+" [ -A | -G | -U ] [ PID | მომხმარებელი ]\n"
+" ან: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"პროცესების ხის ჩვენება.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments ბრძანების სტრიქონის არგუმენტების ჩვენება\n"
+" -A, --ascii ხაზების ხატვისას ASCII სიმბოლოების გამოყენება\n"
+" -c, --compact-not ერთნაირი ქვე-ხეების არ შედარდება\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=ტიპი პროცესის ფერი ატრიბუტის მიხედვით\n"
+" (ასაკი)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids პროცესის ჯგუფის ID-ების ჩვენება. იყენებს -c\n"
+" -G, --vt100 VT100 -ის ხაზის დასახატი სიმბოლოების გამოყენება\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all მიდინარე პროცესისა და მისი წინაპრების გამოკვეთა\n"
+" -H PID, --highlight-pid=PID\n"
+" ამ პროცესისა და მისი წინაპრების გამოკვეთა\n"
+" -l, --long გრძელი ხაზები წაკვეთილი არ იქნება\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort გამოტანილის PID-ით დალატება\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" ამ სახელების სივრცის ტიპის დალაგება\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids PID-ების ჩვენება; ასევე ჩართავს -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents მონიშნული პროცესის მშობლების ჩვენება\n"
+" -S, --ns-changes სახელების სივრცის გადასვლის ჩვენებე\n"
+" -t, --thread-names ნაკადის სრული სახელების ჩვენება\n"
+" -T, --hide-threads ნაკადების დამალვა და მხოლოდ პროცესების ჩვენება\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes uid-ის გადასვლების ჩვენება\n"
+" -U, --unicode ხაზის დასახატი სიმბოლოებისთვის UTF-8-ის (უნიკოდი) "
+"გამოყენება\n"
+" -V, --version ვერსიის ინფორმაციის გამოტანა\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" უსაფრთხოების ატრიბუტების ჩვენება\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID PID-ებსის მითითებული რიცხვიდან დაწყება. ნაგულისხმებია 1 (init)\n"
+" USER მხოლოდ ამ მომხმარებლის პროცესების ფესვებიდან ამოზრდილი პროცესების "
+"ჩვენება\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM დაყენებული არაა\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "ტერმინალის შესაძლებლობების მიღების შეცდომა\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "procfs ფაილი %s სახელთა სივრცისთვის მიუწვდომელია\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "ასეთი მომხმარებლის სახელი არ არსებობს: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "პროცესი %d ვერ მოიძებნა.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "პროცესები ვერ მოიძებნა.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "დახურვისთვის დააჭირეთ დაბრუნებას\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: უცნობი სიგნალი. სიგნალების სიის მისაღებად გამოიყენეთ %s -l\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "(C) 1993-2021 ვერნერ ალმესბერგერი და ქრეგ სმოლი, ყველა უფლება დაცულია\n"
+#~ "\n"
diff --git a/po/ko.gmo b/po/ko.gmo
new file mode 100644
index 0000000..4c97803
--- /dev/null
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..ec0b855
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,745 @@
+# Korean translation of the psmisc package.
+# Copyright (C) 2022 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Seong-ho Cho <darkcircle.0426@gmail.com>, 2022, 2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-14 11:01+0900\n"
+"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
+"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.4.2\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"사용법: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n <영역>]\n"
+" [-k [-i] [-<시그널>]] <이름>...\n"
+" fuser -l\n"
+" fuser -V\n"
+"어떤 프로세스가 이름을 지정한 파일, 소켓, 파일시스템을 사용하는지 나타냅니"
+"다.\n"
+"\n"
+" -a,--all 사용하지 않는 파일도 표시\n"
+" -i,--interactive 강제로 끝내기 전 확인 (-k 없으면 무시함)\n"
+" -I,--inode 파일 비교시 항상 아이노드 활용\n"
+" -k,--kill 이름이 붙은 파일에 접근하는 프로세스 강제로 끝내기\n"
+" -l,--list-signals 모든 가용 시그널 이름 표시\n"
+" -m,--mount 이름을 지정한 파일 시스템 또는 블록 장치로\n"
+" 모든 프로세스 표시\n"
+" -M,--ismountpoint <이름>이 마운트 지점일 경우에만 요청 수행\n"
+" -n,--namespace <영역> 지정 이름 영역 (file, udp, 또는 tcp)에서 검색\n"
+" -s,--silent 동작 출력 안함\n"
+" -<시그널> SIGKILL 대신 지정 시그널 전송\n"
+" -u,--user 사용자 ID 표시\n"
+" -v,--verbose 자세하게 출력\n"
+" -w,--writeonly 쓰기 접근이 있는 프로세스만 강제로 끝냄\n"
+" -V,--version 버전 정보 표시\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 IPv4 소켓만 검색\n"
+" -6,--ipv6 IPv6 소켓만 검색\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" udp/tcp 이름: [<로컬_포트>][,[<원격_호스트>][,[<원격_포트>]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc는 명백한 무보증을 통해 제공합니다.\n"
+"이 프로그램은 자유 소프트웨어이며, GNU 공중 사용 허가서의\n"
+"조항에 따른 재배포를 환영합니다.\n"
+"자세한 정보는 COPYING 파일을 살펴보십시오.\n"
+"\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "/proc 디렉터리 열 수 없음: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "일치하는 proc에 메모리를 할당할 수 없음: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "지정한 %s 파일 이름이 없습니다.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "%s 상태 정보 가져올 수 없음: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "%s 로컬 포트를 해석할 수 없음: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "알 수 없는 로컬 포트 AF %d번\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "\"%s\" 프로토콜 파일을 열 수 없습니다: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "지정한 %s 파일은 마운트 지점이 아닙니다.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: 부적절한 옵션 %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "이름 영역 옵션에 인자가 필요합니다."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "부적절한 이름 영역의 이름"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "마운트 지점 옵션에만 파일을 활용할 수 있습니다"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "지정한 프로세스가 없습니다"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "모든 옵션은 출력 중지 옵션과 사용할 수 없습니다."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "IPv4 및 IPv6 소켓을 동시에 검색할 수 없습니다"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s 사용자 PID 접근 명령\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(알 수 없음)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "%s 파일 상태 정보 가져올 수 없음: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "/proc/net/unix 열 수 없음: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "프로세스 %d번을 강제로 끝냅니까? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "프로세스 %d번을 강제로 끝낼 수 없습니다: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "네트워크 소켓을 열 수 없습니다.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "소켓 장치 번호를 찾을 수 없습니다.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "%s 프로세스(%s%d)를 강제로 끝냅니까 ? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "%s 시그널(%s%d)을 보냅니까? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: 프로세스 상태 정보에서 UID를 가져올 수 없습니다\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: 잘못된 정규 표현식: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: 일부 %s 일치 항목을 건너뜀(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d)을(를) %d번 시그널로 강제로 끝냈습니다\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: 지정 프로세스가 없습니다\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "사용법: killall [<옵션>]... [--] <이름>...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact 매우 긴 이름에 정확히 일치해야 함\n"
+" -I,--ignore-case 프로세스 이름 일치시 대소문자 구분 안함\n"
+" -g,--process-group 프로세스가 아닌 프로세스 그룹 강제로 끝냄\n"
+" -y,--younger-than 지정 <시간> 이후의 프로세스를 강제로 끝냄\n"
+" -o,--older-than 지정 <시간> 이전의 프로세스를 강제로 끝냄\n"
+" -i,--interactive 강제로 끝내기 전 확인 질문\n"
+" -l,--list 일려진 모든 시그널 이름을 나타냄\n"
+" -q,--quiet 처리 질문/오류 등을 나타내지 않음\n"
+" -r,--regexp <이름> 을 확장 정규 표현식으로 해석\n"
+" -s,--signal <시그널> SIGTERM 대신 지정 시그널 보냄\n"
+" -u,--user <사용자> 지정 <사용자>가 실행하는 프로세스만 강제로 끝냄\n"
+" -v,--verbose 시그널을 제대로 보냈는지 보고\n"
+" -V,--version 버전 정보를 나타냄\n"
+" -w,--wait 프로세스가 끝날 때까지 대기\n"
+" -n,--ns PID PID에 해당하는 동일한 이름 영역 이름과 일치하는 프로세"
+"스만\n"
+" 처리\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context <정규식> 컨텍스트에 해당하는 프로세스만 강제로 끝냅니다\n"
+" (다른 인자보다 우선해야함)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "잘못된 시간 형식"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "%s 사용자가 없습니다\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "부적절한 이름 영역 PID"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "잘못된 정규 표현식: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: 이름에 할당한 최대 번호는 %d번입니다\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s에 프로세스 항목이 빠졌습니다 (마운트 안함?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "PID %i번에 접근하는 중 오류\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"사용법: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean 8 비트 클린 스트림을 출력합니다.\n"
+" -n, --no-headers fd 헤더의 읽기 쓰기를 나타내지 않습니다.\n"
+" -c, --follow 어떤 새 하위 프로세스도 살펴봅니다.\n"
+" -t, --tgid <pid>와 동일한 모든 tgid 스레드를 살펴봅니"
+"다.\n"
+" -d, --duplicates-removed 출력에서 읽기/쓰기 중복을 제거합니다.\n"
+" -V, --version 버전 정보를 나타냅니다.\n"
+" -h, --help 이 도움말을 나타냅니다.\n"
+"\n"
+" 출력을 끝내려면 CTRL-C 키를 누르십시오.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"사용법: prtstat [<옵션>] PID ...\n"
+" prtstat -V\n"
+"프로세스 정보를 출력합니다\n"
+" -r,--raw 원시 정보를 나타냅니다\n"
+" -V,--version 버전 정보를 나타낸 후 나갑니다\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "실행중"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "대기중"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "디스크대기"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "좀비"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "추적함"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "페이징"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "알수없음"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"프로세스: %-14s\t\t상태: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\t스레드: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"프로세스, 그룹, 세션 ID\n"
+" 프로세스 ID: %d\t\t 상위 ID: %d\n"
+" 그룹 ID: %d\t\t 세션 ID: %d\n"
+" T 그룹 ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"페이징 실패\n"
+" 이 프로세스 (minor major): %8lu %8lu\n"
+" 하위 프로세스 (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU 시간\n"
+" 이 프로세스 (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" 하위 프로세스 (user system guest): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"메모리\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS 한계: %s\n"
+" Code 시작: %#-10lx\t\t Code 정지: %#-10lx\n"
+" 스택 시작: %#-10lx\n"
+" 스택 포인터 (ESP): %#10lx\t 명령 포인터 (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"스케쥴링\n"
+" 정책: %s\n"
+" Nice: %ld \t\t RT 우선순위: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "print_stat에서 asprint에 실패했습니다.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "PID %d번 프로세스는 없습니다.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "PID %d번의 상태 정보 파일을 열 수 없습니다(%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "proc_info에 필요한 메모리를 할당할 수 없습니다\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "상태 정보 파일을 검사할 수 없습니다"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "부적절한 옵션"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "최소한 PID 하나는 지정해야 합니다."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc 디렉터리를 마운트하지 않아 /proc/self/stat 상태 정보를 가져올 수 없습니"
+"다.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s은(는) 비어있습니다 (마운트 안함?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"사용법: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" 또는: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"프로세스를 트리 형식으로 나타냅니다.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments 명령행 실행 인자를 나타냅니다\n"
+" -A, --ascii 선 문자 표현시 ASCII을 활용합니다\n"
+" -c, --compact-not 이상적인 하위 트리를 축소하지 않습니다\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=<형식> 속성에 따라 색상을 처리합니다\n"
+" (age)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids 프로세스 그룹 ID를 나타냅니다. -c 생략함\n"
+" -G, --vt100 선 문자 표현시 VT100을 활용합니다\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all 현재 프로세스와 상위 요소를 강조합니다\n"
+" -H PID, --highlight-pid=PID\n"
+" 지정 프로세스와 상위 요소를 강조합니다\n"
+" -l, --long 긴 줄을 자르지 않습니다\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort PID순으로 출력 내용을 정렬합니다\n"
+" -N <형식>, --ns-sort=<형식>\n"
+" 이름 영역 형식에 따라 출력 내용을 정렬합니다\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids PID를 나타냅니다. -c 생략함\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents 선택한 프로세스의 상위 요소를 나타냅니다\n"
+" -S, --ns-changes 이름 영역 변이를 나타냅니다\n"
+" -t, --thread-names 전체 스레드 이름을 나타냅니다\n"
+" -T, --hide-threads 스레드는 숨기고 프로세스만 나타냅니다\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes UID 변이를 나타냅니다\n"
+" -U, --unicode 선 문자 표현시 UTF-8 (유니코드)를 활용합니다\n"
+" -V, --version 버전 정보를 나타냅니다\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" 보안 속성을 나타냅니다\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID 이 PID값으로 시작합니다. 기본값은 1(init)입니다\n"
+" USER 이 사용자의 최상위 기본 실행 프로세스만을 나타냅니다\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM을 설정하지 않았습니다\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "터미널 가용 정보를 가져올 수 없습니다\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "%s 이름 공간에 procfs 파일이 없습니다.\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "그런 사용자 이름은 없습니다: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "%d번 프로세스가 없습니다.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "프로세스가 없습니다.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Return키를 눌러 닫으십시오\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr ""
+"%s: 알 수 없는 시그널. 시그널 목록을 보려면 %s -l 명령을 사용하십시오.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
diff --git a/po/nb.gmo b/po/nb.gmo
new file mode 100644
index 0000000..050d632
--- /dev/null
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..6a84394
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,833 @@
+# Norwegian bokml translation of psmisc 22.2pre1.
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Trond Endrestl <Trond.Endrestol@fagskolen.gjovik.no>, 2005.
+#
+# Send this file as an gzipped attachment to:
+# translation@iro.umontreal.ca
+# with the subject:
+# TP-Robot PACKAGE-VERSION.TEAM.po
+#
+# The subject for the Norwegian bokml translation of psmisc 22.2pre1
+# would then be:
+# TP-Robot psmisc-22.2pre1.nb.po
+#
+# Here's the URL for the Norwegian bokml translation team:
+# http://www.iro.umontreal.ca/translation/registry.cgi?team=nb
+#
+# Here's the URL for the current translations of GNU bison:
+# http://www.iro.umontreal.ca/translation/registry.cgi?domain=psmisc
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 22.2pre1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2006-03-07 12:01+0100\n"
+"Last-Translator: Trond Endrestl <Trond.Endrestol@fagskolen.gjovik.no>\n"
+"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/fuser.c:146
+#, fuzzy, c-format
+#| msgid ""
+#| "Usage: fuser [ -a | -s | -c ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] "
+#| "NAME...\n"
+#| " [ - ] [ -n SPACE ] [ -SIGNAL ] [ -kimuv ] NAME...\n"
+#| " fuser -l\n"
+#| " fuser -V\n"
+#| "Show which processes use the named files, sockets, or filesystems.\n"
+#| "\n"
+#| " -a display unused files too\n"
+#| " -c mounted FS\n"
+#| " -f silently ignored (for POSIX compatibility)\n"
+#| " -i ask before killing (ignored without -k)\n"
+#| " -k kill processes accessing the named file\n"
+#| " -l list available signal names\n"
+#| " -m show all processes using the named filesystems\n"
+#| " -n SPACE search in this name space (file, udp, or tcp)\n"
+#| " -s silent operation\n"
+#| " -SIGNAL send this signal instead of SIGKILL\n"
+#| " -u display user IDs\n"
+#| " -v verbose output\n"
+#| " -V display version information\n"
+#| " -4 search IPv4 sockets only\n"
+#| " -6 search IPv6 sockets only\n"
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Bruksmte: fuser [ -a | -s | -c ] [ -n ROM ] [ -SIGNALl ] [ -kimuv ] "
+"NAVN ...\n"
+" [ - ] [ -n ROM ] [ -SIGNAL ] [ -kimuv ] NAVN ...\n"
+" fuser -l\n"
+" fuser -V\n"
+"\n"
+"Vise hvilke prosesser som bruker de angitte filene, socketer eller "
+"filsystemer.\n"
+"\n"
+" -a ogs vise ubrukte filer\n"
+" -c monterte filsystemer\n"
+" -f ignorert i det stille for POSIX-kompatibilitet\n"
+" -i spr fr dreping (ignorert uten -k)\n"
+" -k drep prosesser som akserer den navngitte filen\n"
+" -l vis liste over tilgjengelige signalnavn\n"
+" -m vis alle prosesser som bruker de angitte monterte "
+"filesystemene\n"
+" -n ROM sk i det angitte navnerommet (file, udp, eller tcp)\n"
+" -s stille utfrelse\n"
+" -SIGNAL send dette signalet i stedet for SIGKILL\n"
+" -u vis bruker-IDer\n"
+" -v ordrik output\n"
+" -V vis programversjon\n"
+" -4 sk bare blant IPv4-socketer\n"
+" -6 sk bare blant IPv6-socketer\n"
+" - nullstill valgene\n"
+"\n"
+" udp/tcp-navn: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc kommer ABSOLUTT UTEN NOEN GARANTI.\n"
+"Dette er fri programvare, og du har tillatelse til redistribuere det\n"
+"under betingelsene i GNU General Public License.\n"
+"For mer informasjon om dette, les filene som heter COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Kan ikke pne /proc-katalogen: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Kan ikke allokere minne for funnet prosess: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr ""
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Kan ikke kjre stat p %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Kan ikke lse lokalport %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Ukjent lokalport AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Kan ikke pne protokollfil %s: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr ""
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr ""
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Navneromvalget krever et argument."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Ugyldig navn p navnerom"
+
+#: src/fuser.c:1309
+#, fuzzy
+#| msgid "You can only use files with mountpoint option"
+msgid "You can only use files with mountpoint options"
+msgstr "Du kan bare bruke filer med monteringspunktvalget"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Ingen prosesspesifikasjon ble gitt"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "alle valg kan ikke bli brukt med stillevalget."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Du kan ikke ske etter bare IPv4- og bare IPv6-socketer samtidig"
+
+# Oversettelsen av denne strengen er noe vanskelig da dette er en
+# tabelloverskrift som skal passe med selve tabellen. [TE, 2005-03-01]
+#: src/fuser.c:1474
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "%*s USER PID ACCESS COMMAND\n"
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr ""
+"\n"
+"%*s BRUKER PID ACCESS KOMMANDO\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(ukjent)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Kan ikke kjre stat p fila %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Kan ikke pne /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Drepe prosess %d ? (j/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Kunne ikke drepe prosessen %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Kan ikke pne en nettverkssocket.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Kan ikke finne socketens enhetsnummer.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Drepe %s(%s%d) ? (j/n) "
+
+#: src/killall.c:114
+#, fuzzy, c-format
+#| msgid "Kill %s(%s%d) ? (y/N) "
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Drepe %s(%s%d) ? (j/n) "
+
+#: src/killall.c:262
+#, fuzzy, c-format
+#| msgid "Cannot get UID from process status\n"
+msgid "killall: Cannot get UID from process status\n"
+msgstr "Kan ikke finne UID fra prosesstatus\n"
+
+#: src/killall.c:368
+#, fuzzy, c-format
+#| msgid "Bad regular expression: %s\n"
+msgid "killall: Bad regular expression: %s\n"
+msgstr "Ugyldig regulrt uttrykk: %s\n"
+
+#: src/killall.c:525
+#, fuzzy, c-format
+#| msgid "skipping partial match %s(%d)\n"
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "hopper over delvis treff %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Drepte %s(%s%d) med signalet %d\n"
+
+#: src/killall.c:796
+#, fuzzy, c-format
+#| msgid "%s: no process killed\n"
+msgid "%s: no process found\n"
+msgstr "%s: drepte ingen prosess\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Bruksmte: killall [VALG]... [--] navn...\n"
+
+#: src/killall.c:839
+#, fuzzy, c-format
+#| msgid ""
+#| " killall -l, --list\n"
+#| " killall -V, --version\n"
+#| "\n"
+#| " -e,--exact require exact match for very long names\n"
+#| " -I,--ignore-case case insensitive process name match\n"
+#| " -g,--process-group kill process group instead of process\n"
+#| " -i,--interactive ask for confirmation before killing\n"
+#| " -l,--list list all known signal names\n"
+#| " -q,--quiet don't print complaints\n"
+#| " -r,--regexp interpret NAME as an extended regular expression\n"
+#| " -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+#| " -u,--user USER kill only process(es) running as USER\n"
+#| " -v,--verbose report if the signal was successfully sent\n"
+#| " -V,--version display version information\n"
+#| " -w,--wait wait for processes to die\n"
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact krever nyaktig treff for veldig lange navn\n"
+" -I,--ignore-case ignorerer store/sm bokstaver i prosessnavn\n"
+" -g,--process-group drep prosessgrupper i stedet for prosesser\n"
+" -i,--interactive spr om bekreftelse fr dreping\n"
+" -l,--list vis alle kjente signalnavn\n"
+" -q,--quiet ikke syt dersom det ikke gr bra\n"
+" -r,--regexp tolk NAVN som et utvidet regulrt uttrykk\n"
+" -s,--signal send signal i stedet for SIGTERM\n"
+" -v,--verbose rapporter dersom signalet ble vellykket sendt\n"
+" -V,--version vis programinformasjon\n"
+" -w,--wait vent til prosessen er dd\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP bare drep prosesser med kontekst\n"
+" (m komme foran andre argumenter)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr ""
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Kan ikke finne brukeren %s\n"
+
+#: src/killall.c:1016
+#, fuzzy
+#| msgid "Invalid namespace name"
+msgid "Invalid namespace PID"
+msgstr "Ugyldig navn p navnerom"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Ugyldig regulrt uttrykk: %s\n"
+
+#: src/killall.c:1057
+#, fuzzy, c-format
+#| msgid "Maximum number of names is %d\n"
+msgid "killall: Maximum number of names is %d\n"
+msgstr "Maksimalt antall navn er %d\n"
+
+#: src/killall.c:1062
+#, fuzzy, c-format
+#| msgid "%s is empty (not mounted ?)\n"
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "%s er tom (ikke montert?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr ""
+
+#: src/peekfd.c:191
+#, fuzzy, c-format
+#| msgid "pstree (PSmisc) %s\n"
+msgid "peekfd (PSmisc) %s\n"
+msgstr "pstree (psmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+
+#: src/prtstat.c:65
+#, fuzzy, c-format
+#| msgid "pstree (PSmisc) %s\n"
+msgid "prtstat (PSmisc) %s\n"
+msgstr "pstree (psmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2005 Werner Almesberger og Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr ""
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr ""
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr ""
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr ""
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr ""
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr ""
+
+#: src/prtstat.c:90
+#, fuzzy
+#| msgid "(unknown)"
+msgid "unknown"
+msgstr "(ukjent)"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr ""
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr ""
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr ""
+
+#: src/prtstat.c:243
+#, fuzzy, c-format
+#| msgid "Cannot allocate memory for matched proc: %s\n"
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Kan ikke allokere minne for funnet prosess: %s\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr ""
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr ""
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr ""
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s er tom (ikke montert?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+
+#: src/pstree.c:1326
+#, fuzzy, c-format
+#| msgid ""
+#| " PID start at this PID; default is 1 (init)\n"
+#| " USER show only trees rooted at processes of this user\n"
+#| "\n"
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+" PID begynn med angitt pid, standard er 1 (init)\n"
+" BRUKER bare vis trr med opphav fra prosesser tilhrende denne brukeren\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (psmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM er ikke angitt\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Kan ikke finne ut egenskapene til terminalen\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr ""
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Fant ikke brukeren %s.\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Fant ingen prosesser.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Fant ingen prosesser.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Trykk p enter for lukke.\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: ukjent signal; %s -l angir kjente signaler.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bruksmte: pidof [ -eg ] navn ...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e krever nyaktig treff for veldig lange navn;\n"
+#~ " hopp over dersom kommandolinjen er utilgjengelig\n"
+#~ " -g vis prosessgruppe ID i stedet for prosess ID\n"
+#~ " -V vis programversjon\n"
+#~ "\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Bruksmte: killall [-Z kontekst] [-u bruker] [ -egiqvw ] [ -signal ] "
+#~ "navn ...\n"
+
+#, c-format
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr "Kan ikke kjre stat p monteringspunktet %s: %s\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr "Du kan ikke bruke montert- og monteringspunktvalgene samtidig"
+
+#, c-format
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "Kan ikke pne /etc/mtab: %s\n"
+
+#, c-format
+#~ msgid "Internal error: MAX_DEPTH not big enough.\n"
+#~ msgstr "Intern feil: MAX_DEPTH er ikke stor nok.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -u ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a show command line arguments\n"
+#~ " -A use ASCII line drawing characters\n"
+#~ " -c don't compact identical subtrees\n"
+#~ " -h highlight current process and its ancestors\n"
+#~ " -H PID highlight this process and its ancestors\n"
+#~ " -G use VT100 line drawing characters\n"
+#~ " -l don't truncate long lines\n"
+#~ " -n sort output by PID\n"
+#~ " -p show PIDs; implies -c\n"
+#~ " -u show uid transitions\n"
+#~ " -U use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V display version information\n"
+#~ msgstr ""
+#~ "Bruksmte: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -"
+#~ "u ]\n"
+#~ " [ -A | -G | -U ] [ PID | BRUKER ]\n"
+#~ " pstree -V\n"
+#~ "\n"
+#~ "Vis et prosesstre.\n"
+#~ "\n"
+#~ " -a vis argumentene fra kommandolinjen\n"
+#~ " -A tegn linjer med ASCII-tegn\n"
+#~ " -c ikke komprimer identiske undertrr\n"
+#~ " -h uthev nvrende prosess og dets opphav\n"
+#~ " -H PID uthev prosessen pid og dets opphav\n"
+#~ " -G tegn linjer med VT100-tegn\n"
+#~ " -l ikke avkort lange linjer\n"
+#~ " -n sorter output etter PID\n"
+#~ " -p vis PIDs; medfrer -c\n"
+#~ " -u vis uid-overganger\n"
+#~ " -U tegn linjer med UTF-8-tegn (Unicode)\n"
+#~ " -V vis programversjon\n"
+
+#, c-format
+#~ msgid " -Z show SELinux security contexts\n"
+#~ msgstr " -Z vis SELinux sikkerhetskontekster\n"
diff --git a/po/nl.gmo b/po/nl.gmo
new file mode 100644
index 0000000..64a8af6
--- /dev/null
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..5f4600c
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,839 @@
+# Dutch translations for psmisc.
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PSmisc package.
+#
+# « Que dites-vous là, monsieur? » dit elle en colère.
+# « Madame, dit il, il ne faut pas tromper l'enfance. »
+#
+# Benno Schulenberg <benno@vertaalt.nl>, 2004, 2005, 2006, 2007, 2010.
+# Erwin Poeze <erwin.poeze@gmail.com>, 2010.
+# Benno Schulenberg <benno@vertaalt.nl>, 2012, 2013, 2014, 2016, 2019, 2021, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc-23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2023-12-24 13:21+0100\n"
+"Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Gebruik: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n NAAMSRUIMTE]\n"
+" [-k [-i] [-SIGNAAL]] NAAM...\n"
+" of: fuser [-l|-V]\n"
+"\n"
+"Toont de processen die gebruik maken van de genoemde bestanden,\n"
+"sockets of bestandssystemen\n"
+"\n"
+" -a, --all de ongebruikte bestanden ook noemen\n"
+" -i, --interactive bevestiging vragen voor afbreken (genegeerd zonder "
+"-k)\n"
+" -I, --inode altijd inodes gebruiken om bestanden te "
+"vergelijken\n"
+" -k, --kill processen afbreken die het gegeven bestand "
+"gebruiken\n"
+" -l, --list-signals lijst van beschikbare signalen tonen\n"
+" -m, --mount alle processen tonen die het gegeven "
+"bestandssysteem\n"
+" of blokapparaat gebruiken\n"
+" -M, --ismountpoint alleen aan verzoek voldoen als NAAM aankoppelpunt "
+"is\n"
+" -n, --namespace RUIMTE in gegeven naamsruimte ('file', 'udp', 'tcp') "
+"zoeken\n"
+" -s, --silent geen uitvoer produceren\n"
+" -SIGNAAL dit signaal sturen in plaats van SIGKILL\n"
+" -u, --user de gebruiker-IDs tonen\n"
+" -v, --verbose uitgebreide uitvoer tonen\n"
+" -V, --version de programmaversie tonen\n"
+" -w,--writeonly alleen processen met schrijfrecht afbreken\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 alleen naar IPv4-sockets zoeken\n"
+" -6,--ipv6 alleen naar IPv6-sockets zoeken\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - alle opties terugzetten op standaardwaarden\n"
+" tcp/udp-namen: [lokale_poort][,[gindse_host][,[gindse_poort]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2022 Werner Almesberger en Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc kent GEEN ENKELE GARANTIE.\n"
+"Dit is vrije software en mag vrijelijk verspreid worden,\n"
+"onder de voorwaarden van de GNU General Public License.\n"
+"Zie voor meer informatie hierover het bestand genaamd COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Kan /proc niet openen: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Onvoldoende geheugen beschikbaar om gevonden proces te verwerken: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Opgegeven bestandsnaam %s bestaat niet.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Kan status van %s niet bepalen: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Kan lokale poort %s nergens toe herleiden: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Onbekende lokale poort AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Kan protocolbestand '%s' niet openen: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Opgegeven bestandsnaam %s is geen aankoppelpunt.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: ongeldige optie %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "De naamsruimte-optie '-n' vereist een argument"
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Ongeldige naamsruimte"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Er zijn alleen bestanden toegestaan samen met aankoppelpuntopties"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Geen naam van bestand of socket opgegeven"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "Opties '-a' en '-s' gaan niet samen"
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Opties '-4' en '-6' gaan niet samen"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s GEBRUIKER PID SOORT PROGRAMMA\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(onbekend)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Kan status van bestand %s niet bepalen: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Kan /proc/net/unix niet openen: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Proces %d afbreken? (j/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Kan proces %d niet afbreken: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Kan netwerk-socket niet openen.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Kan apparaatnummer van socket niet vinden.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Proces %s(%s%d) afbreken? (j/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Proces %s(%s%d) een signaal sturen? (j/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Kan uit processtatus geen UID bepalen\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Ongeldige reguliere expressie: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: Overgeslagen: gedeeltelijke overeenkomst %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Proces %s(%s%d) is afgebroken met signaal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: geen proces gevonden\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Gebruik: killall [OPTIE...] [--] NAAM...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" of: killall [-l|--list]\n"
+" of: killall [-V|--version]\n"
+"\n"
+" -e,--exact zeer lange namen moeten exact overeenkomen\n"
+" -I,--ignore-case verschil tussen hoofd- en kleine letters negeren\n"
+" -g,--process-group een procesgroep afbreken in plaats van een proces\n"
+" -y,--younger-than processen nieuwer dan TIJD afbreken\n"
+" -o,--older-than processen ouder dan TIJD afbreken\n"
+" -i,--interactive om bevestiging vragen alvorens af te breken\n"
+" -l,--list lijst van bekende signalen tonen\n"
+" -q,--quiet geen foutmeldingen geven\n"
+" -r,--regexp NAAM is een uitgebreide reguliere expressie\n"
+" -s,--signal SIGNAAL dit signaal sturen in plaats van SIGTERM\n"
+" -u,--user GEBRUIKER alleen proces(sen) van deze gebruiker afbreken\n"
+" -V,--version de programmaversie tonen\n"
+" -v,--verbose melden of het signaal succesvol verstuurd is\n"
+" -w,--wait wachten tot processen ook werkelijk afgebroken zijn\n"
+" -n,--ns PID alleen processen die tot dezelfde naamsruimte\n"
+" behoren als PID\n"
+"\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP alleen processen met deze context afbreken\n"
+" (dient aan andere argumenten vooraf te gaan)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Ongeldige tijdopmaak"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Kan gebruiker %s niet vinden\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Ongeldige PID voor naamsruimte"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Ongeldige reguliere expressie: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Het maximum aantal namen is %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s bevat geen procesitems -- misschien niet aangekoppeld?\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Fout tijdens aanhechten aan PID %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Gebruik: peekfd [-8cdnt] [-Vh] <PID> [<bestandsdescriptor>...]\n"
+"\n"
+" -8, --eight-bit-clean 8-bits-schone uitvoer produceren\n"
+" -c, --follow nieuwe dochterprocessen ook bekijken\n"
+" -d, --duplicates-removed dubbele vermeldingen onderdrukken\n"
+" -n, --no-headers lees-/schrijfmeldingen van descriptors "
+"weglaten\n"
+" -t, --tgid alle threads bekijken waar de TGID == <PID>\n"
+" -V, --version de programmaversie tonen\n"
+" -h, --help deze hulptekst tonen\n"
+"\n"
+"Typ Ctrl-C om het programma te stoppen.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Gebruik: prtstat [-r] PID ...\n"
+" of: prtstat -V\n"
+"\n"
+"Toont informatie over een proces.\n"
+"\n"
+" -r,--raw ruwe uitvoer van informatie\n"
+" -V,--version de programmaversie tonen en stoppen\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2022 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "runt"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "slaapt"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "wacht"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "getraced"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "swappend"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "onbekend"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proces: %-14s\t\tStatus: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tDraden: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Proces-, groeps- en sessie-IDs\n"
+" Proces-ID: %d\t\t Ouder-ID: %d\n"
+" Groeps-ID: %d\t\t Sessie-ID: %d\n"
+" T-groeps-ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Page Faults\n"
+" Dit proces (zacht : hard): %8lu : %8lu\n"
+" Dochterprocessen (zacht : hard): %8lu : %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU-tijden\n"
+" Dit proces (gebruiker systeem gast blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Dochters (gebruiker systeem gast): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Geheugen\n"
+" Virtuele grootte: %-10s\n"
+" RSS: %-10s\t\t RSS-grens: %s\n"
+" Begin van code: %#-10lx\t\t Einde van code: %#-10lx\n"
+" Begin van stack: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst.Pointer (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Scheduling\n"
+" Beleid: %s\n"
+" Nice: %ld \t\t RT-prioriteit: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf() in print_stat() is mislukt.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Proces met PID %d bestaat niet.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Kan stat-bestand voor PID %d niet openen (%s).\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Onvoldoende geheugen beschikbaar voor proc_info()\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Kan stat-bestand niet scannen"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Ongeldige optie"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Er moet minstens één PID gegeven worden."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc is niet aangekoppeld, kan status van /proc/self/stat niet bepalen.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s is leeg -- misschien niet aangekoppeld?\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Gebruik: pstree [-acglpsStTuZ] [-h|-H PID] [-n|-N SOORT]\n"
+" [-A|-G|-U] [ PID | GEBRUIKER ]\n"
+" of: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Toont huidige processen in een boomstructuur.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments argumenten van de opdrachtregel tonen\n"
+" -A, --ascii ASCII-tekens voor de lijntjes gebruiken\n"
+" -c, --compact-not identieke subbomen niet compacteren\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr " -C, --color=TYPE proces kleuren volgens dit attribuut ('age')\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids procesgroeps-ID's tonen (impliceert '-c')\n"
+" -G, --vt100 VT100-tekens voor de lijntjes gebruiken\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all huidig proces en zijn voorouders accentueren\n"
+" -H PID, --highlight-pid=PID\n"
+" dit proces en zijn voorouders accentueren\n"
+" -l, --long lange regels niet afkappen\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort uitvoer sorteren op PID\n"
+" -N SOORT, --ns-sort=SOORT\n"
+" uitvoer sorteren op deze SOORT naamsruimte\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids PIDs tonen (impliceert '-c')\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents ouders van geselecteerd proces tonen\n"
+" -S, --ns-changes naamsruimte-overgangen tonen\n"
+" -t, --thread-names volledige thread-namen tonen\n"
+" -T, --hide-threads threads verbergen; alleen processen tonen\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes UID-overgangen tonen\n"
+" -U, --unicode Unicode-tekens (UTF-8) voor de lijntjes gebruiken\n"
+" -V, --version de programmaversie tonen en stoppen\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" veiligheidscontexten tonen\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID bij dit proces-ID beginnen; standaard is 1 (init)\n"
+" NAAM alleen de bomen tonen die beginnen bij processen van deze "
+"gebruiker\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "Omgevingsvariabele TERM heeft geen waarde.\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Kan terminalcapaciteiten niet bepalen\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "Het 'procfs'-bestand voor de '%s'-naamsruimte is niet beschikbaar\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Geen bestaande gebruikersnaam: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Geen proces %d gevonden.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Geen processen gevonden.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Druk op Enter om af te sluiten\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr ""
+"Onbekend signaal: %s -- '%s -l' toont een lijst van mogelijke signalen.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger en Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Gebruik: pstree [-acglpsStTu] [-h|-H PID] [-l] [-n|-N SOORT]\n"
+#~ " [-A|-G|-U] [ PID | GEBRUIKER ]\n"
+#~ " of: pstree -V\n"
+#~ "\n"
+#~ "Toont huidige processen in een boomstructuur.\n"
+#~ "\n"
+#~ " -a, --arguments argumenten van de opdrachtregel tonen\n"
+#~ " -A, --ascii ASCII-tekens voor de lijntjes gebruiken\n"
+#~ " -c, --compact identieke subbomen niet compacteren\n"
+#~ " -g, --show-pgids procesgroeps-ID's tonen (impliceert '-c')\n"
+#~ " -G, --vt100 VT100-tekens voor de lijntjes gebruiken\n"
+#~ " -h, --highlight-all huidig proces en zijn voorouders accentueren\n"
+#~ " -H PID, --highlight-pid=PID\n"
+#~ " dit proces en zijn voorouders accentueren\n"
+#~ " -l, --long lange regels niet afkappen\n"
+#~ " -n, --numeric-sort uitvoer sorteren op PID\n"
+#~ " -N SOORT, --ns-sort=SOORT\n"
+#~ " uitvoer sorteren op deze SOORT naamsruimte\n"
+#~ " (ipc, mnt, net, pid, user, uts)\n"
+#~ " -p, --show-pids PIDs tonen (impliceert '-c')\n"
+#~ " -s, --show-parents ouders van geselecteerd proces tonen\n"
+#~ " -S, --ns-changes naamsruimte-overgangen tonen\n"
+#~ " -t, --thread-names volledige thread-namen tonen\n"
+#~ " -T, --hide-threads threads verbergen; alleen processen tonen\n"
+#~ " -u, --uid-changes UID-overgangen tonen\n"
+#~ " -U, --unicode Unicode-tekens (UTF-8) voor de lijntjes gebruiken\n"
+#~ " -V, --version de programmaversie tonen en stoppen\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Gebruik: pidof [-eg] NAAM...\n"
+#~ " of: pidof -V\n"
+#~ "\n"
+#~ " -e zeer lange namen moeten exact overeenkomen\n"
+#~ " (genegeerd als de opdrachtregel niet beschikbaar is)\n"
+#~ " -g procesgroeps-ID tonen in plaats van proces-ID\n"
+#~ " -V de programmaversie tonen\n"
+#~ "\n"
diff --git a/po/pl.gmo b/po/pl.gmo
new file mode 100644
index 0000000..f462eda
--- /dev/null
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..336ad69
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,739 @@
+# Polish translations for psmisc.
+# Copyright (C) 2004, 2005, 2007, 2009, 2010, 2012, 2013, 2014, 2016, 2018, 2019, 2021, 2022, 2024 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-13 19:32+0100\n"
+"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
+"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Składnia: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n PRZESTRZEŃ]\n"
+" [-k [-i] [-SYGNAŁ]] NAZWA...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Pokazywanie, które procesy używają plików, gniazd lub systemów plików\n"
+"o podanych nazwach.\n"
+"\n"
+" -a,--all wyświetlenie także nie używanych plików\n"
+" -i,--interactive pytanie przed zabiciem (ignorowane bez -k)\n"
+" -I,--inode używanie zawsze i-węzłów przy porównywaniu plików\n"
+" -k,--kill zabicie procesów używających podanego pliku\n"
+" -l,--list-signals lista nazw sygnałów\n"
+" -m,--mount pokazanie procesów używających podanych systemów\n"
+" plików lub urządzeń\n"
+" -M,--ismountpoint wykonywanie poleceń tylko jeśli NAZWA jest punktem\n"
+" montowania\n"
+" -n,--namespace PRZ szukanie w podanej przestrzeni nazw (file, udp lub "
+"tcp)\n"
+" -s,--silent działanie po cichu\n"
+" -SYGNAŁ wysłanie podanego sygnału zamiast SIGKILL\n"
+" -u,--user wyświetlenie identyfikatorów użytkowników\n"
+" -v,--verbose podanie większej ilości informacji\n"
+" -w,--writeonly zabicie tylko procesów z prawem zapisu\n"
+" -V,--version wyświetlenie informacji o wersji\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 szukanie tylko gniazd IPv4\n"
+" -6,--ipv6 szukanie tylko gniazd IPv6\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" nazwy tcp/udp: [port_lokalny][,[host_zdalny][,[port_zdalny]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2024 Werner Almesberger i Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc jest rozpowszechniany BEZ ŻADNEJ GWARANCJI.\n"
+"To oprogramowanie jest darmowe i może być dystrybuowane na warunkach\n"
+"Powszechnej Licencji Publicznej GNU (General Public License).\n"
+"Więcej informacji znajduje się w pliku o nazwie COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Nie można otworzyć katalogu /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Nie można przydzielić pamięci dla dopasowanego procesu: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Podana nazwa pliku %s nie istnieje.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Nie można wykonać stat na %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Nie można rozwiązać portu lokalnego %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Nieznana rodzina adresów portu lokalnego %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Nie można otworzyć pliku protokołu \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Podana nazwa pliku %s nie jest punktem montowania.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Błędna opcja %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Opcja przestrzeni nazw wymaga argumentu."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Niepoprawna nazwa przestrzeni nazw"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Z opcjami punktu montowania można używać tylko plików"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Nie podano określenia procesów"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "opcja wszystkich plików nie może być użyta z opcją ciszy."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Nie można naraz szukać gniazd wyłącznie IPv4 i wyłącznie IPv6"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s UŻYTKOWNIK PID DOSTĘP POLECENIE\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(nieznany)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Nie można wykonać stat na pliku %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Nie można otworzyć /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Zabić proces %d? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Nie udało się zabić procesu %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Nie można otworzyć gniazda sieciowego.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Nie można odnaleźć numeru urządzenia gniazda.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Zabić %s(%s%d)? (t/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Wysłać sygnał do %s(%s%d)? (t/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: nie można pobrać UID-a ze stanu procesu\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: błędne wyrażenie regularne: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: pominięto częściowe dopasowanie %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Zabito %s(%s%d) sygnałem %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: nie znaleziono żadnego procesu\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Składnia: killall [OPCJE]... [--] NAZWA...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact wymaganie dokładnego dopasowania dla bardzo długich "
+"nazw\n"
+" -I,--ignore-case dopasowywanie nazw procesów niewrażliwe na wielkość "
+"liter\n"
+" -g,--process-group zabicie grupy procesów zamiast procesu\n"
+" -y,--younger-than zabicie procesów młodszych niż CZAS\n"
+" -o,--other-than zabicie procesów starszych niż CZAS\n"
+" -i,--interactive pytanie o potwierdzenie przed zabiciem\n"
+" -l,--list wypisanie wszystkich znanych nazw sygnałów\n"
+" -q,--quiet nie wyświetlanie narzekań\n"
+" -r,--regexp użycie NAZWY jako rozszerzonego wyrażenia regularnego\n"
+" -s,--signal SYGNAŁ wysłanie podanego sygnału zamiast SIGTERM\n"
+" -u, --user UŻYTK zabicie tylko procesów działających jako podany "
+"użytkownik\n"
+" -v,--verbose informowanie czy wysłanie sygnału się powiodło\n"
+" -V,--version wyświetlenie informacji o wersji\n"
+" -w,--wait zaczekanie na śmierć procesów\n"
+" -n,--ns PID dopasowanie procesów należących do przestrzeni nazw "
+"PID-u\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP zabicie tylko procesu(ów) mających dany kontekst "
+"bezp.\n"
+" (musi poprzedzać inne argumenty)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Błędny format czasu"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Nie można odnaleźć użytkownika %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Błędny PID przestrzeni nazw"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Błędne wyrażenie regularne: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: maksymalna liczba nazw to %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s nie ma wpisów procesów (nie jest zamontowany?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Błąd podczas podłączania do procesu %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Składnia: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean wypisywanie strumieni czysto 8-bitowych.\n"
+" -n, --no-headers bez nagłówków odczytu/zapisu z "
+"deskryptora.\n"
+" -c, --follow podglądanie także nowych procesów "
+"potomnych.\n"
+" -t, --tgid podglądanie wątków o tgid równym <pid>.\n"
+" -d, --duplicates-removed usuwanie z wyjścia powtórzonych odczytów/"
+"zapisów.\n"
+" -V, --version wypisanie informacji o wersji.\n"
+" -h, --help wypisanie tego opisu.\n"
+"\n"
+" Ctrl-C kończy wyjście.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Składnia: prtstat [opcje] PID ...\n"
+" prtstat -V\n"
+"Wypisywanie informacji o procesie\n"
+" -r,--raw Wyświetlenie informacji w postaci surowej\n"
+" -V,--version Wypisanie informacji o wersji i zakończenie\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "działa"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "śpi"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "op.dyskowa"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "śledzony"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "wymiana"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "nieznany"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proces: %-14s\t\tStan: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tWątków: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID procesu, grupy i sesji\n"
+" ID procesu: %d\t\t ID rodzica: %d\n"
+" ID grupy: %d\t\t ID sesji: %d\n"
+" ID grupy t: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Niepowodzenia stronicowania\n"
+" Ten proces (min maj): %8lu %8lu\n"
+" Procesy potomne (min maj): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Czasy procesora\n"
+" Ten proces (użytkownika systemowy gościnny blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Procesy potomne (użytkownika systemowy gościnny: %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Pamięć\n"
+" RozmWirt/VSz: %-10s\n"
+" RSS: %-10s \t\t Limit RSS: %s\n"
+" Pocz. kodu: %#-10lx\t\t Koniec kodu: %#-10lx\n"
+" Pocz. stosu: %#-10lx\n"
+" Wsk. stosu (ESP): %#-10lx\t\t Wsk. instr. (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Szeregowanie\n"
+" Polityka: %s\n"
+" Wart.nice: %ld \t\t Priorytet RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf w print_stat nie powiódł się.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Proces o pidzie %d nie istnieje.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Nie udało się otworzyć pliku stat dla pidu %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Nie można przydzielić pamięci dla proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Nie udało się przejrzeć pliku stat"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Błędna opcja"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Trzeba podać przynajmniej jeden PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"/proc nie jest zamontowany, nie można wykonać stat na /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s jest pusty (nie podmontowany?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Składnia: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N typ ]\n"
+" [ -A | -G | -U ] [ PID | UŻYTKOWNIK ]\n"
+" lub: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Wyświetlanie drzewa procesów.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments wyświetlenie argumentów linii poleceń\n"
+" -A, --ascii użycie znaków ramek ASCII\n"
+" -c, --compact bez scalania identycznych poddrzew\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TYP kolorowanie procesów wg atrybutu\n"
+" (wiek)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids wyświetlanie identyfikatorów grup procesów; włącza -c\n"
+" -G, --vt100 użycie znaków ramek VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -H PID, --highlight-pid=PID\n"
+" podświetlenie podanego procesu i jego przodków\n"
+" -l, --long bez ucinania długich linii\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort sortowanie wyjścia wg PID-u\n"
+" -N TYP, --ns-sort=TYP\n"
+" sortowanie wg podanego typu przestrzeni\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids wyświetlanie PID-ów; włącza także -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents wyświetlanie rodziców wybranego procesu\n"
+" -S, --ns-changes wyświetlanie zmian przestrzeni nazw\n"
+" -t, --thread-names wyświetlanie pełnych nazw wątków\n"
+" -T, --hide-threads ukrycie wątków, wyświetlanie jedynie procesów\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes wyświetlanie zmian uidów\n"
+" -U, --unicode użycie znaków ramek UTF-8 (Unicode)\n"
+" -V, --version wyświetlenie informacji o wersji\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" wyświetlanie atrybutów bezpieczeństwa\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID rozpoczęcie od tego PID-u, domyślnie 1 (init)\n"
+" UŻYTKOWNIK tylko drzewa zaczynające się od procesów tego użytkownika\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM nie ustawiony\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Nie można odczytać możliwości terminala\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "Plik procfs dla przestrzeni nazw %s nie jest dostępny\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Nie ma użytkownika o takiej nazwie: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Nie znaleziono procesu %d.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Nie znaleziono procesów.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Naciśnięcie return zamknie program\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: nieznany sygnał; %s -l wypisuje sygnały.\n"
diff --git a/po/psmisc.pot b/po/psmisc.pot
new file mode 100644
index 0000000..8140a31
--- /dev/null
+++ b/po/psmisc.pot
@@ -0,0 +1,600 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr ""
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr ""
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr ""
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr ""
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr ""
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr ""
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr ""
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr ""
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr ""
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr ""
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr ""
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr ""
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr ""
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr ""
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr ""
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr ""
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr ""
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr ""
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr ""
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr ""
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr ""
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr ""
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr ""
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr ""
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr ""
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr ""
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr ""
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr ""
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr ""
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr ""
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr ""
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr ""
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr ""
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr ""
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr ""
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr ""
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr ""
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr ""
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr ""
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr ""
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr ""
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr ""
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr ""
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr ""
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr ""
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr ""
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr ""
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr ""
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr ""
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr ""
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr ""
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr ""
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr ""
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr ""
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr ""
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr ""
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr ""
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr ""
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr ""
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr ""
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr ""
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr ""
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr ""
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr ""
diff --git a/po/pt.gmo b/po/pt.gmo
new file mode 100644
index 0000000..aa44fe6
--- /dev/null
+++ b/po/pt.gmo
Binary files differ
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..95e03e3
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,848 @@
+# Portuguese (portugal Translation for the psmisc Package.
+# Copyright (C) 2021 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Pedro Albuquerque <pmra@protonmail.com>, 2019,2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc-23.4rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2021-01-25 06:53+0000\n"
+"Last-Translator: Pedro Albuquerque <pmra@protonmail.com>\n"
+"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Geany / PoHelper 1.37\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Uso: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n ESPAÇO]\n"
+" [-k [-i] [-SINAL]] NOME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Mostra que processos usam os ficheiros, sockets, ou sistemas de ficheiros "
+"dados.\n"
+"\n"
+" -a,--all mostra também ficheiros não usados\n"
+" -i,--interactive pergunta antes de matar (ignorado sem -k)\n"
+" -I,--inode usa sempre inodes para comparar ficheiros\n"
+" -k,--kill mata processos acedendo ao ficheiro dado\n"
+" -l,--list-signals lista nomes de sinal disponíveis\n"
+" -m,--mount mostra todos os processos usando os sistemas de "
+"ficheiros dados ou\n"
+" bloqueia o dispositivo\n"
+" -M,--ismountpoint executa o pedido só se NOME for um ponto de "
+"montagem\n"
+" -n,--namespace ESPAÇO procura neste espaço de nome (ficheiro, udp, ou "
+"tcp)\n"
+" -s,--silent operação silenciosa\n"
+" -SINAL envia este sinal em vez de SIGKILL\n"
+" -u,--user mostra IDs de utilizador\n"
+" -v,--verbose saída verbosa\n"
+" -w,--writeonly mata só processos com acesso de escrita\n"
+" -V,--version mostra informação da versão\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 procurar só em sockets IPv4\n"
+" -6,--ipv6 procurar só em sockets IPv6\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - repõe as opções\n"
+"\n"
+" nomes udp/tcp: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2020 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2020 Werner Almesberger e Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"O PSmisc vem sem ABSOLUTAMENTE NENHUMA GARANTIA.\n"
+"Este é um programa gratuito, pode redistribuí-lo sob os\n"
+"termos da GNU General Public License.\n"
+"Para mais informação sobre estes assuntos, veja os ficheiros chamados "
+"COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Impossível abrir a pasta /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Impossível alocar memória para proc coincidente: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "O nome de ficheiro %s não existe.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Impossível analisar %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Impossível resolver porta local %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Porta local AF %d desconhecida\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Impossível abrir ficheiro de protocolo \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "O nome de ficheiro %s não é um ponto de montagem.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: opção %s inválida\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "A opção de espaço de nome requer um argumento."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Espaço de nome inválido"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Só pode utilizar ficheiros com opções de ponto de montagem"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Sem especificação de processo dada"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "A opção all não pode ser usada com a opção de silêncio."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Impossível procurar por sockets só IPv4 e só IPv6 ao mesmo tempo"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s UTILIZADOR PID ACESSO COMANDO\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(desconhecido)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Impossível analisar %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Impossível abrir /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Matar o processo %d ? (s/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Impossível matar o processo %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Impossível abrir um socket de rede.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Impossível encontrar o número de dispositivo do socket.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Matar %s(%s%d) ? (s/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Sinalizar %s(%s%d) ? (s/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: impossível obter UID do estado do processo\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: má expressão regular: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: a ignorar coicidência parcial %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Morto %s(%s%d) com sinal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: sem processo\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Uso: killall [OPÇÃO]... [--] NOME...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact requer correspondência exacta para nomes muito longos\n"
+" -I,--ignore-case ignora diferenças de maiúsculas ao comparar nomes de "
+"processos\n"
+" -g,--process-group Mata grupos de processos em vez de um só processo\n"
+" -y,--younger-than mata processos mais recentes que HORA\n"
+" -o,--older-than mata processos mais antigos que HORA\n"
+" -i,--interactive pede confirmação antes de matar\n"
+" -l,--list lista todos os nomes de sinal conhecidos\n"
+" -q,--quiet não imprime queixas\n"
+" -r,--regexp interpreta NOME como expressão regular estendida\n"
+" -s,--signal SInal envia este SINAL em vez de SIGTERM\n"
+" -u,--user USER mata só processo(s) executados como UTILIZADOR\n"
+" -v,--verbose reporta se o sinal foi enviado com sucesso\n"
+" -V,--version mostra informação da versão\n"
+" -w,--wait espera que os processos morram\n"
+" -n,--ns PID compara processos que pertencem ao mesmo espaço de "
+"nome\n"
+" que PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context EXPREG mata só processo(s) com contexto\n"
+" (tem de preceder outros argumentos)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Formato de hora inválido"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Impossível encontrar o utilizador %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "PID de nome de espaço inválido"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Má expressão regular: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: o número máximo de nomes é %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s tem entradas de processo em falta (não está montado?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Erro ao anexar a pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Uso: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean imprime fluxos limpos de 8 bit.\n"
+" -n, --no-headers não mostra leitura/escrita de cabeçalhos "
+"fd.\n"
+" -c, --follow espreita também a qualquer processo-filho.\n"
+" -t, --tgid espreita todos os tópicos onde tgid for "
+"igual a <pid>.\n"
+" -d, --duplicates-removed remove leituras/escritas duplicadas da "
+"saída.\n"
+" -V, --version mostra informação da versão.\n"
+" -h, --help mostra esta informação de ajuda.\n"
+"\n"
+" Prima CTRL-C para terminar a saída.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Uso: prtstat [opções] PID ...\n"
+" prtstat -V\n"
+"Imprime informação sobre um processo\n"
+" -r,--raw mostra informação em bruto\n"
+" -V,--version mostra informação da versão e sai\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2020 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2020 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "em execução"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "a dormir"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disco adormecido"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "morto-vivo"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "seguido"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "a paginar"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "desconhecido"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Processo: %-14s\t\tEstado: %c (%s)\n"
+" CPU: %-3d\t\tTTY: %s\tLinhas: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Processo, IDs de grupo e sessão\n"
+" Processo ID: %d\t\t ID-mãe: %d\n"
+" ID grupo: %d\t\t ID sessão: %d\n"
+" T ID grupo: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Faltas da página\n"
+" Este processo (menor maior): %8lu %8lu\n"
+" Processos-filho (menor maior): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Tempos de CPU\n"
+" Este processo (utilizador sistema convidado blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Processos-filho (utilizador sistema convidado): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memória\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t\t Limite RSS : %s\n"
+" Início do código: %#-10lx\t\t Fim do código: %#-10lx\n"
+" Início da pilha : %#-10lx\n"
+" Ponteiro da pilha (ESP): %#10lx\t Ponteiro Inst (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Agendamento\n"
+" Política: %s\n"
+" Amável: %ld \t\t Prioridade RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf em print_stat falhou.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "O processo com o pid %d não existe.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Impossível abrir o ficheiro de estatísticas para o pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Impossível alocar memória para proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Impossível analisar ficheiro de estatísticas"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Opção inválida"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Tem de fornecer pelo menos um PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc não está montado, impossível analisar /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s está vazio (não montado?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Uso: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N tipo ]\n"
+" [ -A | -G | -U ] [ PID | UTILIZADOR ]\n"
+" ou: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Mostrar uma árvore de processos.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments mostrar argumentos da linha de comandos\n"
+" -A, --ascii usar caracteres de desenho de linha ASCII\n"
+" -c, --compact-not não comprimir sub-árvores idênticas\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TYPE colorir processo por atributo\n"
+" (idade)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids mostrar ids de grupos de processos; implica -c\n"
+" -G, --vt100 usar caracteres de desenho de linha VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all realçar o processo actual e seus antecedentes\n"
+" -H PID, --highlight-pid=PID\n"
+" realçar este processo e seus antecedentes\n"
+" -l, --long não truncar linhas longas\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort ordenar a saída por PID\n"
+" -N TIPO, --ns-sort=TIPO\n"
+" ordenar a saída por este tipo de espaço de nome\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids mostrar PIDs; implica -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents mostrar progenitores do processo seleccionado\n"
+" -S, --ns-changes mostrar transições de espaço de nome\n"
+" -t, --thread-names mostrar nomes de tópico completos\n"
+" -T, --hide-threads ocultar tópicos, mostrar só processos\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes mostrar transições de uid\n"
+" -U, --unicode usar caracteres de desenho de linha UTF-8 (Unicode)\n"
+" -V, --version mostrar informação da versão\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" mostra atributos de segurança\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID começar neste PID; a predefinição é 1 (init)\n"
+" UTILIZ mostrar só árvores enraizadas em processos do utilizador UTILIZ\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERMO não definido\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Impossível obter recursos de terminal\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "ficheiro procfs para o espaço de nome %s indisponível\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Utilizador não existente: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Sem processos encontrados.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Sem processos encontrados.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Prima Enter para fechar\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: sinal desconhecido; %s -l lista sinais.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger e Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Uso: killall [ -Z CONTEXTO ] [ -u UTILIZADOR ] [ -y HORA ] [ -o HORA ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SINAL | -SINAL ] NOME...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Uso: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ " [ -A | -G | -U ] [ PID | UTILIZADOR ]\n"
+#~ " ou: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger e Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Uso: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ "Uso: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Mostra uma árvore de processos.\n"
+#~ "\n"
+#~ " -a, --arguments mostra os argumentos da linha de comandos\n"
+#~ " -A, --ascii usa caracteres ASCII de desenho de linhas\n"
+#~ " -c, --compact não compacta sub-árvores idênticas\n"
+#~ " -h, --highlight-all realça os processos actuais e seus ascendentes\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID realça este processo e seus ascendentes\n"
+#~ " -g, --show-pgids mostra IDs de grupo de processo; implica -c\n"
+#~ " -G, --vt100 usa caracteres VT100 de desenho de linhas\n"
+#~ " -l, --long não trunca linhas longas\n"
+#~ " -n, --numeric-sort ordenar saída por PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=tipo ordenar por tipo de espaço de nome (cgroup, ipc, "
+#~ "mnt, net, pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids mostra PIDs; implica -c\n"
+#~ " -s, --show-parents mostra pais do processo seleccionado\n"
+#~ " -S, --ns-changes mostra transições do espaço de nome\n"
+#~ " -t, --thread-names mostra nomes completos das linhas\n"
+#~ " -T, --hide-threads oculta linhas, mostra só processos\n"
+#~ " -u, --uid-changes mostra transições uid\n"
+#~ " -U, --unicode usa caracteres UTF-8 (Unicode) de desenho de "
+#~ "linhas\n"
+#~ " -V, --version mostra informação da versão\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
new file mode 100644
index 0000000..4d4477b
--- /dev/null
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..6b1feb6
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,882 @@
+# Brazilian Portuguese translation of psmisc.
+# This file is distributed under the same license as the psmisc package.
+# Copyright (C) 2021 Free Software Foundation, Inc.
+# Fabrício Godoy <skarllot@gmail.com>, 2009-2013.
+# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.4rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2021-02-03 19:07-0300\n"
+"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
+"net>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"X-Generator: Gtranslator 3.38.0\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Uso: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n ESPAÇO]\n"
+" [-k [-i] [-SINAL]] NOME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Mostra quais processos usam os arquivos, sockets ou sistema de arquivos "
+"especificados.\n"
+"\n"
+" -a,--all exibe também arquivos sem uso\n"
+" -i,--interactive pergunta antes de matar (ignorado sem -k)\n"
+" -k,--kill mata processos acessando o arquivo especificado\n"
+" -l,--list-signals lista os nomes de sinal disponíveis\n"
+" -m,--mount mostra todos processos usando o sistema de arquivos\n"
+" ou dispositivo de bloco especificado\n"
+" -M,--ismountpoint realiza solicitação apenas se NOME for um ponto\n"
+" de montagem\n"
+" -n,--namespace ESPAÇO pesquisa neste espaço de nome (file, udp ou tcp)\n"
+" -s,--silent operação silenciosa\n"
+" -SINAL envia este sinal em vez de SIGKILL\n"
+" -u,--user exibe IDs de usuário\n"
+" -v,--verbose saída detalhada\n"
+" -w,--writeonly mata apenas processos com acesso de gravação\n"
+" -V,--version exibe informações de versão\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 pesquisa apenas sockets IPv4\n"
+" -6,--ipv6 pesquisa apenas sockets IPv6\n"
+
+#: src/fuser.c:170
+#, fuzzy, c-format
+#| msgid ""
+#| " - reset options\n"
+#| "\n"
+#| " udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+#| "\n"
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" - redefine opções\n"
+"\n"
+" nomes udp/tcp: [porta_local][,[maq_rmt][,[porta_rmt]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2020 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2020 Werner Almesberger and Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc vem com ABSOLUTAMENTE NENHUMA GARANTIA.\n"
+"Este é um software livre, e você é bem-vindo em redistribuí-lo dentro\n"
+"dos termos da Licença Pública Geral GNU (GPL).\n"
+"Para mais informações a respeito, veja os arquivos com o nome COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Não foi possível abrir o diretório /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Não foi possível alocar memória ao proc equiparado: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "O nome de arquivo especificado %s não existe.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Não foi possível analisar %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Não foi possível resolver a porta local %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Família de endereços da porta local %d desconhecida\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Não foi possível abrir o arquivo de protocolo \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "O nome de arquivo especificado %s não é um ponto de montagem.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Opção inválida %s\n"
+
+# "--namespace" refere-se a uma opção do fuser, não traduzir.
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "A opção de \"--namespace\" requer um argumento."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Nome de espaço de nomes inválido"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Você pode apenas usar arquivos com opções de pontos de montagem"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Nenhuma especificação de processo fornecida"
+
+# "--all" e "--silent" referem-se a opções do fuser, não traduzir.
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "a opção \"--all\" não pode ser usada com a opção \"--silent\"."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Você não pode pesquisar apenas por sockets IPv4 e IPv6 ao mesmo tempo"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s USUÁRIO PID ACESSO COMANDO\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(desconhecido)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Não foi possível analisar o arquivo %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Não foi possível abrir /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Matar o processo %d? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Não foi possível matar o processo %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Não foi possível abrir um socket de rede.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Não foi possível localizar o número de dispositivo do socket.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Matar %s(%s%d)? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Enviar sinal para %s(%s%d)? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Não foi possível obter UID do status do processo\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Expressão regular inválida: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: ignorando ocorrência parcial %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) morto com o sinal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: nenhum processo localizado\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Uso: killall [OPÇÃO]... [--] NOME...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact exige ocorrência exata para nomes muito longos\n"
+" -I,--ignore-case ignora maiusculização nos nomes de processo\n"
+" -g,--process-group mata o grupo de processo em vez do processo\n"
+" -y,--younger-than mata processos mais novos que TEMPO\n"
+" -o,--older-than mata processos mais velhos que TEMPO\n"
+" -i,--interactive exibe confirmação antes de matar\n"
+" -l,--list lista todos os nomes de sinal conhecidos\n"
+" -q,--quiet não exibe avisos\n"
+" -r,--regexp interpreta NOME como uma expressão regular estendida\n"
+" -s,--signal SINAL envia este sinal em vez de SIGTERM\n"
+" -u,--user USUÁRIO mata apenas processos sendo executados pelo USUÁRIO\n"
+" -v,--verbose relata se o sinal foi enviado com sucesso\n"
+" -V,--version exibe informações de versão\n"
+" -w,--wait espera que os processos morram\n"
+" -n,--ns PID corresponde processos que pertencem aos mesmos\n"
+" espaços de nomes que o PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context EXPREG mata apenas processo(s) tendo contexto\n"
+" (precisa preceder outros argumentos)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Formato de tempo inválido"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Não foi possível localizar o usuário %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "PID de espaço de nomes inválido"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Expressão regular inválida: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: O número máximo de nomes é %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s não possui entradas de processos (não montado?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Erro ao anexar ao PID %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Uso: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean saída limpa com fluxos de 8 bits.\n"
+" -n, --no-headers não exibe leitura/gravação dos cabeçalhos "
+"fd.\n"
+" -c, --follow espia qualquer novo processo filho também.\n"
+" -t, --tgid espia threads em que tgid é igual a <pid>.\n"
+" -d, --duplicates-removed remove leitura/gravação duplicados da "
+"saída.\n"
+" -V, --version exibe informações de versão.\n"
+" -h, --help exibe esta ajuda.\n"
+"\n"
+" Pressione CTRL+C para finalizar a saída.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Uso: prtstat [opções] PID ...\n"
+" prtstat -V\n"
+"Exibe informações sobre um processo\n"
+" -r,--raw Exibe informações sem utilizar formatação\n"
+" -V,--version Exibe informações de versão e sai\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2020 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2020 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "executando"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "suspenso"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "suspenso por disco"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zumbi"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "interrompido"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paginado"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "desconhecido"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Processo: %-14s\t\tEstado: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"IDs de processos, grupos e sessões\n"
+" ID processo: %d\t\t ID pai: %d\n"
+" ID grupo: %d\t\t ID sessão: %d\n"
+" ID grupo T: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Faltas de página\n"
+" Este processo (menor maior): %8lu %8lu\n"
+" Processos filho (menor maior): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Tempo de CPU\n"
+" Este processo (usu. sist. conv. blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Processos filho (usu. sist. conv.): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memória\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\tLimite RSS: %s\n"
+" Início cód.: %#-10lx\t\t Fim cód. : %#-10lx\n"
+" Início stack:%#-10lx\n"
+" Pont. stack (ESP): %#10lx\t\t Pont. Instr. (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Agendamento\n"
+" Política: %s\n"
+" Nice: %ld \t\tPrioridade RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf em print_stat falhou.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "O processo com PID %d não existe.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Não foi possível abrir o arquivo de análise para PID %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Não foi possível alocar memória para proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Não foi possível verificar arquivo de estado"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Opção inválida"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Você precisa fornecer ao menos um PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc não está montado, impossível analisar /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s está vazio (não montado?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Uso: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N tipo ]\n"
+" [ -A | -G | -U ] [ PID | USUÁRIO ]\n"
+" ou: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Exibe uma árvore de processos.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments mostra argumentos de linha de comando\n"
+" -A, --ascii usa caracteres ASCII no desenho de linhas\n"
+" -c, --compact-not não comprime subárvores idênticas\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TIPO colore processo por atributo\n"
+" (age)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids mostra ids de grupo de processos; implica em -c\n"
+" -G, --vt100 usa caracteres VT100 no desenho de linhas\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all realça o processo atual e seus ancestrais\n"
+" -H PID, --highlight-pid=PID\n"
+" realça este processo e seus ancestrais\n"
+" -l, --long não trunca linhas longas\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort ordena saída pelo PID\n"
+" -N TIPO, --ns-sort=TIPO\n"
+" ordena por este tipo de espaço de nomes\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids mostra PIDs; implica em -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents mostra os pais do processo selecionado\n"
+" -S, --ns-changes mostra transições de espaço de nomes\n"
+" -t, --thread-names mostra nomes completos de threads\n"
+" -T, --hide-threads oculta threads, mostra apenas processos\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes mostra transições de uid\n"
+" -U, --unicode usa caracteres UTF-8 (Unicode) no desenho de linhas\n"
+" -V, --version exibe informações da versão\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" mostra atributos de segurança\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID inicia deste PID; predefinido como 1 (init)\n"
+" USR mostra apenas árvores originadas de processos deste usuário\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM não está definido\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Não foi possível obter as habilidades do terminal\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "O arquivo procfs para o espaço de nomes %s não está disponível\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Nome de usuário inexistente: %s\n"
+
+#: src/pstree.c:1539
+#, fuzzy, c-format
+#| msgid "No processes found.\n"
+msgid "Process %d not found.\n"
+msgstr "Nenhum processo localizado.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Nenhum processo localizado.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Pressione Enter para fechar\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: sinal desconhecido; %s -l lista os sinais.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Uso: killall [ -Z CONTEXTO ] [ -u USUÁRIO ] [ -y TEMPO ] [ -o TEMPO ]\n"
+#~ " [ -eIgiqrvw ] [ -s SINAL | -SINAL ] NOME...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Uso: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ " [ -A | -G | -U ] [ PID | USUÁRIO ]\n"
+#~ " ou: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger e Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Uso: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ "Uso: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N tipo ]\n"
+#~ " [ -A | -G | -U ] [ PID | USUÁRIO ]\n"
+#~ " pstree -V\n"
+#~ "Exibe uma árvore de processos.\n"
+#~ "\n"
+#~ " -a, --arguments mostra argumentos de linha de comando\n"
+#~ " -A, --ascii usa caracteres ASCII no desenho de linhas\n"
+#~ " -c, --compact não comprime subárvores idênticas\n"
+#~ " -h, --highlight-all realça o processo atual e seus ancestrais\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID realça este processo e seus ancestrais\n"
+#~ " -g, --show-pgids mostra ids de grupo do processo; implica -c\n"
+#~ " -G, --vt100 usa caracteres VT100 no desenho de linhas\n"
+#~ " -l, --long não trunca linhas longas\n"
+#~ " -n, --numeric-sort ordena saída pelo PID\n"
+#~ " -N tipo,\n"
+#~ " --ns-sort=tipo ordena pelo tipo do namespace (ipc, mnt, net, pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids mostra PIDs; implica -c\n"
+#~ " -s, --show-parents mostra os pais do processo selecionado\n"
+#~ " -S, --ns-changes mostra transições de namespace\n"
+#~ " -t, --thread-names mostra nomes de threads longas\n"
+#~ " -T, --hide-threads oculta threads, mostra apenas processos\n"
+#~ " -u, --uid-changes mostra transições de UID\n"
+#~ " -U, --unicode usa caracteres UTF-8 (Unicode) no desenho de "
+#~ "linhas\n"
+#~ " -V, --version exibe informações de versão\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger e Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger e Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Uso: pidof [ -eg ] NOME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e exigir ocorrência exata para nomes muito longos;\n"
+#~ " ignorar se a linha de comando está indisponível\n"
+#~ " -g mostrar ID do grupo de processo em vez do ID de processo\n"
+#~ " -V exibir informações de versão\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
diff --git a/po/quot.sed b/po/quot.sed
new file mode 100644
index 0000000..0122c46
--- /dev/null
+++ b/po/quot.sed
@@ -0,0 +1,6 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
new file mode 100644
index 0000000..8c70dfb
--- /dev/null
+++ b/po/remove-potcdate.sin
@@ -0,0 +1,25 @@
+# Sed script that removes the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This file is offered as-is,
+# without any warranty.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/ro.gmo b/po/ro.gmo
new file mode 100644
index 0000000..a575057
--- /dev/null
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..8243044
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,865 @@
+# Mesajele în limba română pentru pachetul psmisc.
+# Copyright (C) 2003, 2022 Free Software Foundation, Inc.
+# Acest fișier este distribuit sub aceeași licență ca și pachetul psmisc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Laurentiu Buzdugan <lbuz@rolix.org>, 2005.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2022 - 2024.
+#
+# Cronologia traducerii fișierului „psmisc”:
+# Traducerea inițială, făcută de LB, pentru versiunea psmisc 21.6pre1.
+# Actualizare a mesajelor, de la fișierul „psmisc-23.4rc1.pot”.
+# Actualizare a codării caracteror, la codarea de caractere UTF-8.
+# Actualizare a diacriticelor de la „cu sedilă” la „cu virgulă”.
+# Actualizare a algoritmului formelor de plural (de la „două” la „trei”).
+# NU și a mesajelor traduse (acestea au rămas neschimbate).
+# Eliminare a mesajelor ce-au dispărut în ultima versiune.
+# Actualizări realizate de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 15.01.2022.
+# Actualizare a traducerii pentru versiunea 23.5rc1, făcută de R-GC, mar-2022.
+# Actualizare a traducerii pentru versiunea 23.6-rc1, făcută de R-GC, dec-2022.
+# Actualizare a traducerii pentru versiunea 23.7-rc1, făcută de R-GC, feb-2024.
+# Actualizare a traducerii pentru versiunea Y, făcută de X, Y(anul).
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-13 18:35+0100\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
+"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
+
+# R-GC, scrie:
+# am făcut unele modificări, față de traducerea
+# inițială, pornind de la sugestiile făcute de DȘ:
+# 1. „-n,--namespace SPAȚIU caută în acest spațiu de nume (file, udp, sau tcp)”
+# aici „file” trebuie să devină „fișier”, spune DȘ;
+# încep să „investighez” printre traducerile făcute
+# de celelalte echipe(majoritatea au tradus «file»),
+# și în final descopăr, în traducerea bulgară,
+# o idee de-a îmbunătăți traducerea făcută,
+# așa cum se poate vedea.
+# 2. "Utilizare: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPAȚIU]\n"
+# " [-k [-i] [-SEMNAL]] NUME...\n"
+# → „SIGNAL” rebuie să rămână netradus, este detaliat mai jos și explicat ca fiind o comandă;
+# spune DȘ.
+# încă o dată mă pun să „investighez”, și în
+# traducerea făcută de Benno S, găsesc răspunsul
+# pe care-l bănuiam:
+# „-SIGNAL trimite acest semnal în loc de SIGKILL” → „-SEMNAL trimite acest semnal în loc de semnalul” SIGKILL
+# ***
+# am corectat de la „inod-uri” la „noduri-i”,
+# pentru a fi în concordanță cu celelalte
+# traduceri, și mai ales cu:
+#
+# «inode este (index node)», adică:
+# „nod de index”, așa că am folosit forma,
+# prescurtată folosită, adaptată la limba
+# română → « nod-i ».
+# Sursa folosită:
+# https://en.wikipedia.org/wiki/Inode, aici se
+# găsește explicația „etimologică :)” a
+# cuvîntului, oferită de
+# Dennis Ritchie, «autorul»
+# acestui cuvînt.
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Utilizare: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPAȚIU]\n"
+" [-k [-i] [-SEMNAL]] NUME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Afișează ce procese utilizează fișierele, soclurile sau sistemele de\n"
+"fișiere specificate.\n"
+"\n"
+" -a,--all afișează și fișierele neutilizate\n"
+" -i,--interactive întreabă înainte de a omorî (ignorată fără „-k”)\n"
+" -I,--inode utilizează întotdeauna noduri-i pentru a compara "
+"fișierele\n"
+" -k,--kill omoară procesele care accesează fișierul numit\n"
+" -l,--list-signals listează numele semnalelor disponibile\n"
+" -m,--mount afișează toate procesele ce folosesc sistemul de\n"
+" fișiere sau dispozitivul bloc specificat\n"
+" -M,--ismountpoint îndeplinește cererea numai dacă NUME este un\n"
+" punct de montare\n"
+" -n,--namespace SPAȚIU caută în acest SPAȚIU de nume (poate fi\n"
+" fișier, udp, sau tcp)\n"
+" -s,--silent operare silențioasă\n"
+" -SEMNAL trimite acest semnal în loc de semnalul SIGKILL\n"
+" -u,--user afișează ID-uri de utilizator\n"
+" -v,--verbose ieșire detaliată\n"
+" -w,--writeonly omoară doar procesele cu acces de scriere\n"
+" -V,--version afișează informații despre versiune\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 caută numai socluri(sockets) IPv4\n"
+" -6,--ipv6 caută numai socluri(sockets) IPv6\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" nume udp/tcp: [port_local][,[gazdă_rmt][,[port_rmt]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Drepturi de autor © 1993-2024 Werner Almesberger și Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc vine fără ABSOLUT NICI O GARANȚIE.\n"
+"Acesta este software liber, și sunteți binevenit să îl redistribuiți\n"
+"în conformitate cu termenii GNU General Public License.\n"
+"Pentru informații suplimentare referitoare la aceste chestiuni,\n"
+"consultați fișierele numite COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Nu se poate deschide directorul «/proc»: %s\n"
+
+# R-GC, scrie:
+# m-am uitat peste multe alte traduceri, iar cea
+# care mi s-a părut că descrie cel mai bine idea
+# autorului, a fost traducerea făcută de
+# Benno Schulenberg.
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Memorie disponibilă insuficientă pentru a procesa procesul găsit: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Numele fișierului specificat %s, nu există.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Nu se poate determina starea lui %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Nu se poate rezolva portul local %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Port local necunoscut AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Nu se poate deschide fișierul de protocol „%s”: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Numele fișierului specificat %s nu este un punct de montare.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Opțiune nevalidă %s\n"
+
+# R-GC, scrie:
+# încă o traducere a unui mesaj, avînd ca sursă de
+# inspirație, traducerea făcută de Benno Schulenberg
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Opțiunea spațiului de nume „-n”, necesită un argument."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Spațiu de nume nevalid"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Puteți utiliza numai fișiere cu opțiuni de punct de montare"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Nu s-a specificat niciun proces"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "nu toate opțiunile pot fi utilizate cu opțiunea silențioasă."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Nu puteți căuta doar socluri(sockets) IPv4 și doar socluri(sockets) IPv6 în "
+"același timp"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s UTILIZATOR PID ACCES COMANDĂ\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(necunoscut)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Nu se poate determina starea fișierului %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Nu se poate deschide «/proc/net/unix»: %s\n"
+
+# R-GC, scrie:
+# sugestie/corecție venită de la DȘ:
+# „msgstr "Terminați procesul %d ? (d/N) "
+# → până aici a fost „kill” = ”a omorî”, ar trebui să fie tot așa și aici”.
+# Ai dreptate, Daniel, acest mesaj a fost tradus de
+# LB(printre puținele pe care le-a tradus), și la
+# corectrea ce-am făcut-o înainte de ați trimite
+# fișierul la corectat, mi-a scăpat...
+# O aplic acum...
+# Așa fișierul e coerent...,
+# exact cum îmi place mie :)ˇ
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Omorâți procesul %d ? (d/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Nu s-a putut omorî procesul %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Nu se poate deschide un soclu(socket) de rețea.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Nu se poate găsi numărul dispozitivului soclu(socket).\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Omorâți %s(%s%d)? (d/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Trimiteți semnalul %s(%s%d) ? (d/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Nu se poate obține UID-ul de la starea procesului\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Expresie regulată greșită: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: am ignorat potrivirea parțială %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "A fost omorât %s(%s%d) cu semnalul %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: nu a fost găsit niciun proces\n"
+
+# DȘ, spune:
+# „msgstr "Utilizare: killall [ OPȚIUNE... ] [ -- ] NUME...\n"
+# → păstrează formatul original... punctele în afara parantezelor drepte”
+# Ai perfectă dreptate, Daniel, corecție aplicată!
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Utilizare: killall [ OPȚIUNE]... [ -- ] NUME...\n"
+
+# DȘ, spune:
+# 1. „" -i,--interactive cere confirmare înainte de-a omorî\n"
+# → „de a” fără cratimă”
+# Corecție aplicată!
+# 2. „" -I,--ignore-case ignoră diferența dintre MAJUS./minus în numele pro-\n"
+# " cesului.\n"
+# → poți muta tot cuvântul pe linia următoare, evitând despărțirea în silabe”
+# Corecție, aplicată!; motivul pentru care am folo-
+# sit separarea în silabe, a fost aceea de-a crea
+# iluzia unui dreptunghi, pentru mesajul ce apare
+# la rularea comenzii «killall --help».
+# Așa am observat o greșeală de dactilografiere,
+# în mesajul următor:
+# „(trebuie să precedă alte argumente)” →
+# „(trebuie să preceadă alte argumente)”
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V --version\n"
+"\n"
+" -e,--exact cere potrivire exactă pentru nume foarte lungi;\n"
+" -I,--ignore-case ignoră diferența dintre MAJUS./minus în numele\n"
+" procesului.\n"
+" -g,--process-group omoară grupul procesului în loc de un proces\n"
+" -y,--younger-than omoară procesele mai recente de ORA\n"
+" -o,--older-than omoară procesele mai vechi de ORA\n"
+" -i,--interactive cere confirmare înainte de a omorî\n"
+" -l,--list listează toate numele de semnale cunoscute\n"
+" -q,--quiet nu afișează mesajele de eroare\n"
+" -r,--regexp interpretează NUME ca o expresie regulată extinsă\n"
+" -s,--signal SEMNAL trimite acest semnal în loc de SIGTERM\n"
+" -u,--user UTILIZATOR omoară doar procesul(ele) ce rulează ca UTILIZATOR\n"
+" -v,--verbose raportează dacă semnalul a fost trimis cu succes\n"
+" -V,--version afișează informații despre versiune\n"
+" -w,--wait așteaptă ca procesele să moară\n"
+" -n,--ns PID numai procesele care aparțin aceluiași spațiu de nume\n"
+" ca PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context EXPREG omoară doar procesele cu acest context\n"
+" (trebuie să preceadă alte argumente)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Format de oră nevalid"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Nu se poate găsii utilizatorul %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "PID nevalid pentru spațiul de nume"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Expresie regulată greșită: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Numărul maxim de nume este %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s nu are intrări de proces (nu este montat?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Eroare la atașarea procesului cu id-ul %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Drepturi de autor © 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Utilizare: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean scoate fluxuri curate de 8 biți.\n"
+" -n, --no-headers nu afișează citirea/scrierea din antetele "
+"fd.\n"
+" -c, --follow aruncă o privire și asupra oricărui proces\n"
+" copil nou.\n"
+" -t, --tgid aruncă o privire la toate firele în care "
+"tgid\n"
+" este egal cu <pid>.\n"
+" -d, --duplicates-removed elimină citirile/scrierile duplicate de la "
+"ieșire.\n"
+" -V, --version imprimă informații despre versiune.\n"
+" -h, --help imprimă acest ajutor.\n"
+"\n"
+" Apăsați «CTRL-C» pentru a termina ieșirea.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Utilizare: prtstat [opțiuni] PID ...\n"
+" prtstat -V\n"
+"Imprimă informații despre un proces\n"
+" -r,--raw Afișează informație neprelucrată despre proces\n"
+" -V,--version Afișează informații despre versiune și iese\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Drepturi de autor © 2009-2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "rulează"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "adormit"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "așteptând accesul la disc"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "urmărit(traced)"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "paginare memorie"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "necunoscut"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Proces: %-14s\t\tStare: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tFire exec.: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID-urile de Proces, Grup și Sesiune\n"
+" ID Proces: %d\t\t ID Părinte: %d\n"
+" ID Grup: %d\t\t ID Sesiune: %d\n"
+" T ID Grup: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Erori în pagină\n"
+" Acest proces (minor major): %8lu %8lu\n"
+" Procese copil (minor major): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Timpii CPU\n"
+" Acest proces (utilizator de sistem invitat blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Procese copil (utilizator de sistem invitat): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Memorie\n"
+" Dimensiune virtuală: %-10s\n"
+" RSS: %-10s \t\tLimită RSS: %s\n"
+" Începutul codului: %#-10lx\t\tTerminare cod: %#-10lx\n"
+" Începutul stocării: %#-10lx\n"
+" Indicator stocare (ESP): %#10lx\t\t\tIndic. instruc. (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Planificare\n"
+" Politică: %s\n"
+" Curtoazie: %ld \t\t Prioritate RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf în print_stat a eșuat.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Procesul cu pid %d nu există.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Nu se poate deschide fișierul de stare pentru pid-ul %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Nu se poate aloca memorie pentru proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Nu se poate scana fișierul de stare"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Opțiune nevalidă"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Trebuie să furnizați cel puțin un PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"«/proc» nu este montat, nu se poate determina starea lui «/proc/self/stat».\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s este gol (nu este montat ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Utilizare: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N tip ]\n"
+" [ -A | -G | -U ] [ PID | UTILIZATOR ]\n"
+" sau: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Afișează un arbore de procese.\n"
+"\n"
+
+# R-GC, scrie:
+# am tradus inițial:
+# „use ASCII line drawing characters”
+# ca:
+# „utilizează caractere pentru trasarea de linii ASCII”
+# După ce-am citit de cîteva ori cu voce tare, fraza,
+# am început să-mă întreb:
+# - Și ce dracu, au vrut să spună autorii, cu asta?
+# După ce-am întors, problema, pe toate fețele,
+# am ajuns la concluzia prezentată; traducerea
+# ce apare în mesajul afișat la rularea comenzii:
+# «pstree --help». (se repetă pentru VT100)
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments afișează argumentele liniei de comandă\n"
+" -A, --ascii utilizează trasarea de linii ASCII pentru caractere\n"
+" -c, --compact-not nu compactează subarborii identici\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TIP colorează procesele după atributul\n"
+" (vârstă)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids afișează ID-urile grupului de procese; implică „-c”\n"
+" -G, --vt100 utilizează trasarea de linii VT100 pentru caractere\n"
+
+# DȘ, spune:
+# „" -h, --highlight-all highlight evidențiază procesul actual și antecesorii "
+# → al 2-lea „highlight” nu trebuie să apară în limba română”
+# R-GC, răspunde:
+# „Scuze am folosit «Ctrl + b», pentru a copia
+# mesajul original la traducere, și la marcarea textului ce trebuia tradus, mi-a scăpat „highlight”
+# de la marcare...”
+# Mulțumesc, corecție aplicată!
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all highlight evidențiază procesul actual și antecesorii "
+"săi\n"
+" -H PID, --highlight-pid=PID\n"
+" evidențiază procesul acesta și antecesorii săi\n"
+" -l, --long nu trunchiază liniile lungi\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort sortează ieșirea după PID\n"
+" -N TYPE, --ns-sort=TIP\n"
+" sortează rezultatul după spațiul de nume:\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids afișează PID-urile; implică „-c”\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents afișează părinții procesului selectat\n"
+" -S, --ns-changes afișează tranzițiile spațiului de nume\n"
+" -t, --thread-names afișează numele complete ale firelor\n"
+" -T, --hide-threads ascunde firele, afișează doar procesele\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes afișează tranzițiile uid\n"
+" -U, --unicode utilizează trasarea de linii UTF-8 (Unicode) pentru "
+"caractere\n"
+" -V, --version afișează informații despre versiune\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" afișează atributele de securitate\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID începe de la procesul cu acest ID; prestabilit este 1 (init)\n"
+" UTILIZATOR afișează numai arbori cu rădăcina în procesele acestui "
+"utilizator\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM nu este definit\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Nu se pot obține caracteristicile terminalului\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "Fișierul «procfs» pentru spațiul de nume %s nu este disponibil\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Nici un utilizator cu acest nume: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Procesul %d nu a fost găsit.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Nu a fost găsit nici un proces.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Apăsați tasta «Enter» pentru a închide\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: semnal necunoscut; %s -l listează semnalele.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Drepturi de autor © 1993-2002 Werner Almesberger și Craig Small\n"
+#~ "\n"
diff --git a/po/ru.gmo b/po/ru.gmo
new file mode 100644
index 0000000..90b010d
--- /dev/null
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..22bad86
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,892 @@
+# translation of psmisc-22.11-pre1.ru.po to Russian
+# Russian Translation for psmisc files
+# Copyright (C) 2002, 2009, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Ilya Evseev <evseev@altlinux.ru>, 2005.
+# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2012, 2013, 2014, 2016, 2018, 2019, 2021, 2022, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2023-01-05 09:41+0300\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <gnu@d07.ru>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 20.12.0\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Использование: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n ОБЛАСТЬ]\n"
+" [-k [-i] [-СИГНАЛ]] ИМЯ…\n"
+" fuser -l\n"
+" fuser -V\n"
+"Показывает какие процессы используют указанные файлы, сокеты\n"
+"или файловые системы.\n"
+"\n"
+" -a,-all показывать также неиспользуемые файлы\n"
+" -i,--interactive спрашивать подтверждение завершения (игнор. без -k)\n"
+" -I,--inode всегда использовать иноды для сравнения файлов\n"
+" -k,--kill завершить процессы, обращающиеся к заданному файлу\n"
+" -l,--list-signals показать допустимые имена сигналов\n"
+" -m,--mount показать процессы, использующие указанные файловые\n"
+" системы или блочные устройства\n"
+" -M,--ismountpoint выполнять запрос, только если ИМЯ является точкой\n"
+" монтирования\n"
+" -n,--namespace ОБЛАСТЬ\n"
+" искать в указанном пространстве имён (file, udp или "
+"tcp)\n"
+" -s,--silent не выводить сообщения\n"
+" -СИГНАЛ посылать указанный сигнал вместо SIGKILL\n"
+" -u,--user показывать идентификатор пользователя (uid)\n"
+" -v,--verbose включить подробные сообщения\n"
+" -w,--writeonly завершать только процессы с правом на запись\n"
+" -V,--version показать информацию о версии\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 поиск только среди сокетов IPv4\n"
+" -6,--ipv6 поиск только среди сокетов IPv6\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" имена udp/tcp: [локальный_порт][,[удалённый_узел][,[удалённый_порт]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc поставляется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.\n"
+"Это свободная программа; вы можете распространять её на условиях\n"
+"Универсальной общественной лицензии GNU.\n"
+"Подробная информация об этих условиях приведена в файле COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Не удалось открыть каталог /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Не удалось выделить память для проверяемого proc: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Указанное имя файла %s не существует.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Не удалось выполнить функцию stat для %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Не удалось определить имя локального порта %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Неизвестный локальный порт AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Не удалось открыть файл протокола \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Указанное имя файла %s не является точкой монтирования.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: неправильный параметр %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Для параметра области требуется значение."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Неверное имя области"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Вы можете использовать файлы только с параметрами mountpoint"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Не указан процесс"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr ""
+"Параметр показа всех файлов нельзя использовать вместе с параметром "
+"отключения сообщений."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Нельзя выполнять поиск только по сокетам IPv4 и IPv6 одновременно"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s ПОЛЬЗ-ЛЬ PID ДОСТУП КОМАНДА\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(неизвестно)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Не удалось выполнить функцию stat для файла %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Не удалось открыть /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Завершить процесс %d? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Не удалось завершить процесс %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Не удалось открыть сетевой сокет.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Не удалось найти номер устройства сокета.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Завершить %s(%s%d)? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Послать сигнал %s(%s%d)? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: не удалось получить UID из состояния процесса\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: неправильное регулярное выражение: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: пропуск частичного совпадения %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) завершён сигналом %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: процесс не найден\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Использование: killall [ПАРАМЕТР]… [--] ИМЯ…\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact требовать полного совпадения для очень длинных имён\n"
+" -I,--ignore-case игнорировать регистр символов в именах процессов\n"
+" -g,--process-group завершать группу процесса вместо одного процесса\n"
+" -y,--younger-than завершить процессы, новее чем заданного ВРЕМЕНИ\n"
+" -o,--older-than завершить процессы, старее чем заданного ВРЕМЕНИ\n"
+" -i,--interactive запрашивать подтверждение перед завершением "
+"процессов\n"
+" -l,--list вывести список допустимых имён сигналов\n"
+" -q,--quiet не показывать подробные сообщения\n"
+" -r,--regexp рассматривать ИМЯ как расширенное регулярное "
+"выражение\n"
+" -s,--signal СИГНАЛ посылать указанный СИГНАЛ, а не SIGTERM\n"
+" -u,--user ПОЛЬЗВ завершить процесс(ы), запущенный только "
+"ПОЛЬЗОВАТЕЛЕМ\n"
+" -v,--verbose уведомлять только при успешной отправке сигнала\n"
+" -V,--version показать информацию о версии\n"
+" -w,--wait ожидать завершения процессов\n"
+" -n,--ns PID все процессы, принадлежащие тем же пространствам "
+"имён\n"
+" что и PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context РЕГВЫР завершать только процесс(ы) с подходящим контекстом\n"
+" (должен указываться раньше остальных параметров)\n"
+"\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "неправильный формат времени"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Пользователь %s не найден\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Неверный PID пространства имён"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Неправильное регулярное выражение: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: количество имён не может превышать %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: в %s нет записей о процессах (не смонтирован?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Ошибка присоединения к процессу с pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Использование: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean не сбрасывать 8-й бит в потоках\n"
+" -n, --no-headers не отображать fd заголовки при чтении/записи\n"
+" -c, --follow наблюдать также за всеми новыми\n"
+" дочерними процессами\n"
+" -t, --tgid наблюдать за всеми нитями, у которых\n"
+" tgid равен <pid>\n"
+" -d, --duplicates-removed удалять повторяющиеся операции чтения/записи\n"
+" при выводе\n"
+" -V, --version вывести информацию о версии\n"
+" -h, --help вывести эту справку\n"
+"\n"
+" Нажмите CTRL-C для завершения.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Использование: prtstat [параметры] PID …\n"
+" prtstat -V\n"
+"Выводит информацию о процессе\n"
+" -r,--raw вывести информацию в необработанном виде\n"
+" -V,--version вывести информацию о версии и закончить работу\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright (C) 2009-2022 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "работает"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "спит"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "спит из-за диска"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "зомби"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "трассируется"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "замещает страницы"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "неизвестно"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Процесс: %-14s\t\tСостояние: %c (%s)\n"
+" ЦП#: %-3d\t\tTTY: %s\tНитей: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"ID процесса, группы и сеанса\n"
+" ID процесса: %d\t\t ID родителя: %d\n"
+" ID группы: %d\t\t ID сеанса: %d\n"
+" ID T-группы: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Страничные отказы\n"
+" Этот процесс (первичный вторичный): %8lu %8lu\n"
+" Дочерние процессы (первичный вторичный): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Процессорное время\n"
+" Этот процесс (польз. систем. гостевое blkio): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Дочерние процессы (польз. систем. гостевое): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Память\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t Предел RSS: %s\n"
+" Начало кода: %#-10lx\t\t Конец кода: %#-10lx\n"
+" Начало стека: %#-10lx\n"
+" Указатель стека (ESP): %#10lx\t Указатель инстр. (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Планировка\n"
+" Политика: %s\n"
+" Уступчивость: %ld \t\t Приоритет RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf в print_stat завершилась неудачно.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Процесс с pid %d не существует.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Не удалось открыть файл stat для pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Не удалось выделить память для proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Не удалось просканировать файл stat"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "неправильный параметр"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Вы должны указать не менее одного PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc не смонтирован, возможно выполнить stat /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s пуст (не смонтирован?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Использование: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N тип ]\n"
+" [ -A | -G | -U ] [ PID | ПОЛЬЗОВАТЕЛЬ ]\n"
+" или: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Показывает дерево процессов.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments показывать аргументы командной строки\n"
+" -A, --ascii использовать ASCII-символы для рисования линий\n"
+" -c, --compact-not не сжимать одинаковые поддеревья\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=ТИП раскрашивать процессы по атрибуту\n"
+" (возраст)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids показывать идентификаторы групп процесса;\n"
+" включает -c\n"
+" -G, --vt100 использовать символы рисования линий от VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all подсветить текущий процесс и его предков\n"
+" -H PID,\n"
+" --highlight-pid=PID подсветить процесс PID и его предков\n"
+" -l, --long не обрезать длинные строки\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort сортировать вывод по PID\n"
+" -N тип,\n"
+" --ns-sort=тип сортировать по типу пространства имён\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids показывать идентификаторы процессов (PID); включает -"
+"c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents показывать родителей выбранного процесса\n"
+" -S, --ns-changes показывать переходы пространств имён\n"
+" -t, --thread-names показывать полные имена нитей\n"
+" -T, --hide-threads скрывать нити, показывать только процессы\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes показывать переходы идентификаторов пользователей\n"
+" -U, --unicode использовать символы рисования линий UTF-8 (Юникод)\n"
+" -V, --version показать информацию о версии\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" показывать атрибуты безопасности\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID начинать от указанного PID; по умолчанию 1 (init)\n"
+" ПОЛЬЗОВАТЕЛЬ показать только дерево процессов указанного "
+"пользователя\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "Переменная окружения TERM не установлена\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Не удалось определить характеристики терминала\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "недоступен файл procfs для пространства имён %s\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Неизвестное имя пользователя: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Процесс %d не найден.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Не найдено ни одного процесса.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Нажмите Enter для выхода\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: неизвестный сигнал; %s -l выводит список доступных сигналов.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Использование: killall [-Z КОНТЕКСТ] [-u ПОЛЬЗОВАТЕЛЬ] [ -o ВРЕМЯ ]\n"
+#~ " [ -eIgiqrvw ] [ -s SIGNAL | -СИГНАЛ ] ИМЯ…\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Использование: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N тип ]\n"
+#~ " [ -A | -G | -U ] [ PID | ПОЛЬЗОВАТЕЛЬ ]\n"
+#~ " или: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Использование: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N тип ]\n"
+#~ "Использование: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N тип ]\n"
+#~ " [ -A | -G | -U ] [ PID | ПОЛЬЗОВАТЕЛЬ ]\n"
+#~ " pstree -V\n"
+#~ "Показывает дерево процессов.\n"
+#~ "\n"
+#~ " -a, --arguments показывать аргументы командной строки\n"
+#~ " -A, --ascii использовать ASCII-символы для рисования линий\n"
+#~ " -c, --compact не сжимать одинаковые поддеревья\n"
+#~ " -h, --highlight-all выделять цветом текущий процесс и его предков\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID выделить цветом процесс PID и его предков\n"
+#~ " -g, --show-pgids показывать идентификаторы групп процесса;\n"
+#~ " включает -c\n"
+#~ " -G, --vt100 использовать символы терминала VT100 для рисования "
+#~ "линий\n"
+#~ " -l, --long не обрезать длинные строки\n"
+#~ " -n, --numeric-sort сортировать вывод по PID\n"
+#~ " -N тип,\n"
+#~ " --ns-sort=тип сортировать по типу пространства имён\n"
+#~ " (cgroup, ipc, mnt, net, pid, user, uts)\n"
+#~ " -p, --show-pids показывать идентификаторы процессов (PID); включает "
+#~ "-c\n"
+#~ " -s, --show-parents показывать родителей выбранного процесса\n"
+#~ " -S, --ns-changes показывать переходы пространств имён\n"
+#~ " -t, --thread-names показывать полные имена нитей\n"
+#~ " -T, --hide-threads скрывать нити, показывать только процессы\n"
+#~ " -u, --uid-changes показывать переходы идентификаторов пользователей\n"
+#~ " -U, --unicode использовать символы UTF-8 (Юникод) для рисования "
+#~ "линий\n"
+#~ " -V, --version показать информацию о версии\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Использование: pidof [ -eg ] ИМЯ…\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e требовать полного совпадения для очень длинных имён;\n"
+#~ " игнорировать, если командная строка недоступна\n"
+#~ " -g показывать идентификатор группы вместо идентификатора "
+#~ "процесса\n"
+#~ " -V показать информацию о версии\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
diff --git a/po/sr.gmo b/po/sr.gmo
new file mode 100644
index 0000000..299cbeb
--- /dev/null
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
new file mode 100644
index 0000000..d78a2cf
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,846 @@
+# Serbian translation of psmisc.
+# Copyright © 2020 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2012—2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc-23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2023-02-26 09:04+0100\n"
+"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
+"Language-Team: Serbian <(nothing)>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Gtranslator 41.0\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Употреба: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n РАЗМАК] [-k [-i] [-"
+"СИГНАЛ]] НАЗИВ...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Приказује који процеси користе именоване датотеке, прикључнице, или системе "
+"датотека.\n"
+"\n"
+" -a,--all такође приказује неупотребљене датотеке\n"
+" -i,--interactive пита пре него што убије (занемарено без -k)\n"
+" -I,--inode користи увек и-чворове за поређење датотека\n"
+" -k,--kill убија процесе приступајући именованој датотеци\n"
+" -l,--list-signals наводи називе доступног сигнала\n"
+" -m,--mount приказује све процесе користећи именоване системе\n"
+" датотека или блок уређај\n"
+" -M,--ismountpoint испуњава захтев само ако је НАЗИВ тачка качења\n"
+" -n,--namespace ПРОСТОР тражи у овим просторима назива (датотека, удп, или "
+"тцп)\n"
+" -s,--silent нечујна радња\n"
+" -SIGNAL шаље овај сигнал уместо СИГУБИЈ\n"
+" -u,--user приказује ИБ корисника\n"
+" -v,--verbose опширан излаз\n"
+" -w,--writeonly убија само процесе са правом приступа\n"
+" -V,--version приказује обавештење о издању\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 тражи само ИПв4 прикључнице\n"
+" -6,--ipv6 тражи само ИПв6 прикључнице\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" удп/тцп називе: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (ПСмисц) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Ауторска права © 1993-2022 Вернер Алмесбергер и Крег Смол\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"ПСмисц долази без БИЛО КАКВЕ ГАРАНЦИЈЕ.\n"
+"Ово је слободан софтвер, и можете да га расподељујете\n"
+"под одредбама ГНУ-ове Опште јавне лиценце.\n"
+"Да сазнате више о овоме, погледајте датотеку под називом „COPYING“.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Не могу да отворим „/proc“ директоријум: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Не могу да доделим меморију одговарајућем проку: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Наведени назив датотеке %s не постоји.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Не могу да добијем податке о %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Не могу да решим локални прикључак %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Непознати локални порт АФ %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Не могу да отворим датотеку протокола „%s“: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Наведени назив датотеке „%s“ није прикључна тачка.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: неисправна опција „%s“\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Опција простора назива захтева аргумент."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Неиспрван назив простора назива"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Можете само да користите датотеке са опцијама тачке качења"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Није дата одредница процеса"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "све опције не могу бити коришћене са тихом опцијом."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Не можете да тражите само ИПв4 и само ИПв6 прикључке у исто време"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s КОРИСНИК НАРЕДБА ПРИСТУПА ПИБ-у\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(непознато)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Не могу да добијем податке о датотеци %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Не могу да отворим „/proc/net/unix“: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Да убијем процес %d ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Не могу да убијем процес %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Не могу да отворим мрежни прикључак.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Не могу да пронађем број уређаја прикључка.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Да убијем %s(%s%d) (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Да обавестим %s(%s%d) (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "убијсве: Не могу да добавим УИБ из стања процеса\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "убијсве: Лош регуларни израз: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "убијсве: прескачем делимично поклапање %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Убио сам %s(%s%d) са сигналом %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: нисам пронашао процес\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Употреба: killall [ОПЦИЈА]... [--] НАЗИВ...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact захтева тачно поклапање за врло дуге називе\n"
+" -I,--ignore-case поклапа називе процеса без обзира на величину слова\n"
+" -g,--process-group убија групу процеса уместо процеса\n"
+" -y,--younger-than убија процесе који су млађи од ВРЕМЕНА\n"
+" -o,--older-than убија процесе који су старији од ВРЕМЕНА\n"
+" -i,--interactive тражи потврду пре убијања\n"
+" -l,--list исписује све познате називе сигнала\n"
+" -q,--quiet не исписује замерке\n"
+" -r,--regexp тумачи НАЗИВ као проширени регуларни израз\n"
+" -s,--signal СИГНАЛ шаље овај сигнал уместо СИГТЕРМ\n"
+" -u,--user КОРИСНИК убија само процес(е) радећи као КОРИСНИК\n"
+" -v,--verbose извештава ако је сигнал успешно послат\n"
+" -V,--version приказује обавештење о издању\n"
+" -w,--wait чека док процес не умре\n"
+" -n,--ns ПИБ упоређује процесе који припадају истим просторима\n"
+" назива као ПИБ\n"
+"\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context РЕГИЗР убија само процес(е) који има(ју) контекст\n"
+" (мора да претходи другим аргументима)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Неисправни облик времена"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Не могу да пронађем корисника %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Неиспрван ПИБ назива простора"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Лош регуларни израз: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "убијсве: Највећи број назива је %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "убијсве: %s нема уносе процеса (није прикачено ?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Грешка приликом прикачињања пибу %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (ПСмисц) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Ауторска права © 2007 Трент Вадингтон\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Употреба: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <пиб> [<фд> ..]\n"
+" -8, --eight-bit-clean исписује чисте токове од 8 бита.\n"
+" -n, --no-headers не приказује читај/пиши из фд заглавља.\n"
+" -c, --follow такође осматра све нове подређене процесе.\n"
+" -t, --tgid искаче на свим нитима где се тгиб "
+"изједначава са <пиб>-ом.\n"
+" -d, --duplicates-removed уклања двоструке читај/упиши из излаза.\n"
+" -V, --version исписује податке о издању.\n"
+" -h, --help исписује ову помоћ.\n"
+"\n"
+" Притисните КТРЛ-Ц да зауставите излаз.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Употреба: prtstat [опција] ПИБ ...\n"
+" prtstat -V\n"
+"Исписује податке о процесу\n"
+" -r,--raw Сиров приказ података\n"
+" -V,--version Приказује податке о издању и излази\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (ПСмисц) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Ауторска права © 2009–2022 Крег Смол\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "покренут"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "успаван"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "диск‑спава"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "зомби"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "оцртан"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "остраничен"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "непознато"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Процес: %-14s\t\tСтање: %c (%s)\n"
+"Процесор#: %-3d\t\tТТУ: %s\tНити: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Процес, Група и ИБ-ови Сесије\n"
+" ИБ процеса: %d\t\t ИБ родитеља: %d\n"
+" ИБ групе: %d\t\t ИБ сесије: %d\n"
+" ИБ Т групе: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Неуспеси странице\n"
+" Овај процес (најмањи највећи): %8lu %8lu\n"
+" Подређени процеси (најмањи највећи): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Времена процесора\n"
+" Овај процес (блкио гост корисничког система): %6.2f %6.2f %6.2f "
+"%6.2f\n"
+" Подређени процеси (гост корисничког система): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Меморија\n"
+" Ввеличина: %-10s\n"
+" РСС: %-10s \t\t РСС ограничење: %s\n"
+" Почетак кода: %#-10lx\t\t Крај кода: %#-10lx\n"
+" Почетак стека: %#-10lx\n"
+" Указивач стека (ЕСП): %#10lx\t Указивач уметања (ЕИП): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Планирање\n"
+" Политика: %s\n"
+" Фино: %ld \t\t РТ приоритет: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "Није успело „asprintf“ у „print_stat“.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Процес са пибом %d не постоји.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Не могу да отворим датотеку статистике за пиб %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Не могу да доделим меморију за „proc_info“\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Не могу да прегледам датотеку са подацима"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Неисправна опција"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Морате да обезбедите барем један ПИБ."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"„/proc“ није прикачен, не могу да добавим стање за „/proc/self/stat“.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s је празно (није прикачено ?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Употреба: pstree [-acglpsStTuZ] [ -h | -H ПИБ ] [ -n | -N врста ]\n"
+" [ -A | -G | -U ] [ ПИБ | КОРИСНИК ]\n"
+" или: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Приказује стабло процеса.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments приказује аргументе линије наредби\n"
+" -A, --ascii користи АСКРИ знакове исцртавања линије\n"
+" -c, --compact-not не сажима иста подстабла\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=ВРСТА боји процес према атрибуту\n"
+" (год.)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids приказује иб-ове групе процеса; подразумева „-c“\n"
+" -G, --vt100 користи „VT100“ знакове исцртавања линије\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all истиче текући процес и његове претке\n"
+" -H ПИБ, --highlight-pid=ПИБ\n"
+" истиче тај процес и његове претке\n"
+" -l, --long не крати дуге редове\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort ређа излаз по ПИБ-у\n"
+" -N ВРСТА, --ns-sort=ВРСТА\n"
+" ређа излаз према овој врсти назива\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids приказује ПИБ-ове; подразумева „-c“\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents приказује родитеље изабраног процеса\n"
+" -S, --ns-changes приказује прелазе назива\n"
+" -t, --thread-names приказује целе називе нити\n"
+" -T, --hide-threads скрива нити, приказује само процесе\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes приказује прелазе уиб-а\n"
+" -U, --unicode користи „UTF-8“ (Јуникодне) знакове исцртавања линије\n"
+" -V, --version приказује податке о издању\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" приказује безбедноснe атрибуте\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" ПИБ почиње са овим ПИБ-ом; основни је 1 (init)\n"
+" КОРИСНИК приказује само стабла укорењена у процесима овог корисника\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (ПСмисц) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "ТЕРМ није подешен\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Не могу да добавим могућности терминала\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "процфс датотека за %s простор назива није доступна\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Нема таквог корисничког имена: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Нисам нашао процес %d.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Нисам пронашао процесе.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Притисните „унеси“ да затворите\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: непознат сигнал; %s -l исписује сигнале.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ауторска права © 1993-2021 Вернер Алмесбергер и Крег Смол\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Употреба: killall [ -Z КОНТЕКСТ ] [ -u КОРИСНИК ] [ -y ВРЕМЕ ] [ -o "
+#~ "ВРЕМЕ ] [ -eIgiqrvw ]\n"
+#~ " [ -s СИГНАЛ | -SIGNAL ] НАЗИВ...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Употреба: pstree [-acglpsStTu] [ -h | -H ПИБ ] [ -n | -N врста ]\n"
+#~ " [ -A | -G | -U ] [ ПИБ | КОРИСНИК ]\n"
+#~ " или: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ауторска права © 1993-2019 Вернер Алмесбергер и Крег Смол\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ауторска права © 1993-2014 Вернер Алмесбергер и Крег Смол\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (ipc, mnt, net, pid, user, "
+#~ "uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Употреба: pstree [-acglpsStuZ] [ -h | -H ПИД ] [ -n | -N врста ]\n"
+#~ "Употреба: pstree [-acglpsStu] [ -h | -H ПИД ] [ -n | -N врста ]\n"
+#~ " pstree -V\n"
+#~ "Приказује стабло процеса.\n"
+#~ "\n"
+#~ " -a, --arguments приказује аргументе линије наредби\n"
+#~ " -A, --ascii користи знаке за исцртавање АСКРИ реда\n"
+#~ " -c, --compact не сабија истоветна подстабла\n"
+#~ " -h, --highlight-all истиче текући процес и његовог претходника\n"
+#~ " -H ПИД,\n"
+#~ " --highlight-pid=ПИД истиче овај процес и његовог претходника\n"
+#~ " -g, --show-pgids приказује ибове процесне групе; подразумева „-c“\n"
+#~ " -G, --vt100 користи знаке за исцртавање ВТ100 реда\n"
+#~ " -l, --long не крати дуге редове\n"
+#~ " -n, --numeric-sort ређа излаз према ПИБ-у\n"
+#~ " -N врста,\n"
+#~ " --ns-sort=врста ређа према врсти називног простора (ipc, mnt, net, "
+#~ "pid, user, uts)\n"
+#~ " -p, --show-pids приказује ПИБ-ове; подразумева -c\n"
+#~ " -s, --show-parents приакзује родитеље изабраног процеса\n"
+#~ " -S, --ns-changes приказује преводе називног простора\n"
+#~ " -t, --thread-names приказује пуне називе нити\n"
+#~ " -T, --hide-threads скрива нити, приказује само процесе\n"
+#~ " -u, --uid-changes приказује прелазе уиба\n"
+#~ " -U, --unicode користи знакове за исцртавање УТФ-8 (Уникод) реда\n"
+#~ " -V, --version приказује податке о издању\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Ауторска права (C) 1993-2012 Вернер Алмесбергер и Крег Смол\n"
+#~ "\n"
diff --git a/po/stamp-po b/po/stamp-po
new file mode 100644
index 0000000..9788f70
--- /dev/null
+++ b/po/stamp-po
@@ -0,0 +1 @@
+timestamp
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644
index 0000000..16f08b4
--- /dev/null
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..4776488
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,898 @@
+# Swedish language file for psmisc.
+# Copyright © 2003, 2006, 2007, 2009, 2016, 2018, 2019, 2020, 2022 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Joakim Mared <joakim at bfcom dot se>, 2003.
+# Daniel Nylander <po@danielnylander.se>, 2006, 2007, 2009.
+# Sebastian Rasmussen <sebras@gmail.com>, 2016, 2018, 2019, 2020, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2022-12-08 16:09+0100\n"
+"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
+"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Användning: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n RYMD]\n"
+" [-k [-i] [-SIGNAL]] NAMN…\n"
+" fuser -l\n"
+" fuser -V\n"
+"Visa vilka processer som använder namngivna filer, uttag eller filsystem.\n"
+"\n"
+" -a,--all visa även filer som inte används\n"
+" -i,--interactive fråga innan processen dödas (ignoreras utan -k)\n"
+" -I,--inode använd alltid inoder för att jämföra filer\n"
+" -k,--kill döda processer som använder namngiven fil\n"
+" -l,--list-signals lista tillgängliga signalnamn\n"
+" -m,--mount visa alla processer som använder namngivna filsystem "
+"eller blockenheter\n"
+" -M,--ismountpoint genomför begäran endast om NAMN är en "
+"monteringspunkt\n"
+" -n,--namespace RYMD sök i denna namnrymd (fil, udp, tcp)\n"
+" -s,--silent tyst körning\n"
+" -SIGNAL skicka denna signal istället för SIGKILL\n"
+" -u,--user visa användar-ID\n"
+" -v,--verbose informativ utskrift\n"
+" -w,--writeonly döda bara processer med skrivrättighet\n"
+" -V,--version visa versionsinformation\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 sök endast bland IPv4-uttag (socket)\n"
+" -6,--ipv6 sök endast bland IPv6-uttag (socket)\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" udp/tcp-namn: [lokal_port][,[fjärrvärd][,[fjärrport]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 1993-2022 Werner Almesberger och Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc kommer med ABSOLUT INGEN GARANTI.\n"
+"Detta är fri programvara och du är välkommen att distribuera den under\n"
+"villkoren för GNU General Public License.\n"
+"För mer information om dessa villkor, se filerna kallade COPYING.\n"
+"Följande text är en informell översättning som enbart tillhandahålls\n"
+"i informativt syfte. För alla juridiska tolkningar gäller den engelska "
+"originaltexten.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Kan inte öppna katalogen /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Kan inte allokera minne för matchande proc: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Angivna filnamnet %s finns inte.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Kan inte ta status på %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Kan inte slå upp lokal port %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Okänd AF %d för lokal port\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Kan inte öppna protokollfilen \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Angivet filnamn %s är inte en monteringspunkt.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Ogiltig flagga %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Flagga för namnrymd kräver ett argument."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Ogiltigt namn för namnrymd"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Du kan endast använda filer med monteringspunktsflaggor"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Ingen processpecifikation angiven"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "flagga för alla, -m, kan inte användas med flaggan för tyst, -s."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Du kan inte söka efter endast IPv4- och endast IPv6-uttag samtidigt"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s ANVÄNDARE PID ÅTKOMS KOMMANDO\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(okänd)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Kan inte ta status på fil %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Kan inte öppna /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Döda process %d ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Kunde inte döda process %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Kan inte öppna ett nätverksuttag.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Kan inte hitta uttagets enhetsnummer.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Döda %s(%s%d) ? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Signalera %s(%s%d) ? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Kan inte hämta UID från processtatus\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Felaktigt reguljärt uttryck: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: hoppar över partiell matchning %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Dödade %s(%s%d) med signal %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: ingen process hittades\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Användning: killall [FLAGGA]… [--] NAMN…\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact kräver exakt matchning för väldigt långa namn\n"
+" -I,--ignore-case ingen skillnad på gemener/versaler vid namnmatchning\n"
+" -g,--process-group döda processgrupp istället för process\n"
+" -y,--younger-than döda processer yngre än TID\n"
+" -o,--older-than döda processer äldre än TID\n"
+" -i,--interactive fråga efter bekräftelse före dödandet\n"
+" -l,--list lista alla kända signalnamn\n"
+" -q,--quiet skriv inte ut klagomål\n"
+" -r,--regexp tolka NAMN som ett utökat reguljärt uttryck\n"
+" -s,--signal SIGNAL skicka signal istället för SIGTERM\n"
+" -u,--user ANVÄNDARE döda endast process(er) som körs som ANVÄNDARE\n"
+" -v,--verbose rapportera om signalen blev skickad korrekt\n"
+" -V,--version visa versionsinformation\n"
+" -w,--wait vänta tills processerna är döda\n"
+" -n,--ns PID matcha processer som tillhöl samma namnrymd\n"
+" som PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP döda endast process(er) som har kontext\n"
+" (måste föregå andra argument)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Ogiltigt tidsformat"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Kan inte hitta användare %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Ogiltig PID för namnrymd"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Felaktigt reguljärt uttryck: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Maximalt antal namn är %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s saknar processposter (inte monterad?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Fel vid koppling till pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright © 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Användning: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean skriv ut 8-bitars rena strömmar.\n"
+" -n, --no-headers visa inte läs/skriv från fd-huvuden.\n"
+" -c, --follow titta även på alla nya barnprocesser.\n"
+" -t, --tgid titta på alla trådar där tgid är lika med "
+"<pid>.\n"
+" -d, --duplicates-removed Ta bort dubbletter av läs/skriv från "
+"utdata.\n"
+" -V, --version visar versionsinformation.\n"
+" -h, --help visar den här hjälpen.\n"
+"\n"
+" Tryck CTRL-C för att avsluta utdata.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Användning: prtstat [flaggor] PID …\n"
+" prtstat -V\n"
+"Skriv ut information om en process\n"
+" -r,--raw Rå visning av information\n"
+" -V,--version Visa versionsinformation och avsluta\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 2009-2022 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "kör"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "sover"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "disk sover"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "zombie"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "spårad"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "sidväxling"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "okänd"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Process: %-14s\t\tTillstånd: %c (%s)\n"
+" Proc.: %-3d\t\tTTY: %s\tTrådar: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Process-, Grupp- och Sessions-ID\n"
+" Process-ID: %d\t\t Överordnat ID: %d\n"
+" Group-ID: %d\t\t Sessions-ID: %d\n"
+" T Group-ID: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Sidfel\n"
+" Denna Process (lägre övre): %8lu %8lu\n"
+" Barnprocesser (lägre övre): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU-tider\n"
+" Denna process (användare system gäst blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Barnprocesser (användare system gäst): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Minne\n"
+" V-storlek: %-10s\n"
+" RSS: %-10s \t\t RSS-begränsning: %s\n"
+" Kodstart: %#-10lx\t\t Kodslut: %#-10lx\n"
+" Stackstart: %#-10lx\n"
+" Stackpekare (ESP): %#10lx\t Instr.-pekare (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Schemaläggning\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT-prioritet: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf i print_stat misslyckades.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Någon process med pid %d finns inte.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Kan inte öppna stat-fil för pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr ""
+"Kan inte allokera minne för proc_info\n"
+"\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Kan inte genomsöka stat-fil"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Ogiltig flagga"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Du måste tillhandahålla minst en PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc är inte monterad, kan inte ta status på /proc/self/stat.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s är tom (inte monterad?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Användning: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N typ ]\n"
+" [ -A | -G | -U ] [ PID | ANVÄNDARE ]\n"
+" eller: pstree -V\n"
+"\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Visa ett träd av processer.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments visa kommandoradsargument\n"
+" -A, --ascii använd ASCII-linjeritningstecken\n"
+" -c, --compact-not komprimera inte identiska underträd\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=TYP färglägg process efter attribut\n"
+" (ålder)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids visa processgrupps-ID:n; medför -c\n"
+" -G, --vt100 använd VT100-linjeritningstecken\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all markera aktuell process och dess förfäder\n"
+" -H PID, --highlight-pid=PID\n"
+" markera denna process och dess förfäder\n"
+" -l, --long korta inte ner långa rader\n"
+"\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort sortera utdata efter PID\n"
+" -N TYP, --ns-sort=TYP\n"
+" sortera utdata efter namnrymd\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids visa PID:ar; medför -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents visa överordnade processer för vald process\n"
+" -S, --ns-changes visa namnrymdsövergångar\n"
+" -t, --thread-names visa fullständiga trådnamn\n"
+" -T, --hide-threads göm trådar, visa endast processer\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes visa uid-övergångar\n"
+" -U, --unicode använd UTF-8-linjeritningstecken (Unicode)\n"
+" -V, --version visa versionsinformation\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" visa säkerhetsattribut\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID starta vid denna PID; standardvärde är 1 (init)\n"
+" ANVÄNDARE visa endast träd med denna användares\n"
+" processer som rot\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM är inte inställd\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Kan inte ta reda på terminalens förmågor\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "procfs-fil för %s-namnrymd inte tillgänglig\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Ingen sådan användare: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Process %d hittades inte.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Inga processer hittades.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Tryck Retur för att stänga\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: okänd signal; %s -l listar signaler.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2021 Werner Almesberger och Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Användning: killall [-Z KONTEXT] [-u ANVÄNDARE] [-y TID] [ -o TID ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAMN...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Användning: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N typ ]\n"
+#~ " [ -A | -G | -U ] [ PID | ANVÄNDARE ]\n"
+#~ " eller: pstree -V\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2019 Werner Almesberger och Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Användning: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N typ ]\n"
+#~ "Användning: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N typ ]\n"
+#~ " [ -A | -G | -U ] [ PID | ANVÄNDARE ]\n"
+#~ " pstree -V\n"
+#~ "Visa ett träd av processer.\n"
+#~ "\n"
+#~ " -a, --arguments visa kommandoradsargument\n"
+#~ " -A, --ascii använd ASCII-linjeritningstecken\n"
+#~ " -c, --compact komprimera inte identiska underträd\n"
+#~ " -h, --highlight-all markera aktuell process och dess förfäder\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID markera denna process och dess förfäder\n"
+#~ " -g, --show-pgids visa processgrupp ID:n; medför -c\n"
+#~ " -G, --vt100 använd VT100-linjeritningstecken\n"
+#~ " -l, --long korta inte ner långa rader\n"
+#~ " -n, --numeric-sort sortera utdata efter PID\n"
+#~ " -N typ,\n"
+#~ " --ns-sort=typ sortera utdata efter namnrymd (cgroup, ipc, mnt, "
+#~ "net,\n"
+#~ " pid, user, uts)\n"
+#~ " -p, --show-pids visa PID:ar; medför -c\n"
+#~ " -s, --show-parents visa överordnade processer för vald process\n"
+#~ " -S, --ns-changes visa namnrymdsövergångar\n"
+#~ " -t, --thread-names visa fullständiga trådnamn\n"
+#~ " -T, --hide-threads göm trådar, visa endast processer\n"
+#~ " -u, --uid-changes visa uid-övergångar\n"
+#~ " -U, --unicode använd UTF-8-linjeritningstecken (Unicode)\n"
+#~ " -V, --version visa versionsinformation\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2014 Werner Almesberger och Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2009 Werner Almesberger och Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Användning: pidof [-eg] NAMN...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e kräv exakt matchning för långa namn;\n"
+#~ " hoppa över om kommandoraden är otillgänglig\n"
+#~ " -g visa processgruppens ID istället för processens ID\n"
+#~ " -V visa versionsinformation\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2005 Werner Almesberger och Craig Small\n"
+#~ "\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr ""
+#~ "Du kan inte använda monterade och monteringspunktflaggorna samtidigt"
+
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr "Kan inte ta status på monteringspunkten %s: %s\n"
+
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "Kan inte öppna /etc/mtab: %s\n"
+
+#~ msgid "Internal error: MAX_DEPTH not big enough.\n"
+#~ msgstr "Internt fel: MAX_DEPTH är inte tillräckligt stor.\n"
+
+#~ msgid "Cannot open protocol file \"%s\": %s"
+#~ msgstr "Kan inte öppna protokollfil \"%s\": %s"
diff --git a/po/uk.gmo b/po/uk.gmo
new file mode 100644
index 0000000..444bdee
--- /dev/null
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000..00712ee
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,880 @@
+# Ukrainian translation for psmisc.
+# Copyright (C) 2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Yuri Chornoivan <yurchor@ukr.net>, 2011-2022, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc-23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-13 17:53+0200\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 23.04.1\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Користування: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n ПРОСТІР]\n"
+" [-k [-i] [-СИГНАЛ]] НАЗВА...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Показує, які процеси користуються вказаними файлами, сокетами або файловими "
+"системами.\n"
+"\n"
+" -a,--all показувати також невикористані файли\n"
+" -i,--interactive запитувати перед завершенням роботи процесу "
+"(ігнорується без -k)\n"
+" -k,--kill завершити роботу процесів, які користуються "
+"вказаним файлом\n"
+" -l,--list-signals показати список доступних назв сигналів\n"
+" -m,--mount показати всі процеси, що використовують вказані "
+"файлові системи\n"
+" або блоковий пристрій\n"
+" -M,--ismountpoint виконати запит, лише якщо НАЗВА є точкою "
+"монтування\n"
+" -n,--namespace ПРОСТІР шукати лише у вказаному просторі назв (file, udp "
+"або tcp)\n"
+" -s,--silent не виводити повідомлень\n"
+" -СИГНАЛ надіслати вказаний сигнал замість SIGKILL\n"
+" -u,--user показувати ідентифікатори користувачів\n"
+" -v,--verbose виводити дані докладно\n"
+" -w,--writeonly завершити роботу лише процесів з доступом на запис\n"
+" -V,--version показати дані щодо версії\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 шукати лише серед сокетів IPv4\n"
+" -6,--ipv6 шукати лише серед сокетів IPv6\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" назви udp/tcp: [локлаьний_порт][,[вузол_rmt][,[порт_rmt]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"© Werner Almesberger та Craig Small, 1993–2024\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"Щодо PSmisc вам НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.\n"
+"Це вільне програмне забезпечення, ми будемо раді, якщо ви поширюватимете\n"
+"його відповідно до умов Загальної громадської ліцензії GNU (GPL).\n"
+"Щоб дізнатися більше про це, ознайомтеся з файлом з назвою COPYING.\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Не вдалося відкрити каталог /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Не вдалося отримати область пам’яті для відповідного процесу: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Файл з вказаною назвою, %s, не існує.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Не вдалося отримати дані за допомогою stat %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Не вдалося визначити локальний порт %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Невідомий локальний порт AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Не вдалося відкрити файл протоколу «%s»: %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Вказана назва файла, %s, не є точкою монтування.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: некоректний параметр, %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Параметр простору назв слід вказувати з аргументом."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Некоректна назва простору назв"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Файли можна використовувати лише разом з параметрами точки монтування"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Не вказано специфікації процесу"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "параметр «all» не можна використовувати разом з параметром «silent»."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr ""
+"Одночасно можна виконувати пошук лише для сокетів IPv4 або сокетів IPv6"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s КОРИСТУВАЧ PID ДОСТУП КОМАНДА\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(невідомий)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Не вдалося обробити файл за допомогою stat %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Не вдалося відкрити /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Завершити процес %d? (y (так) або N (ні)) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Не вдалося завершити роботу процесу %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Не вдалося відкрити сокет мережі.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Не вдалося визначити номер пристрою сокета.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Завершити роботу %s(%s%d)? (y (так) або N (ні)) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Надіслати сигнал %s(%s%d)? (y (так) або N (ні)) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: не вдалося отримати UID з даних щодо стану процесу\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: помилковий формальний вираз: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: пропускаємо частковий відповідник %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Завершено роботу %s(%s%d) за допомогою сигналу %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: процес не знайдено\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Використання: killall [ПАРАМЕТР]... [--] НАЗВА...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact вимагати повної відповідності для дуже довгих назв\n"
+" -I,--ignore-case встановлювати відповідність без врахування регістру "
+"символів\n"
+" -g,--process-group завершити роботу групи процесів, а не окремого "
+"процесу\n"
+" -y,--younger-than завершити роботу процесів, чий вік не перевищує "
+"вказаного часу\n"
+" -o,--older-than завершити роботу процесів, чий вік перевищує вказаний "
+"час\n"
+" -i,--interactive просити підтвердження щодо завершення роботи\n"
+" -l,--list показати список всіх відомих назв сигналів\n"
+" -q,--quiet не виводити повідомлень\n"
+" -r,--regexp вважати параметр НАЗВА формальним виразом\n"
+" -s,--signal СИГНАЛ надіслати вказаний сигнал замість SIGTERM\n"
+" -u,--user КОРИСТУВАЧ завершити роботу лише процесів КОРИСТУВАЧа\n"
+" -v,--verbose повідомляти про успішне надсилання сигналу\n"
+" -V,--version показати дані щодо версії\n"
+" -w,--wait чекати на завершення процесів\n"
+" -n,--ns PID знайти процеси, які належать до тих самих просторів "
+"назв,\n"
+" що і PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP завершити роботу лише процесів з відповідним "
+"контекстом\n"
+" (слід вказувати перед іншими аргументами)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Некоректний формат визначення часу"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Не вдалося знайти користувача %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "Некоректний PID простору назв"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Помилковий формальний вираз: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: максимальною кількістю назв є %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s не містить записів процесів (не змонтовано?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Помилка під час спроби приєднатися до pid %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"© Trent Waddington, 2007\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Використання: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean виводити 8-бітові очищені потоки даних.\n"
+" -n, --no-headers мне показувати читання/запис з заголовків дескрипторів "
+"файлів.\n"
+" -c, --follow зондувати будь-які нові дочірні процеси.\n"
+" -t, --tgid вибрати усі потоки обробки, де tgid дорівнює <pid>.\n"
+"\n"
+" -d, --duplicates-removed вилучити дублікати записів читання/запису з "
+"виведених даних.\n"
+" -V, --version вивести дані щодо версії.\n"
+" -h, --help вивести ці довідкові дані.\n"
+"\n"
+" Натисніть Ctrl-C, щоб перервати виведення даних.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Використання: prtstat [параметри] PID ...\n"
+" prtstat -V\n"
+"Вивести дані що вказаного процесу\n"
+" -r,--raw показати дані без обробки\n"
+" -V,--version показати дані щодо версії і завершити роботу\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"© Craig Small, 2009–2024\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "працює"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "спить"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "спить на диску"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "зомбі"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "трасування"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "гортання"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "невідомий"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Процес: %-14s\t\tСтан: %c (%s)\n"
+" Проц.: %-3d\t\tTTY: %s\tПотоки: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Ідентифікатори процесу, групи і сеансу\n"
+" Ід. процесу: %d\t\t Ід. батьків.: %d\n"
+" Ід. групи: %d\t\t Ід. сеансу: %d\n"
+" T Ід. групи: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Промахи за сторінками\n"
+" Цей процес (мін. макс.): %8lu %8lu\n"
+" Доч. процеси (мін. макс.): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Цикли процесора\n"
+" Цей процес (користувач система гість blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Дочірній процес (користувач система гість): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Пам’ять\n"
+" Вірт. розмір: %-10s\n"
+" RSS: %-10s \t\t Обмеження RSS: %s\n"
+" Поч. коду: %#-10lx\t\t Кінець коду: %#-10lx\n"
+" Поч. стека: %#-10lx\n"
+" Вказівник стека (ESP): %#10lx\t Вказівник команди (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Планування\n"
+" Правила: %s\n"
+" Поступливість: %ld \t\t Пріоритет РЧ: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "Помилка asprintf у print_stat.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Процесу з pid %d не існує.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Не вдалося відкрити файл stat для процесу з pid %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Не вдалося отримати область пам’яті для proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Не вдалося виконати сканування файла статистичних даних"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Некоректний параметр"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Вам слід вказати принаймні одне значення PID."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc не змонтовано, виконання обробки /proc/self/stat неможливе.\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s є порожнім (не змонтовано?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Користування: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N тип ]\n"
+" [ -A | -G | -U ] [ PID | КОРИСТУВАЧ ]\n"
+" або: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Показати ієрархію процесів.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments показати аргументи командного рядка\n"
+" -A, --ascii використати символи для малювання ліній ASCII\n"
+" -c, --compact-not не стискати ідентичні підлеглі ієрархії\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=ТИП розфарбувати процеси за атрибутом\n"
+" (вік)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids показати ідентифікатори груп процесів; неявно "
+"використовує -c\n"
+" -G, --vt100 скористатися символами для малювання ліній VT100\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all підсвітити поточний процес і його попередники\n"
+" -H PID, --highlight-pid=PID\n"
+" підсвітити вказаний процес та його попередники\n"
+" -l, --long не обрізати довгі рядки\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort упорядкувати виведені дані за PID\n"
+" -N TYPE, --ns-sort=ТИП\n"
+" упорядкувати виведені дані за цим типом простору назв\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids показати PID; неявно використовує -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents показати батьківські процеси вибраного процесу\n"
+" -S, --ns-changes показати переходи просторів назв\n"
+" -t, --thread-names показати назви потоків виконання повністю\n"
+" -T, --hide-threads приховати потоки виконання, показати лише процеси\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes показати переходи uid\n"
+" -U, --unicode використовувати символи малювання ліній UTF-8 "
+"(Unicode)\n"
+" -V, --version вивести дані щодо версії\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" вивести атрибути захисту\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID розпочати з вказаного PID; типовим початковим значенням є 1 "
+"(init)\n"
+" КОРИСТУВАЧ показати лише ієрархії з кореневими процесами цього "
+"користувача\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "Не встановлено змінної TERM\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Не вдалося отримати дані щодо можливостей термінала\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "файл procfs для простору назв %s недоступний\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Користувача з таким іменем не існує: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Процес %d не знайдено.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Не знайдено жодного процесу.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Натисніть Enter, щоб закрити.\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr ""
+"%s: невідомий сигнал; щоб отримати список сигналів віддайте команду %s -l .\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "© Werner Almesberger та Craig Small, 1993–2021\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Використання: killall [-Z КОНТЕКСТ] [-u КОРИСТУВАЧ] [ -y ЧАС ] [ -o ЧАС ] "
+#~ "[ -eIgiqrvw ]\n"
+#~ " [ -s СИГНАЛ | -СИГНАЛ ] НАЗВА...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "Користування: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N тип ]\n"
+#~ " [ -A | -G | -U ] [ PID | КОРИСТУВАЧ ]\n"
+#~ " або: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "© Werner Almesberger та Craig Small, 1993–2019\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Користування: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N тип ]\n"
+#~ "Користування: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N тип ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Показати ієрархію процесів.\n"
+#~ "\n"
+#~ " -a, --arguments показати аргументи командного рядка\n"
+#~ " -A, --ascii використовувати для малювання ліній символи ASCII\n"
+#~ " -c, --compact не ущільнювати ідентичні гілки ієрархії\n"
+#~ " -h, --highlight-all позначити поточний процес та його дочірні процеси\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID позначити вказаний процес та його дочірні процеси\n"
+#~ " -g, --show-pgids показати ідентифікатори груп процесів; додається -"
+#~ "c\n"
+#~ " -G, --vt100 використовувати символи малювання ліній VT100\n"
+#~ " -l, --long не обрізати довгі рядки\n"
+#~ " -n, --numeric-sort впорядкувати дані за PID\n"
+#~ " -N тип,\n"
+#~ " --ns-sort=тип впорядкувати за типами просторів назв (cgroup, ipc, "
+#~ "mnt,\n"
+#~ " net, pid, user, "
+#~ "uts)\n"
+#~ " -p, --show-pids показати PID; додається -c\n"
+#~ " -s, --show-parents показати основні процеси вибраного процесу\n"
+#~ " -S, --ns-changes показати переходи просторів назв\n"
+#~ " -t, --thread-names показати назви потоків повністю\n"
+#~ " -T, --hide-threads приховати потоки, показати лише процеси\n"
+#~ " -u, --uid-changes показати переходи uid\n"
+#~ " -U, --unicode використовувати символи малювання ліній UTF-8 "
+#~ "(Unicode)\n"
+#~ " -V, --version показати дані щодо версії програми\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "© Werner Almesberger та Craig Small, 1993–2014\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2012 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "© Werner Almesberger та Craig Small, 1993–2012\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Використання: pidof [ -eg ] НАЗВА...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e вимагати повної відповідності для дуже довгих назв;\n"
+#~ " пропустити, якщо не вдається визначити рядок команди\n"
+#~ " -g показувати ідентифікатор групи процесу замість ідентифікатора "
+#~ "процесу\n"
+#~ " -V показати дані щодо версії\n"
+#~ "\n"
diff --git a/po/vi.gmo b/po/vi.gmo
new file mode 100644
index 0000000..961ec40
--- /dev/null
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000..78c7d7b
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,857 @@
+# Vietnamese translation for PSmisc.
+# Bản dịch tiếng Việt cho PSmisc.
+# Copyright © 2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# Clytie Siddall <clytie@riverland.net.au>, 2005, 2006, 2007, 2008, 2009, 2010.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2024.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-17 09:03+0700\n"
+"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
+"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Gtranslator 42.0\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"Cách dùng: fuser [ -fMuvw ] [-a|-s] [-4|-6] [-c|-m|-n KHOẢNG]\n"
+" [-k [-i] [-TÍN_HIỆU]] TÊN…\n"
+" fuser -l\n"
+" fuser -V\n"
+"Hiển thị những tiến trình nào đang dùng những tập tin, ổ cắm hay hệ thống "
+"tập tin có tên đưa ra.\n"
+"\n"
+" -a,--all cũng hiển thị các tập tin không dùng\n"
+" -i,--interactive hỏi trước khi buộc kết thúc (bị bỏ qua nếu không có "
+"\"-k\")\n"
+" -I,--inode luôn dùng nút để so sánh các tập tin\n"
+" -k,--kill buộc kết thúc mỗi tiến trình đang truy cập đến tập "
+"tin có tên đưa ra\n"
+" -l,--list-signals liệt kê những tên tín hiệu sẵn có\n"
+" -m,--mount hiển thị tất cả các tiến trình đang sử dụng\n"
+" những hệ thống tập tin hay thiết bị khối\n"
+" -M,--ismountpoint đáp ứng chỉ khi TÊN là một điểm gắn (moutpoint)\n"
+" -n,--namespace KHOẢNG tìm kiếm trong miền tên này (file, udp hay tcp)\n"
+" -s,--silent không xuất chi tiết\n"
+" -SIGNAL gửi tín hiệu này thay cho SIGKILL\n"
+" -u,--user hiển thị các mã người dùng (UID)\n"
+" -v,--verbose kết xuất chi tiết\n"
+" -w,--writeonly chỉ buộc chấm dứt những tiến trình mà có quyền ghi\n"
+" -V,--version hiển thị thông tin về phiên bản\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 chỉ tìm kiếm ổ cắm kiểu IPv4\n"
+" -6,--ipv6 chỉ tìm kiếm ổ cắm kiểu IPv6\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr " Các tên udp/tcp: [cổng_cục_bộ][,[máy_chủ][,[cổng_máy_chủ]]]\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Tác quyền © năm 1993-2024 của Werner Almesberger và Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc KHÔNG BẢO ĐẢM GÌ CẢ.\n"
+"Đây là phần mềm tự do, và bạn có thể phân phối nó với điều kiện của\n"
+"Giấy Phép Công của GNU (GPL).\n"
+"Để tìm thấy thông tin thêm thì hãy xem tập tin có tên COPYING (Giấy phép)\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "Không thể mở thư mục /proc: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "Không thể cấp phát bộ nhớ cho tiến trình khớp: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "Tên tập tin đã cho %s không tồn tại.\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "Không thể lấy các thông tin về %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "Không tìm thấy tên cổng cục bộ %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "Không biết cổng cục bộ AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "Không thể mở tập tin giao thức \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "Tên tập tin đã cho %s không phải là một điểm gắn.\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s: Tùy chọn %s không hợp lệ\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "Tùy chọn miền tên cần đến một đối số."
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "Tên miền tên không hợp lệ"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "Bạn có thể sử dụng tập tin chỉ với tùy chọn điểm_lắp"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "Chưa nhập đặc tả tiến trình"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "tất cả các tùy chọn không cho phép bạn dùng với tùy chọn \"im lặng\"."
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "Không cho phép bạn tìm kiếm ổ cắm kiểu cả IPv4 lẫn IPv6 đều đồng thời"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s NGƯỜI_DÙNG PID TRUY_CẬP LỆNH\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(không hiểu)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "Không thể lấy các thông tin về tập tin %s: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "Không thể mở thư mục /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "Có buộc kết thúc tiến trình %d không? (y/N) (có/không) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "Không thể buộc kết thúc tiến trình %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "Không thể mở một ổ cắm mạng.\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "Không tìm thấy số hiệu thiết bị ổ cắm.\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "Có buộc kết thúc %s(%s%d) không? (c/K) (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "Tín hiệu %s(%s%d) không? (y/N)(c/K) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: Không thể lấy UID từ trạng thái của tiến trình\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: Biểu thức chính quy sai: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: Bỏ qua khớp một phần %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "Mới buộc kết thúc %s(%s%d) với tín hiệu %d\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: không tìm thấy tiến trình\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "Cách dùng: killall [ TÙY_CHỌN ]… [--] TÊN…\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+" -e,--exact yêu cầu khớp chính xác với mọi tên rất dài\n"
+" -I,--ignore-case không phân biệt HOA/thường khi khớp tên tiến trình\n"
+" -g,--process-group buộc kết thúc nhóm tiến trình thay thế tiến trình\n"
+" -y,--younger-than buộc kết thúc mỗi tiến trình mới hơn THỜI_GIAN\n"
+" -o,--older-than buộc kết thúc mỗi tiến trình cũ hơn THỜI_GIAN\n"
+" -i,--interactive xin xác nhận trước khi buộc kết thúc\n"
+" -l,--list liệt kê mọi tên tín hiệu đã biết\n"
+" -q,--quiet không hiển thị lời than phiền (_im_)\n"
+" -r,--regexp giải thích TÊN là biểu thức chính quy mở rộng\n"
+" -s,--signal TÍN_HIỆU gửi tín hiệu này thay thế SIGTERM\n"
+" -u,--user NG_DÙNG buộc kết thúc chỉ những tiến trình đang chạy\n"
+" dưới tư cách người dùng này\n"
+" -v,--verbose thông báo khi đã gửi tín hiệu thành công\n"
+" -V,--version hiện thông tin phiên bản của chương trình\n"
+" -w,--wait đợi tiến trình kết thúc\n"
+" -n,--ns PID khớp mẫu tiết trình cái mà thuộc về cùng một không\n"
+" gian tên với PID\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context BIỂU_THỨC_CHÍNH _QUY chỉ buộc kết thúc những tiến trình\n"
+" có ngữ cảnh (phải đi trước các đối số khác)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "Định dạng thời gian không hợp lệ"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "Không tìm thấy người dùng %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "IID không gian tên không hợp lệ"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "Biểu thức chính quy sai: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: Số lượng tên tối đa là %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s thiếu các mục tuyến trình (đã gắn chưa?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "Gặp lỗi khi đính kèm đến PID %i\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Tác quyền © năm 2007 của Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"Cách dùng: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean xuất luồng dữ liệu sạch 8 bít.\n"
+" -n, --no-headers không hiển thị đọc/viết từ phần đầu fd.\n"
+" -c, --follow xem bất kỳ tiến trình con mới nào.\n"
+" -t, --tgid xem tất cả các tiến trình chỗ mà tgid bằng "
+"<pid>.\n"
+" -d, --duplicates-removed gỡ bỏ đọc/viết trùng lặp ra khỏi kết xuất.\n"
+" -V, --version hiển thị thông tin về phiên bản.\n"
+" -h, --help hiển thị trợ giúp này.\n"
+"\n"
+" Bấm tổ hợp phím CTRL-C để kết thúc.\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"Cách dùng: prtstat [tùy_chọn…] PID …\n"
+" prtstat -V\n"
+"(PID là mã số tiến trình)\n"
+"\n"
+"In ra thông tin về một tiến trình nào đó\n"
+" -r,--raw Hiển thị thông tin dạng thô\n"
+" -V,--version Hiển thị thông tin về phiên bản rồi thoát\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Tác quyền © năm 2009-2024 của Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "đang chạy"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "đang ngủ"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "đĩa ngủ"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "ma"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "được theo dõi"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "đang dàn trang"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "không rõ"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"Tiến trình: %-14s\t\tTình trạng: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tTuyến trình: %ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"Mã số cho tiến trình, nhóm và phiên làm việc\n"
+" Mã số tiến trình: %d\t Mã số cha mẹ: %d\n"
+" Mã số nhóm: %d\tMã số phiên làm việc: %d\n"
+" Mã số nhóm T: %d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"Sai trang\n"
+" Tiến trình này\t(nhỏ lớn): %8lu %8lu\n"
+" Tiến trình con\t(nhỏ lớn): %8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"Thời gian sử dụng CPU\n"
+" Tiến trình này (ngdùng hệ khách khốiVR): %6.2f %6.2f %6.2f %6.2f\n"
+" Tiến trình con (ngdùng hệ khách): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"Bộ nhớ\n"
+" Cỡ ảo: %-10s\n"
+" RSS: %-10s\t\t Giới hạn RSS: %s\n"
+" Đầu mã: %#-10lx\t\t Cuối mã: %#-10lx\n"
+" Đầu ngăn xếp: %#-10lx\n"
+" Con trỏ ngăn xếp (ESP): %#10lx\t Con trỏ thể hiện (EIP): %#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"Định thời\n"
+" Chính sách: %s\n"
+" Mức ưu tiên: %ld \t\t Mức ưu tiên RT: %ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "asprintf trong print_stat bị lỗi.\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "Tiến trình có PID %d không tồn tại.\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "Không thể mở tập tin thống kê về PID %d (%s)\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "Không thể cấp phát bộ nhớ cho proc_info\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "Không thể mở quét tập tin thống kê"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "Tùy chọn không hợp lệ"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "Phải cung cấp ít nhất một PID (mã số tiến trình)."
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr ""
+"Chưa gắn \"/proc\" thì không thể lấy thống kê về \"/proc/self/stat\".\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s trống rỗng (đã gắn chưa?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"Các dùng: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N kiểu ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" hoặc: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"Hiển thị một cây các tiến trình.\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments hiển thị tham số dòng lệnh\n"
+" -A, --ascii dùng chữ cái ASCII để vẽ dòng\n"
+" -c, --compact-not đừng nén gọn các cây con thụt đầu dòng\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=KIỂU tô màu tiến trình theo thuộc tính\n"
+" (age)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids hiển thị id nhóm tiến trình; tương tự -c\n"
+" -G, --vt100 dùng VT100 để vẽ dòng ký tự\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all tô sáng tiến trình hiện tại và con cháu của nó\n"
+" -H PID, --highlight-pid=PID\n"
+" tô sáng tiến trình này và các con cháu của nó\n"
+" -l, --long đừng cắt ngắn các dòng dài\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort sắp xếp đầu ra theo PID\n"
+" -N KIỂU, --ns-sort=KIỂU\n"
+" sắp xếp đầu ra theo kiểu của không gian tên này\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids hiển thị các PID; cùng tác dụng với -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents hiển thị cha mẹ của tiến trình được chọn\n"
+" -S, --ns-changes hiển thị các chuyển đổi không gian tên\n"
+" -t, --thread-names hiển thị đầy đủ các tên tuyến trình\n"
+" -T, --hide-threads ẩn tuyến trình, chỉ hiện tiến trình\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes hiển thị các thay đổi uid\n"
+" -U, --unicode dùng UTF-8 (Unicode) để vẽ dòng ký tự\n"
+" -V, --version hiển thị thông tin phiên bản\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z --security-context\n"
+" hiển thị thuộc tính bảo mật\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID bắt đầu ở PID này; mặc định là 1 (init)\n"
+" NGƯỜI_DÙNG hiển thị chỉ những cây có gốc là tiến trình của người dùng này\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "Chưa đặt TERM\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "Không thể lấy khả năng của thiết bị cuối\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "tập tin procfs cho không gian tên %s không sẵn có\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "Không có tên người dùng như vậy: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "Không tìm thấy tiến trình %d.\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "Không tìm thấy tiến trình.\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "Bấm phím Enter để đóng\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr ""
+"%s: không hiểu tín hiệu; câu lệnh \"%s -l\" giúp bạn liệt kê các tín hiệu.\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Tác quyền © năm 1993-2021 của Werner Almesberger và Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "Cách dùng: killall [ -Z NGỮ_CẢNH ] [ -u NGƯỜI_DÙNG ] [ -y GIỜ ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s TÍN_HIỆU | -TÍN_HIỆU] TÊN…\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "Cách dùng: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N kiểu ]\n"
+#~ "Cách dùng: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N kiểu ]\n"
+#~ " [ -A | -G | -U ] [ PID | NGƯỜI_DÙNG]\n"
+#~ " pstree -V\n"
+#~ "\n"
+#~ "Hiển thị các tiến trình ở dạng cây.\n"
+#~ "\n"
+#~ " -a, --arguments hiển thị các đối số dòng lệnh\n"
+#~ " -A, --ascii dùng các ký tự ASCII để vẽ đường kẻ\n"
+#~ " -c, --compact đừng kết lại các cây phụ giống nhau\n"
+#~ " -h, --highlight-alt tô sáng tiến trình đang chạy và các tiến trình cha "
+#~ "mẹ\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID tô sáng tiến trình này và các tiến trình cấp trên\n"
+#~ " -g, --show-pgids hiển thị id nhóm tiến trình; ngầm sử dụng -c\n"
+#~ " -G, --vt100 dùng các ký tự VT100 để vẽ đường kẻ\n"
+#~ " -l, --long đừng cắt ngắn dòng dài\n"
+#~ " -n, --numeric-sort sắp xếp kết xuất theo PID (mã số tiến trình)\n"
+#~ " -N type,\n"
+#~ " --ns-sort=kiểu sắp xếp theo không gian tên (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids hiển thị các PID; ngầm sử dụng -c\n"
+#~ " -s, --show-parents hiển thị cha mẹ của tiến trình đã chọn\n"
+#~ " -S, --ns-changes hiển thị sự chuyển tiếp không gian tên\n"
+#~ " -t, --thread-names hiển thị tên tuyến trình đầy đủ\n"
+#~ " -T, --hide-threads ẩn các tuyến trình, chỉ hiển thị tiến trình\n"
+#~ " -u, --uid-changes hiển thị các sự chuyển tiếp UID (mã số người dùng)\n"
+#~ " -U, --unicode dùng các ký tự thuộc bảng mã UTF-8 (Unicode) để vẽ "
+#~ "đường kẻ\n"
+#~ " -V, --version hiển thị thông tin về phiên bản\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2014 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Tác quyền © năm 1993-2014 của Werner Almesberger và Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Tác quyền © 1993-2009 Werner Almesberger và Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Cách sử dụng: pidof [ -eg ] TÊN …\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e cần đến điều khớp _chính xác_ với mọi tên rất dài\n"
+#~ "\tbỏ qua nếu không có dòng lệnh sẵn sàng\n"
+#~ " -g hiện ID của _nhóm_ tiến trình thay thế ID tiến trình\n"
+#~ " -V hiện thông tin _phiên bản_\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2005 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bản quyền © 1993-2005 Werner Almesberger và Craig Small\n"
+#~ "\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644
index 0000000..00655fe
--- /dev/null
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..2bbe6ad
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,864 @@
+# Chinese translations for psmisc package / psmisc 软件包的简体中文翻译.
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+# LI Daobing <lidaobing@gmail.com>, 2007.
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2009, 2013, 2015.
+# Mingye Wang <arthur200126@gmail.com>, 2015.
+# Boyuan Yang <073plan@gmail.com>, 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.7-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2024-02-14 10:56+0800\n"
+"Last-Translator: Wenbin Lv <wenbin816@gmail.com>\n"
+"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
+
+# -c 已挂载的文件系统
+# -f 此选项被悄悄忽略(为了 POSIX 兼容性)
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"用法:fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n 命名空间]\n"
+" [-k [-i] [-信号]] 名字...\n"
+" fuser -l\n"
+" fuser -V\n"
+"显示哪些进程使用指定的文件、端口或文件系统。\n"
+"\n"
+" -a,--all 也显示未使用的文件\n"
+" -i,--interactive 杀死程序前询问 (未指定 -k 选项时被忽略)\n"
+" -I,--inode 总是使用 inode 来比较文件\n"
+" -k,--kill 杀死访问指定文件的进程\n"
+" -l,--list-signals 列出可用的信号名\n"
+" -m,--mount 显示所有使用指定文件系统或块设备的进程\n"
+" -M,--ismountpoint 只在 <名字> 为挂载点时完成要求\n"
+" -n,--namespace 空间 在指定命名空间中查找 (file、udp 或 tcp)\n"
+" -s,--silent 不输出信息\n"
+" -信号 发送指定的 \"信号\" 而不是 SIGKILL\n"
+" -u,--user 显示用户 ID\n"
+" -v,--verbose 输出更多信息\n"
+" -w,--writeonly 只杀死有权写入的进程\n"
+" -V,--version 显示版本信息\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 仅查找 IPv4 套接字\n"
+" -6,--ipv6 仅查找 IPv6 套接字\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" udp/tcp 名字: [本地端口][,[远程主机][,[远程端口]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, c-format
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 1993-2024 Werner Almesberger 和 Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc 不提供任何保证。\n"
+"该程序为自由软件,欢迎你在 GNU 通用公共许可证 (GPL) 下重新发布。\n"
+"详情可参阅 COPYING 文件。\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "无法打开 /proc 目录: %s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "无法为已找到的进程分配内存: %s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "指定的文件名 %s 不存在。\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "无法分析 %s: %s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "无法解析本地端口 %s: %s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "未知本地端口 AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "无法打开协议文件 \"%s\": %s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "指定的文件名 %s 并非挂载点。\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s:无效的选项 %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "命名空间选项需要一个参数。"
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "无效的命名空间名"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "你只能使用有挂载点选项的文件"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "未指定进程"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "所有选项都不能与不输出信息选项同时使用。"
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "你无法同时搜索 IPv4 和 IPv6 端口"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s 用户 进程号 权限 命令\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(未知)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "无法获取 %s 的文件状态: %s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "无法打开 /proc/net/unix: %s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "杀死进程 %d ? (y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "无法杀死进程 %d: %s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "无法打开网络端口。\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "无法找到 socket 的设备号。\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "杀死 %s(%s%d) ? (y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "信号 %s(%s%d) ? (y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall: 无法从进程状态获取用户ID(UID)\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall: 不当的正则表达式: %s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall: 跳过部分符合的部分 %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "%s(%s%d) 被信号 %d 杀死\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s: 未找到进程\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "用法: killall [选项]... [--] 进程名...\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact 对长名字要求严格匹配\n"
+" -I,--ignore-case 匹配进程名时忽略大小写\n"
+" -g,--process-group 杀死进程组而不是进程\n"
+" -y,--younger-than 杀死比指定<时间>年轻的进程\n"
+" -o,--older-than 杀死比指定<时间>年老的进程\n"
+" -i,--interactive 在杀死进程前要求确认\n"
+" -l,--list 列出所有的信号名\n"
+" -q,--quiet 不要打印抱怨信息\n"
+" -r,--regexp 将 \"进程名\" 视为扩展正则表达式\n"
+" -s,--signal 信号 发送指定 \"信号\" 而不是 SIGTERM\n"
+" -u,--user 用户 仅杀死指定 \"用户\" 的进程\n"
+" -v,--verbose 报告信号是否成功送出\n"
+" -V,--version 显示版本信息\n"
+" -w,--wait 等待进程死亡\n"
+" -n,--ns 进程号 匹配与指定<进程号>具有相同命名空间的进程\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context 正则表达式 仅杀死含有指定上下文的进程\n"
+" (必须在其他参数前使用)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "无效的时间格式"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "无法找到用户 %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "无效的命名空间进程号(PID)"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "错误的正则表达式: %s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall: 最大名字数量是 %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall: %s 不含进程信息项 (未挂载?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "绑定到 %i 号进程时发生错误\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"Copyright © 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"用法: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <进程号> [<文件号> ..]\n"
+" -8, --eight-bit-clean 输出干净的8位数据流。\n"
+" -n, --no-headers 不显示文件描述符头的读写信息。\n"
+" -c, --follow 也检测新的子进程。\n"
+" -t, --tgid 检测 tgid 等于<进程号>的所有线程。\n"
+" -d, --duplicates-removed 从输出中删除重复的读写信息。\n"
+" -V, --version 输出版本信息。\n"
+" -h, --help 输出本帮助信息。\n"
+"\n"
+" 按下 CTRL-C 来终止输出。\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"用法:prtstat [选项] PID…\n"
+" prtstat -V\n"
+"打印进程的相关信息\n"
+" -r,--raw 显示信息的原始样式\n"
+" -V,--version 显示版本信息然后离开\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, c-format
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"Copyright © 2009-2024 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "运行中"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "暂停中"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "磁盘暂停"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "僵尸"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "追踪"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "分页"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "未知"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"进程: %-14s\t\t状态:%c (%s)\n"
+" CPU#: %-3d\t\tTTY:%s\t线程:%ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"进程、群组和运行阶段识别码\n"
+" 进程识别号:%d\t\t 上层识别号:%d\n"
+" 群组识别号:%d\t\t 运行阶段识别码:%d\n"
+" T 群组识别号:%d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"分页错误\n"
+" 此进程 (次要 主要):%8lu %8lu\n"
+" 子进程 (次要 主要):%8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU 时间\n"
+" 此进程 (用户 系统 访客 区块输出入):%6.2f %6.2f %6.2f %6.2f\n"
+" 子进程 (用户 系统 访客): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"内存\n"
+" Vsize: %-10s\n"
+" RSS: %-10s\t\t RSS 限制:%s\n"
+" 程序开始: %#-10lx\t\t 程序停止: %#-10lx\n"
+" 堆栈开始: %#-10lx\n"
+" 堆栈指针 (ESP):%#10lx\t 指令指针 (EIP):%#10lx\n"
+
+# “友好”, or "Nice" 指的是静态优先级。进程越友好,Nice 值越高,也就越倾向于分出时间给其他进程——换句话说就是优先级低了。
+# 说着友好,我就想到知乎的友善度了,啊呀。
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"调度\n"
+" 策略:%s\n"
+" 友好:%ld \t\t 实时优先级:%ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "print_stat 中的 asprintf 失败。\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "具有 pid %d 的进程不存在。\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "无法打开 pid %d (%s) 的 stat 文件\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "无法为 proc_info 分配内存\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "无法扫描 stat 文件"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "无效的选项"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "您必须提供至少一个 PID。"
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc 未被挂载,无法取得 /proc/self/stat 的状态。\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s 是空的 (未挂载?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"用法:pstree [-acglpsStTuZ] [ -h | -H 进程号 ] [ -n | -N 类型 ]\n"
+" [ -A | -G | -U ] [ 进程号 | 用户 ]\n"
+" 或:pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"显示进程树。\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments 显示命令行参数\n"
+" -A, --ascii 使用 ASCII 行绘制字符\n"
+" -c, --compact-not 不要对完全相同的子树进行压缩\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr ""
+" -C, --color=类型 按照指定属性对进程上色\n"
+" (age)\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids 显示进程组 ID;隐含启用 -c 选项\n"
+" -G, --vt100 使用 VT100 行绘制字符\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all 高亮显示当前进程和其所有祖先\n"
+" -H PID, --highlight-pid=PID\n"
+" 高亮显示指定 PID 对应的进程和其所有祖先\n"
+" -l, --long 不要截断长行\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort 按照 PID 对输出进行排序\n"
+" -N 类型, --ns-sort=类型\n"
+" 按照指定命名空间类型对输出进行排序\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids 显示 PID;隐含启用 -c 选项\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents 显示所选进程的父进程\n"
+" -S, --ns-changes 显示命名空间的变化\n"
+" -t, --thread-names 显示完整线程名称\n"
+" -T, --hide-threads 隐藏线程,只显示进程\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes 显示用户 ID(UID)的变化\n"
+" -U, --unicode 使用 UTF-8(Unicode)的行绘制字符\n"
+" -V, --version 显示版本信息\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" 显示安全属性\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" 进程号 从指定进程号开始;默认为 1(init)\n"
+" 用户 仅显示从指定用户的进程开始的进程树\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "未设置 TERM 环境变量\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "无法获取终端功能\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "适用 %s 命名空间的 proc 文件不可用\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "无用户名: %s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "未找到进程 %d。\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "未找到进程。\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "按回车以关闭\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: 未知的信号; %s -l 显示信号列表。\n"
+
+# GPL Howto 说了,不要翻译 Copyright.
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2021 Werner Almesberger 和 Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "用法:killall [ -Z 上下文 ] [ -u 用户名 ] [ -y 时间 ] [ -o 时间 ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s 信号 | -信号 ] 程序名...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "用法:pstree [-acglpsStTu] [ -h | -H 进程号 ] [ -n | -N 类型 ]\n"
+#~ " [ -A | -G | -U ] [ 进程号 | 用户 ]\n"
+#~ " 或:pstree -V\n"
+
+# GPL Howto 说了,不要翻译 Copyright.
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "版权所有 © 1993-2019 Werner Almesberger 和 Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "用法:pstree [-acglpsStuZ] [ -h | -H 进程号 ] [ -n | -N 类型 ]\n"
+#~ "用法:pstree [-acglpsStu] [ -h | -H 进程号 ] [ -n | -N 类型 ]\n"
+#~ " [ -A | -G | -U ] [ 进程号 | 用户 ]\n"
+#~ " pstree -V\n"
+#~ "显示进程树。\n"
+#~ "\n"
+#~ " -a, --arguments 显示命令行参数\n"
+#~ " -A, --ascii 使用 ASCII 划线符\n"
+#~ " -c, --compact 不压缩相同的子树\n"
+#~ " -h, --highlight-all 高亮显示当前进程及其祖先\n"
+#~ " -H 进程号,\n"
+#~ " --highlight-pid=进程号 高亮显示指定<进程号>对应的进程当及其祖先\n"
+#~ " -g, --show-pgids 显示进程组ID;隐含启用 -c\n"
+#~ " -G, --vt100 使用 VT100 划线符\n"
+#~ " -l, --long 不截断长行\n"
+#~ " -n, --numeric-sort 输出按进程号排序\n"
+#~ " -N type,\n"
+#~ " --ns-sort=类型 按命名空间类型排序(cgroup, ipc, mnt, net, pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids 显示进程号;隐含 -c\n"
+#~ " -s, --show-parents 显示所选中进程的父进程\n"
+#~ " -S, --ns-changes 显示命名空间变换\n"
+#~ " -t, --thread-names 显示完整线程名\n"
+#~ " -T, --hide-threads 隐藏线程,只显示进程\n"
+#~ " -u, --uid-changes 显示用户名变换\n"
+#~ " -U, --unicode 使用 UTF-8(Unicode)划线符\n"
+#~ " -V, --version 显示版本信息\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2009 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Copyright © 1993-2005 Werner Almesberger 和 Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pidof [ -eg ] NAME...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e require exact match for very long names;\n"
+#~ " skip if the command line is unavailable\n"
+#~ " -g show process group ID instead of process ID\n"
+#~ " -V display version information\n"
+#~ "\n"
+#~ msgstr ""
+#~ "用法: pidof [ -eg ] 程序名...\n"
+#~ " pidof -V\n"
+#~ "\n"
+#~ " -e 对长程序名需要严格匹配\n"
+#~ " 如果命令行不可用则忽略该选项\n"
+#~ " -g 显示进程组ID而不是进程ID\n"
+#~ " -V 显示版本信息\n"
+#~ "\n"
+
+#~ msgid "Cannot stat mount point %s: %s\n"
+#~ msgstr "无法分析挂载点 %s: %s\n"
+
+#~ msgid "You cannot use the mounted and mountpoint flags together"
+#~ msgstr "你不能同时是用已挂载和挂载点选项"
+
+#~ msgid "Cannot open /etc/mtab: %s\n"
+#~ msgstr "无法打开 /etc/mtab: %s\n"
+
+#~ msgid "Internal error: MAX_DEPTH not big enough.\n"
+#~ msgstr "内部错误: MAX_DEPTH 不够大。\n"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
new file mode 100644
index 0000000..45a63d7
--- /dev/null
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644
index 0000000..0efaac3
--- /dev/null
+++ b/po/zh_TW.po
@@ -0,0 +1,834 @@
+# Traditional Chinese Messages for psmisc.
+# Copyright (C) 2021 Free Software Foundation, Inc.
+# This file is distributed under the same license as the psmisc package.
+#
+# Wei-Lun Chao <bluebat@member.fsf.org>, 2009, 2013, 2015.
+# pan93412 <pan93412@gmail.com>, 2018, 2019, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: psmisc 23.6-rc1\n"
+"Report-Msgid-Bugs-To: csmall@dropbear.xyz\n"
+"POT-Creation-Date: 2024-03-03 21:55+1100\n"
+"PO-Revision-Date: 2022-12-16 19:36+0800\n"
+"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
+"Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#: src/fuser.c:146
+#, c-format
+msgid ""
+"Usage: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE]\n"
+" [-k [-i] [-SIGNAL]] NAME...\n"
+" fuser -l\n"
+" fuser -V\n"
+"Show which processes use the named files, sockets, or filesystems.\n"
+"\n"
+" -a,--all display unused files too\n"
+" -i,--interactive ask before killing (ignored without -k)\n"
+" -I,--inode use always inodes to compare files\n"
+" -k,--kill kill processes accessing the named file\n"
+" -l,--list-signals list available signal names\n"
+" -m,--mount show all processes using the named filesystems or\n"
+" block device\n"
+" -M,--ismountpoint fulfill request only if NAME is a mount point\n"
+" -n,--namespace SPACE search in this name space (file, udp, or tcp)\n"
+" -s,--silent silent operation\n"
+" -SIGNAL send this signal instead of SIGKILL\n"
+" -u,--user display user IDs\n"
+" -v,--verbose verbose output\n"
+" -w,--writeonly kill only processes with write access\n"
+" -V,--version display version information\n"
+msgstr ""
+"用法: fuser [-fIMuvw] [-a|-s] [-4|-6] [-c|-m|-n 空白]\n"
+" [-k [-i] [-SIGNAL]] 名稱...\n"
+" fuser -l\n"
+" fuser -V\n"
+"顯示哪個執行程序使用了該名稱的檔案、接口或檔案系統。\n"
+"\n"
+" -a,--all 亦顯示未用到檔案\n"
+" -i,--interactive 強制停止執行程序前詢問 (若沒有 -k 參數則忽略)\n"
+" -I,--inode 始終使用 inode 來比較檔案\n"
+" -k,--kill 強制停止存取該名稱檔案的執行程序\n"
+" -l,--list-signals 列出可用的信號名稱\n"
+" -m,--mount 顯示所有使用該名稱的檔案系統或\n"
+" block 區塊裝置的執行程序\n"
+" -M,--ismountpoint 只有當名稱是掛載點時才完全達到要求\n"
+" -n,--namespace 空間 在這個命名空間中搜尋 (檔案、udp 或 tcp)\n"
+" -s,--silent 安靜地作業\n"
+" -SIGNAL 發送這個信號以代替 SIGKILL\n"
+" -u,--user 顯示使用者識別號\n"
+" -v,--verbose 詳細的輸出\n"
+" -w,--writeonly 只砍除有寫入權限的行程\n"
+" -V,--version 顯示版本資訊\n"
+
+#: src/fuser.c:167
+#, c-format
+msgid ""
+" -4,--ipv4 search IPv4 sockets only\n"
+" -6,--ipv6 search IPv6 sockets only\n"
+msgstr ""
+" -4,--ipv4 只搜尋 IPv4 通訊端\n"
+" -6,--ipv6 只搜尋 IPv6 通訊端\n"
+
+#: src/fuser.c:170
+#, c-format
+msgid ""
+" udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]\n"
+"\n"
+msgstr ""
+" udp/tcp 名稱:[本地埠號][,[遠端主機][,[遠端埠號]]]\n"
+"\n"
+
+#: src/fuser.c:176
+#, c-format
+msgid "fuser (PSmisc) %s\n"
+msgstr "fuser (PSmisc) %s\n"
+
+#: src/fuser.c:178 src/killall.c:870 src/pstree.c:1337
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 1993-2022 Werner Almesberger and Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 1993-2024 Werner Almesberger and Craig Small\n"
+"\n"
+msgstr ""
+"著作權所有 © 1993-2022 Werner Almesberger 和 Craig Small\n"
+"\n"
+
+#: src/fuser.c:180 src/killall.c:872 src/peekfd.c:195 src/prtstat.c:68
+#: src/pstree.c:1339
+#, c-format
+msgid ""
+"PSmisc comes with ABSOLUTELY NO WARRANTY.\n"
+"This is free software, and you are welcome to redistribute it under\n"
+"the terms of the GNU General Public License.\n"
+"For more information about these matters, see the files named COPYING.\n"
+msgstr ""
+"PSmisc 完全不附帶任何擔保。\n"
+"這是自由軟體,並且歡迎您依照 GNU 通用公共授權\n"
+"來再次散布它。\n"
+"請參看名為 COPYING 的檔案,以獲得更多關於這些問題的資訊。\n"
+
+#: src/fuser.c:202
+#, c-format
+msgid "Cannot open /proc directory: %s\n"
+msgstr "無法開啟 /proc 目錄:%s\n"
+
+#: src/fuser.c:404 src/fuser.c:463
+#, c-format
+msgid "Cannot allocate memory for matched proc: %s\n"
+msgstr "無法為符合的行程配置記憶體:%s\n"
+
+#: src/fuser.c:494
+#, c-format
+msgid "Specified filename %s does not exist.\n"
+msgstr "指定的檔名 %s 不存在。\n"
+
+#: src/fuser.c:497
+#, c-format
+msgid "Cannot stat %s: %s\n"
+msgstr "無法顯示 %s:%s\n"
+
+#: src/fuser.c:649
+#, c-format
+msgid "Cannot resolve local port %s: %s\n"
+msgstr "無法解析本機通訊埠 %s:%s\n"
+
+#: src/fuser.c:670
+#, c-format
+msgid "Unknown local port AF %d\n"
+msgstr "不明的本機通訊埠 AF %d\n"
+
+#: src/fuser.c:753
+#, c-format
+msgid "Cannot open protocol file \"%s\": %s\n"
+msgstr "無法開啟協定檔案「%s」:%s\n"
+
+#: src/fuser.c:1079
+#, c-format
+msgid "Specified filename %s is not a mountpoint.\n"
+msgstr "指定的檔名 %s 並非掛載點。\n"
+
+#: src/fuser.c:1175
+#, c-format
+msgid "%s: Invalid option %s\n"
+msgstr "%s:無效的選項 %s\n"
+
+#: src/fuser.c:1230
+msgid "Namespace option requires an argument."
+msgstr "命名空間選項需要一個引數。"
+
+#: src/fuser.c:1242
+msgid "Invalid namespace name"
+msgstr "無效的命名空間名稱"
+
+#: src/fuser.c:1309
+msgid "You can only use files with mountpoint options"
+msgstr "您只能使用具備掛載點選項的檔案"
+
+#: src/fuser.c:1356
+msgid "No process specification given"
+msgstr "沒有給定任何行程規格"
+
+#: src/fuser.c:1373
+msgid "all option cannot be used with silent option."
+msgstr "所有選項無法與安靜選項一起使用。"
+
+#: src/fuser.c:1378
+msgid "You cannot search for only IPv4 and only IPv6 sockets at the same time"
+msgstr "您無法同時只搜尋 IPv4 又只搜尋 IPv6 通訊端"
+
+#: src/fuser.c:1474
+#, c-format
+msgid "%*s USER PID ACCESS COMMAND\n"
+msgstr "%*s 使用者 PID 存取命令\n"
+
+#: src/fuser.c:1508 src/fuser.c:1554
+msgid "(unknown)"
+msgstr "(不明)"
+
+#: src/fuser.c:1650 src/fuser.c:1706
+#, c-format
+msgid "Cannot stat file %s: %s\n"
+msgstr "無法顯示檔案 %s:%s\n"
+
+#: src/fuser.c:1803
+#, c-format
+msgid "Cannot open /proc/net/unix: %s\n"
+msgstr "無法開啟 /proc/net/unix:%s\n"
+
+#: src/fuser.c:1909
+#, c-format
+msgid "Kill process %d ? (y/N) "
+msgstr "砍除行程 %d?(y/N) "
+
+#: src/fuser.c:1950
+#, c-format
+msgid "Could not kill process %d: %s\n"
+msgstr "無法砍除行程 %d:%s\n"
+
+#: src/fuser.c:1966
+#, c-format
+msgid "Cannot open a network socket.\n"
+msgstr "無法開啟網路通訊端。\n"
+
+#: src/fuser.c:1971
+#, c-format
+msgid "Cannot find socket's device number.\n"
+msgstr "找不到通訊端裝置編號。\n"
+
+#: src/killall.c:111
+#, c-format
+msgid "Kill %s(%s%d) ? (y/N) "
+msgstr "砍除 %s(%s%d)?(y/N) "
+
+#: src/killall.c:114
+#, c-format
+msgid "Signal %s(%s%d) ? (y/N) "
+msgstr "信號 %s(%s%d)?(y/N) "
+
+#: src/killall.c:262
+#, c-format
+msgid "killall: Cannot get UID from process status\n"
+msgstr "killall:無法從程序狀態提取 UID\n"
+
+#: src/killall.c:368
+#, c-format
+msgid "killall: Bad regular expression: %s\n"
+msgstr "killall:不當的正規表示式:%s\n"
+
+#: src/killall.c:525
+#, c-format
+msgid "killall: skipping partial match %s(%d)\n"
+msgstr "killall:跳過部分匹配 %s(%d)\n"
+
+#: src/killall.c:775
+#, c-format
+msgid "Killed %s(%s%d) with signal %d\n"
+msgstr "藉由信號 %4$d 砍除 %1$s(%2$s%3$d)\n"
+
+#: src/killall.c:796
+#, c-format
+msgid "%s: no process found\n"
+msgstr "%s:找不到任何行程\n"
+
+#: src/killall.c:837
+#, c-format
+msgid "Usage: killall [OPTION]... [--] NAME...\n"
+msgstr "用法:killall [選項]… [--] 名稱…\n"
+
+#: src/killall.c:839
+#, c-format
+msgid ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact require exact match for very long names\n"
+" -I,--ignore-case case insensitive process name match\n"
+" -g,--process-group kill process group instead of process\n"
+" -y,--younger-than kill processes younger than TIME\n"
+" -o,--older-than kill processes older than TIME\n"
+" -i,--interactive ask for confirmation before killing\n"
+" -l,--list list all known signal names\n"
+" -q,--quiet don't print complaints\n"
+" -r,--regexp interpret NAME as an extended regular expression\n"
+" -s,--signal SIGNAL send this signal instead of SIGTERM\n"
+" -u,--user USER kill only process(es) running as USER\n"
+" -v,--verbose report if the signal was successfully sent\n"
+" -V,--version display version information\n"
+" -w,--wait wait for processes to die\n"
+" -n,--ns PID match processes that belong to the same namespaces\n"
+" as PID\n"
+msgstr ""
+" killall -l, --list\n"
+" killall -V, --version\n"
+"\n"
+" -e,--exact 對於很長的名稱需要精確的符合\n"
+" -I,--ignore-case 行程名稱符合時大小寫不須相符\n"
+" -g,--process-group 砍除行程群組以代替行程\n"
+" -y,--younger-than 砍除時間較新的行程\n"
+" -o,--older-than 砍除時間較舊的行程\n"
+" -i,--interactive 砍除之前徵詢確認\n"
+" -l,--list 列出所有已知信號名稱\n"
+" -q,--quiet 不印出抱怨訊息\n"
+" -r,--regexp 將名稱以進階正規表示式解譯\n"
+" -s,--signal 信號 發送這個信號以代替 SIGTERM\n"
+" -u,--user 使用者 只砍除指定使用者執行的行程\n"
+" -v,--verbose 如果信號已被成功發送則回報\n"
+" -V,--version 顯示版本資訊\n"
+" -w,--wait 等待行程的消滅\n"
+" -n,--ns PID 符合屬於與 PID 相同命名空間的執行程序\n"
+
+#: src/killall.c:859
+#, c-format
+msgid ""
+" -Z,--context REGEXP kill only process(es) having context\n"
+" (must precede other arguments)\n"
+msgstr ""
+" -Z,--context REGEXP 只砍除有此上下文的行程\n"
+" (必須位於其他引數之前)\n"
+
+#: src/killall.c:955 src/killall.c:961
+msgid "Invalid time format"
+msgstr "無效的時間格式"
+
+#: src/killall.c:981
+#, c-format
+msgid "Cannot find user %s\n"
+msgstr "找不到使用者 %s\n"
+
+#: src/killall.c:1016
+msgid "Invalid namespace PID"
+msgstr "無效的命名空間 PID"
+
+#: src/killall.c:1023
+#, c-format
+msgid "Bad regular expression: %s\n"
+msgstr "不當的正規表示式:%s\n"
+
+#: src/killall.c:1057
+#, c-format
+msgid "killall: Maximum number of names is %d\n"
+msgstr "killall:名稱數量最大值是 %d\n"
+
+#: src/killall.c:1062
+#, c-format
+msgid "killall: %s lacks process entries (not mounted ?)\n"
+msgstr "killall:%s 缺乏行程條目 (未掛載?)\n"
+
+#: src/peekfd.c:183
+#, c-format
+msgid "Error attaching to pid %i\n"
+msgstr "附加到 pid %i 時發生錯誤\n"
+
+#: src/peekfd.c:191
+#, c-format
+msgid "peekfd (PSmisc) %s\n"
+msgstr "peekfd (PSmisc) %s\n"
+
+#: src/peekfd.c:193
+#, c-format
+msgid ""
+"Copyright (C) 2007 Trent Waddington\n"
+"\n"
+msgstr ""
+"著作權 © 2007 Trent Waddington\n"
+"\n"
+
+#: src/peekfd.c:203
+#, c-format
+msgid ""
+"Usage: peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean output 8 bit clean streams.\n"
+" -n, --no-headers don't display read/write from fd headers.\n"
+" -c, --follow peek at any new child processes too.\n"
+" -t, --tgid peek at all threads where tgid equals "
+"<pid>.\n"
+" -d, --duplicates-removed remove duplicate read/writes from the "
+"output.\n"
+" -V, --version prints version info.\n"
+" -h, --help prints this help.\n"
+"\n"
+" Press CTRL-C to end output.\n"
+msgstr ""
+"用法:peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8 輸出不含第八位元的資料流。\n"
+" -n 不從 fd 標頭顯示讀取/寫入。\n"
+" -c 也取自任何新的子行程。\n"
+" -d 從輸出移除重複的讀取/寫入。\n"
+" -V 印出版本資訊。\n"
+" -h 印出這個說明。\n"
+"\n"
+" 按下 CTRL-C 以結束輸出。\n"
+"用法:peekfd [-8] [-n] [-c] [-d] [-V] [-h] <pid> [<fd> ..]\n"
+" -8, --eight-bit-clean 輸出 8 位元 clean 串流。\n"
+" -n, --no-headers 不顯示來自 fd 標頭的讀取與寫入\n"
+" -c, --follow 亦跳至任何新的子執行程序\n"
+" -t, --tgid 跳至 tgid 等於 <pid> 的所有線程.\n"
+" -d, --duplicates-removed 從輸出中移除重複的讀取與寫入\n"
+" -V, --version 顯示版本資訊\n"
+" -h, --help 顯示此說明\n"
+"\n"
+" 輸入 CTRL-C 結束輸出。\n"
+
+#: src/prtstat.c:54
+#, c-format
+msgid ""
+"Usage: prtstat [options] PID ...\n"
+" prtstat -V\n"
+"Print information about a process\n"
+" -r,--raw Raw display of information\n"
+" -V,--version Display version information and exit\n"
+msgstr ""
+"用法:prtstat [選項] PID…\n"
+" prtstat -V\n"
+"印出行程的相關資訊\n"
+" -r,--raw 資訊的原始顯示\n"
+" -V,--version 顯示版本資訊然後離開\n"
+
+#: src/prtstat.c:65
+#, c-format
+msgid "prtstat (PSmisc) %s\n"
+msgstr "prtstat (PSmisc) %s\n"
+
+#: src/prtstat.c:66
+#, fuzzy, c-format
+#| msgid ""
+#| "Copyright (C) 2009-2022 Craig Small\n"
+#| "\n"
+msgid ""
+"Copyright (C) 2009-2024 Craig Small\n"
+"\n"
+msgstr ""
+"著作權所有 © 2009-2022 Craig Small\n"
+"\n"
+
+#: src/prtstat.c:78
+msgid "running"
+msgstr "執行中"
+
+#: src/prtstat.c:80
+msgid "sleeping"
+msgstr "暫停中"
+
+#: src/prtstat.c:82
+msgid "disk sleep"
+msgstr "磁碟暫停"
+
+#: src/prtstat.c:84
+msgid "zombie"
+msgstr "殭屍"
+
+#: src/prtstat.c:86
+msgid "traced"
+msgstr "追蹤"
+
+#: src/prtstat.c:88
+msgid "paging"
+msgstr "分頁"
+
+#: src/prtstat.c:90
+msgid "unknown"
+msgstr "不明"
+
+#: src/prtstat.c:164
+#, c-format
+msgid ""
+"Process: %-14s\t\tState: %c (%s)\n"
+" CPU#: %-3d\t\tTTY: %s\tThreads: %ld\n"
+msgstr ""
+"行程:%-14s\t\t狀態:%c (%s)\n"
+" CPU#: %-3d\t\tTTY:%s\t執行緒:%ld\n"
+
+#: src/prtstat.c:169
+#, c-format
+msgid ""
+"Process, Group and Session IDs\n"
+" Process ID: %d\t\t Parent ID: %d\n"
+" Group ID: %d\t\t Session ID: %d\n"
+" T Group ID: %d\n"
+"\n"
+msgstr ""
+"行程、群組和執行階段識別碼\n"
+" 行程識別號:%d\t\t 上層識別號:%d\n"
+" 群組識別號:%d\t\t 執行階段識別碼:%d\n"
+" T 群組識別號:%d\n"
+"\n"
+
+#: src/prtstat.c:175
+#, c-format
+msgid ""
+"Page Faults\n"
+" This Process (minor major): %8lu %8lu\n"
+" Child Processes (minor major): %8lu %8lu\n"
+msgstr ""
+"分頁錯誤\n"
+" 此行程 (次要 主要):%8lu %8lu\n"
+" 子行程 (次要 主要):%8lu %8lu\n"
+
+#: src/prtstat.c:180
+#, c-format
+msgid ""
+"CPU Times\n"
+" This Process (user system guest blkio): %6.2f %6.2f %6.2f %6.2f\n"
+" Child processes (user system guest): %6.2f %6.2f %6.2f\n"
+msgstr ""
+"CPU 時間\n"
+" 此行程 (使用者 系統 訪客 區塊輸出入):%6.2f %6.2f %6.2f %6.2f\n"
+" 子行程 (使用者 系統 訪客): %6.2f %6.2f %6.2f\n"
+
+#: src/prtstat.c:189
+#, c-format
+msgid ""
+"Memory\n"
+" Vsize: %-10s\n"
+" RSS: %-10s \t\t RSS Limit: %s\n"
+" Code Start: %#-10lx\t\t Code Stop: %#-10lx\n"
+" Stack Start: %#-10lx\n"
+" Stack Pointer (ESP): %#10lx\t Inst Pointer (EIP): %#10lx\n"
+msgstr ""
+"記憶體\n"
+" Vsize: %-10s\n"
+" RSS: %-10s\t\t RSS 限制:%s\n"
+" 程式開始: %#-10lx\t\t 程式停止: %#-10lx\n"
+" 堆疊開始: %#-10lx\n"
+" 堆疊指標 (ESP):%#10lx\t 指令指標 (EIP):%#10lx\n"
+
+#: src/prtstat.c:199
+#, c-format
+msgid ""
+"Scheduling\n"
+" Policy: %s\n"
+" Nice: %ld \t\t RT Priority: %ld %s\n"
+msgstr ""
+"排程\n"
+" 策略:%s\n"
+" 善意:%ld \t\t RT 優先權:%ld %s\n"
+
+#: src/prtstat.c:220
+msgid "asprintf in print_stat failed.\n"
+msgstr "print_stat 中的 asprintf 失敗。\n"
+
+#: src/prtstat.c:225
+#, c-format
+msgid "Process with pid %d does not exist.\n"
+msgstr "具有 pid %d 的行程不存在。\n"
+
+#: src/prtstat.c:227
+#, c-format
+msgid "Unable to open stat file for pid %d (%s)\n"
+msgstr "無法開啟 pid %d (%s) 的 stat 檔案\n"
+
+#: src/prtstat.c:243
+#, c-format
+msgid "Unable to allocate memory for proc_info\n"
+msgstr "無法對 proc_info 分配記憶體\n"
+
+#: src/prtstat.c:283
+#, c-format
+msgid "Unable to scan stat file"
+msgstr "無法掃描 stat 檔案"
+
+#: src/prtstat.c:318
+msgid "Invalid option"
+msgstr "無效的選項"
+
+#: src/prtstat.c:323
+msgid "You must provide at least one PID."
+msgstr "您必須提供至少一個 PID。"
+
+#: src/prtstat.c:327
+#, c-format
+msgid "/proc is not mounted, cannot stat /proc/self/stat.\n"
+msgstr "/proc 未被掛載,無法取得 /proc/self/stat 的狀態。\n"
+
+#: src/pstree.c:1254
+#, c-format
+msgid "%s is empty (not mounted ?)\n"
+msgstr "%s 是空的 (尚未掛載?)\n"
+
+#: src/pstree.c:1287
+#, c-format
+msgid ""
+"Usage: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+" [ -A | -G | -U ] [ PID | USER ]\n"
+" or: pstree -V\n"
+msgstr ""
+"用法: pstree [-acglpsStTuZ] [ -h | -H PID ] [ -n | -N 類型 ]\n"
+" [ -A | -G | -U ] [ PID | 使用者 ]\n"
+" 或: pstree -V\n"
+
+#: src/pstree.c:1291
+#, c-format
+msgid ""
+"\n"
+"Display a tree of processes.\n"
+"\n"
+msgstr ""
+"\n"
+"顯示行程的樹狀圖。\n"
+"\n"
+
+#: src/pstree.c:1294
+#, c-format
+msgid ""
+" -a, --arguments show command line arguments\n"
+" -A, --ascii use ASCII line drawing characters\n"
+" -c, --compact-not don't compact identical subtrees\n"
+msgstr ""
+" -a, --arguments 顯示指令列參數\n"
+" -A, --ascii 使用 ASCII 行繪製字元\n"
+" -c, --compact-not 不合併完全相同的子樹\n"
+
+#: src/pstree.c:1298
+#, c-format
+msgid ""
+" -C, --color=TYPE color process by attribute\n"
+" (age)\n"
+msgstr " -C, --color=類型 依屬性 (age) 為行程上色\n"
+
+#: src/pstree.c:1301
+#, c-format
+msgid ""
+" -g, --show-pgids show process group ids; implies -c\n"
+" -G, --vt100 use VT100 line drawing characters\n"
+msgstr ""
+" -g, --show-pgids 顯示行程的群組 ID;隱含 -c\n"
+" -G, --vt100 使用 VT100 行繪製字元\n"
+
+#: src/pstree.c:1304
+#, c-format
+msgid ""
+" -h, --highlight-all highlight current process and its ancestors\n"
+" -H PID, --highlight-pid=PID\n"
+" highlight this process and its ancestors\n"
+" -l, --long don't truncate long lines\n"
+msgstr ""
+" -h, --highlight-all 標示目前及上級行程\n"
+" -H PID, --highlight-pid=PID\n"
+" 標示這個及上級行程\n"
+" -l, --long 不截短長行\n"
+
+#: src/pstree.c:1309
+#, c-format
+msgid ""
+" -n, --numeric-sort sort output by PID\n"
+" -N TYPE, --ns-sort=TYPE\n"
+" sort output by this namespace type\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids show PIDs; implies -c\n"
+msgstr ""
+" -n, --numeric-sort 依 PID 排序輸出\n"
+" -N 類型, --ns-sort=類型\n"
+" 依此命名空間類型排序輸出\n"
+" (cgroup, ipc, mnt, net, pid, time, user, uts)\n"
+" -p, --show-pids 顯示 PID;隱含 -c\n"
+
+#: src/pstree.c:1315
+#, c-format
+msgid ""
+" -s, --show-parents show parents of the selected process\n"
+" -S, --ns-changes show namespace transitions\n"
+" -t, --thread-names show full thread names\n"
+" -T, --hide-threads hide threads, show only processes\n"
+msgstr ""
+" -s, --show-parents 顯示選取行程的上級\n"
+" -S, --ns-changes 顯示命名空間轉換\n"
+" -t, --thread-names 顯示完整執行緒名稱\n"
+" -T, --hide-threads 隱藏執行緒,只顯示行程\n"
+
+#: src/pstree.c:1320
+#, c-format
+msgid ""
+" -u, --uid-changes show uid transitions\n"
+" -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+" -V, --version display version information\n"
+msgstr ""
+" -u, --uid-changes 顯示使用者 ID (UID) 轉換\n"
+" -U, --unicode 使用 UTF-8 (Unicode) 行繪製字元\n"
+" -V, --version 顯示版本資訊\n"
+
+#: src/pstree.c:1324
+#, c-format
+msgid ""
+" -Z, --security-context\n"
+" show security attributes\n"
+msgstr ""
+" -Z, --security-context\n"
+" 顯示安全屬性\n"
+
+#: src/pstree.c:1326
+#, c-format
+msgid ""
+"\n"
+" PID start at this PID; default is 1 (init)\n"
+" USER show only trees rooted at processes of this user\n"
+"\n"
+msgstr ""
+"\n"
+" PID 從這個 PID 開始;預設是 1 (init)\n"
+" 使用者 只顯示源自此使用者行程的樹狀結構\n"
+"\n"
+
+#: src/pstree.c:1334
+#, c-format
+msgid "pstree (PSmisc) %s\n"
+msgstr "pstree (PSmisc) %s\n"
+
+#: src/pstree.c:1455
+#, c-format
+msgid "TERM is not set\n"
+msgstr "TERM 尚未設定\n"
+
+#: src/pstree.c:1459
+#, c-format
+msgid "Can't get terminal capabilities\n"
+msgstr "無法取得終端機功能\n"
+
+#: src/pstree.c:1477
+#, c-format
+msgid "procfs file for %s namespace not available\n"
+msgstr "無法使用 procfs 檔案於 %s 命名空間\n"
+
+#: src/pstree.c:1523
+#, c-format
+msgid "No such user name: %s\n"
+msgstr "無此類使用者名稱:%s\n"
+
+#: src/pstree.c:1539
+#, c-format
+msgid "Process %d not found.\n"
+msgstr "找不到行程 %d。\n"
+
+#: src/pstree.c:1555
+#, c-format
+msgid "No processes found.\n"
+msgstr "找不到任何行程。\n"
+
+#: src/pstree.c:1563
+#, c-format
+msgid "Press return to close\n"
+msgstr "按下輸入鍵以關閉\n"
+
+#: src/signals.c:84
+#, c-format
+msgid "%s: unknown signal; %s -l lists signals.\n"
+msgstr "%s: 不明的信號;%s -l 列出信號。\n"
+
+#, c-format
+#~ msgid ""
+#~ "Copyright (C) 1993-2021 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "著作權所有 © 1993-2021 Werner Almesberger 和 Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] NAME...\n"
+#~ msgstr ""
+#~ "用法:killall [ -Z 上下文 ] [ -u 使用者 ] [ -y 時間 ] [ -o 時間 ] [ -"
+#~ "eIgiqrvw ]\n"
+#~ " [ -s SIGNAL | -SIGNAL ] 名稱...\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " or: pstree -V\n"
+#~ msgstr ""
+#~ "用法: pstree [-acglpsStTu] [ -h | -H PID ] [ -n | -N 類型 ]\n"
+#~ " [ -A | -G | -U ] [ PID | 使用者 ]\n"
+#~ " 或: pstree -V\n"
+
+#~ msgid ""
+#~ "Copyright (C) 1993-2019 Werner Almesberger and Craig Small\n"
+#~ "\n"
+#~ msgstr ""
+#~ "著作權 © 1993-2019 Werner Almesberger 和 Craig Small\n"
+#~ "\n"
+
+#~ msgid ""
+#~ "Usage: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ "Usage: pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N type ]\n"
+#~ " [ -A | -G | -U ] [ PID | USER ]\n"
+#~ " pstree -V\n"
+#~ "Display a tree of processes.\n"
+#~ "\n"
+#~ " -a, --arguments show command line arguments\n"
+#~ " -A, --ascii use ASCII line drawing characters\n"
+#~ " -c, --compact don't compact identical subtrees\n"
+#~ " -h, --highlight-all highlight current process and its ancestors\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID highlight this process and its ancestors\n"
+#~ " -g, --show-pgids show process group ids; implies -c\n"
+#~ " -G, --vt100 use VT100 line drawing characters\n"
+#~ " -l, --long don't truncate long lines\n"
+#~ " -n, --numeric-sort sort output by PID\n"
+#~ " -N type,\n"
+#~ " --ns-sort=type sort by namespace type (cgroup, ipc, mnt, net, "
+#~ "pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids show PIDs; implies -c\n"
+#~ " -s, --show-parents show parents of the selected process\n"
+#~ " -S, --ns-changes show namespace transitions\n"
+#~ " -t, --thread-names show full thread names\n"
+#~ " -T, --hide-threads hide threads, show only processes\n"
+#~ " -u, --uid-changes show uid transitions\n"
+#~ " -U, --unicode use UTF-8 (Unicode) line drawing characters\n"
+#~ " -V, --version display version information\n"
+#~ msgstr ""
+#~ "用法:pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N 類型 ]\n"
+#~ "用法:pstree [-acglpsStu] [ -h | -H PID ] [ -n | -N 類型 ]\n"
+#~ " [ -A | -G | -U ] [ PID | 使用者 ]\n"
+#~ " pstree -V\n"
+#~ "顯示執行程序的樹狀圖。\n"
+#~ "\n"
+#~ " -a, --arguments 顯示命令列引數\n"
+#~ " -A, --ascii 使用 ASCII 線條繪製字元\n"
+#~ " -c, --compact 不壓縮相同的子樹\n"
+#~ " -h, --highlight-all 標示目前行程和它的原始節點\n"
+#~ " -H PID,\n"
+#~ " --highlight-pid=PID 標示這個行程和它的原始節點\n"
+#~ " -g, --show-pgids 顯示行程群組識別號;意味著 -c\n"
+#~ " -G, --vt100 使用 VT100 線條繪製字元\n"
+#~ " -l, --long 不截斷長列\n"
+#~ " -n, --numeric-sort 依照 PID 排序輸出\n"
+#~ " -N 類型,\n"
+#~ " --ns-sort=類型 依照命名空間類型排序 (cgroup, ipc, mnt, net, pid,\n"
+#~ " user, uts)\n"
+#~ " -p, --show-pids 顯示 PIDs;隱含 -c\n"
+#~ " -s, --show-parents 顯示已選行程的上層\n"
+#~ " -S, --ns-changes 顯示命名空間轉換\n"
+#~ " -t, --thread-names 顯示完整的執行緒名稱\n"
+#~ " -T, --hide-threads 隱藏執行緒,只顯示執行程序\n"
+#~ " -u, --uid-changes 顯示 uid 轉換\n"
+#~ " -U, --unicode 使用 UTF-8 (萬國碼) 線條繪製字元\n"
+#~ " -V, --version 顯示版本資訊\n"