From 6ebc29a7168a48b1f5d5f4f389adc97ff61e362e Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:14:53 +0200 Subject: [PATCH 01/48] gettext things --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index aea2963..ddb6f37 100644 --- a/.gitignore +++ b/.gitignore @@ -15,8 +15,17 @@ config.log config.status configure libtool +m4/ Makefile Makefile.in +Makefile.in.in +po/Makevars.template +po/POTFILES +po/Rules-quot +po/*.header +po/*.sed +po/*.sin +po/*.gmo src/pam_panic_pw/pam_panic_pw stamp-h1 test/test From 4b5bc1329e713f89a84119556f84264d0eba584f Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:19:39 +0200 Subject: [PATCH 02/48] I should've done this before. --- ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ChangeLog b/ChangeLog index e69de29..0a28130 100644 --- a/ChangeLog +++ b/ChangeLog @@ -0,0 +1,5 @@ +## [0.2.0] +- Adding gettext for translation capability + +## [0.1.2] +- First stable release From 7497d4c1fad75d1708a0eef099be262622588931 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:23:59 +0200 Subject: [PATCH 03/48] A better readme --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8036330..12ead0a 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,14 @@ There are two passwords you are able to set: the key password and the panic pass ## Installation -### Arch Linux -There is [pam_panic-git](https://aur.archlinux.org/packages/pam_panic-git/) in the AUR now. +### Arch Linux AUR +There is +- [pam_panic](https://aur.archlinux.org/packages/pam_panic/) - Actual [releases](https://github.com/pampanic/pam_panic/releases) and +- [pam_panic-git](https://aur.archlinux.org/packages/pam_panic-git/) for this actual git repository. ### Ubuntu -There's a [PPA](https://launchpad.net/~bandie/+archive/ubuntu/pampanic). +There's a [PPA](https://launchpad.net/~bandie/+archive/ubuntu/pampanic) updating for new [releases](https://github.com/pampanic/pam_panic/releases). + To install the package using the PPA: ``` sudo add-apt-repository ppa:bandie/pampanic From 11597d0539e091611af5036342f68b762d8e43b6 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:28:32 +0200 Subject: [PATCH 04/48] Prepare autotools for gettext --- Makefile.am | 4 ++-- configure.ac | 5 ++++- src/pam_panic/Makefile.am | 2 ++ src/pam_panic_pw/Makefile.am | 2 ++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 0547c75..278224a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,8 +1,8 @@ ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS = -I src +AM_CFLAGS = -I src -SUBDIRS = src/pam_panic src/pam_panic_pw +SUBDIRS = po src/pam_panic src/pam_panic_pw .PHONY: all test clean diff --git a/configure.ac b/configure.ac index 49c7047..e38eabe 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_INIT( [pam_panic], - [0.1.0], + [0.2.0], [https://github.com/pampanic/pam_panic/issues], [pam_panic]) AC_CONFIG_AUX_DIR([build-aux]) @@ -20,6 +20,8 @@ CFLAGS+=" -std=gnu11" AM_PROG_AR +AM_GNU_GETTEXT_VERSION(0.19.8) +AM_GNU_GETTEXT([external]) AC_PATH_PROG([REBOOT], [reboot]) AC_DEFINE_UNQUOTED([REBOOT], "$REBOOT", @@ -51,6 +53,7 @@ AC_ENABLE_SHARED([yes]) AC_CONFIG_FILES([ Makefile + po/Makefile.in src/pam_panic/Makefile src/pam_panic/man/Makefile src/pam_panic_pw/Makefile diff --git a/src/pam_panic/Makefile.am b/src/pam_panic/Makefile.am index 925f929..ab3c7e8 100644 --- a/src/pam_panic/Makefile.am +++ b/src/pam_panic/Makefile.am @@ -3,6 +3,8 @@ SUBDIRS = man securelibdir = $(SECUREDIR) securelibexecdir = $(securelibdir) +AM_CFLAGS = -DLOCALEDIR='"$(localedir)"' + securelibexec_LTLIBRARIES = pam_panic.la pam_panic_la_SOURCES = \ pam_panic.c \ diff --git a/src/pam_panic_pw/Makefile.am b/src/pam_panic_pw/Makefile.am index 6d795b6..911e3a9 100644 --- a/src/pam_panic_pw/Makefile.am +++ b/src/pam_panic_pw/Makefile.am @@ -1,5 +1,7 @@ SUBDIRS = man +AM_CFLAGS = -DLOCALEDIR='"$(localedir)"' + bin_PROGRAMS = pam_panic_pw pam_panic_pw_SOURCES = pam_panic_pw.c pam_panic_pw.h pam_panic_pw_LDFLAGS = -lcrypt From 92968eb417b182899bba3f48a3a9ff3f306913fc Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:29:22 +0200 Subject: [PATCH 05/48] Fix some makefiles --- src/pam_panic_pw/man/Makefile.am | 2 +- test/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pam_panic_pw/man/Makefile.am b/src/pam_panic_pw/man/Makefile.am index 936912f..c505b09 100644 --- a/src/pam_panic_pw/man/Makefile.am +++ b/src/pam_panic_pw/man/Makefile.am @@ -12,4 +12,4 @@ nobase_dist_cant_believe_its_not_man_DATA = \ clean-local: - rm ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.g + rm -f ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.gz diff --git a/test/Makefile.am b/test/Makefile.am index 7d1dc92..01c80fa 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,4 +1,4 @@ -CFLAGS += -DTEST +AM_CFLAGS = -DTEST bin_PROGRAMS = test test_SOURCES = ../src/pam_panic/pam_panic_authdevice.c ../src/pam_panic/pam_panic_reject.c test.c test_LDFLAGS = -lpam -lcunit From 9ee0585927825ca31c35161e7b810cc2915366dd Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:46:31 +0200 Subject: [PATCH 06/48] putting pam_panic.c on gettext --- src/pam_panic/pam_panic.c | 16 ++++++++++++---- src/pam_panic/pam_panic.h | 2 ++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/pam_panic/pam_panic.c b/src/pam_panic/pam_panic.c index 37f8072..4b61085 100644 --- a/src/pam_panic/pam_panic.c +++ b/src/pam_panic/pam_panic.c @@ -16,12 +16,18 @@ LICENSE : GNU-GPLv3 #include #include #include -#include "config.h" + #include "pam_panic_reject.h" +#include "../../lib/gettext.h" + +#define _(String) gettext(String) + #include "pam_panic_authdevice.h" #include "pam_panic_password.h" +#ifdef PACKAGE +#ifdef LOCALEDIR #ifdef REBOOT #ifdef POWEROFF #ifdef CRYPTSETUP @@ -30,7 +36,7 @@ int makeRegex(pam_handle_t *pamh, regex_t *regex){ char *pattern = "^[A-Fa-f0-9]\\{8\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{12\\}$"; if(regcomp(regex, pattern, 0)){ - pam_syslog(pamh, LOG_CRIT, "ERROR: Problem with regcomp."); + pam_syslog(pamh, LOG_CRIT, _("CRITICAL: Problem with regcomp.")); return 1; } @@ -107,7 +113,7 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons || (rejected_temp != NULL && regexec(®ex, rejected_temp, 0, NULL, 0) == REG_NOMATCH) || (bSerious && serious_temp == NULL) ) { - pam_syslog(pamh, LOG_ERR, "Arguments invalid. Note that allow and reject must have a valid GPT UUID."); + pam_syslog(pamh, LOG_ERR, _("ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a valid GPT UUID.")); return (PAM_ABORT); } @@ -143,7 +149,7 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons // Check if panic key exist if(bSerious && access(serious_dev, F_OK) == -1){ - pam_syslog(pamh, LOG_ALERT, "ALERT for argument \"serious\": Device doesn't exist."); + pam_syslog(pamh, LOG_ALERT, _("ALERT for argument \"serious\": Device doesn't exist.")); return (PAM_ABORT); } @@ -201,3 +207,5 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const c #endif #endif #endif +#endif +#endif diff --git a/src/pam_panic/pam_panic.h b/src/pam_panic/pam_panic.h index 0ec8644..d0761a2 100644 --- a/src/pam_panic/pam_panic.h +++ b/src/pam_panic/pam_panic.h @@ -17,6 +17,8 @@ LICENSE : GNU-GPLv3 #include #include #include +#include "../../lib/gettext.h" + #include "pam_panic_reject.h" #include "pam_panic_authdevice.h" #include "pam_panic_password.h" From 54ffdc16f102beac1191688b5fd8bb326828e21e Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:48:13 +0200 Subject: [PATCH 07/48] gettext: pam_panic_authdevice + better texts --- src/pam_panic/pam_panic_authdevice.c | 20 +++++++++++++++++--- src/pam_panic/pam_panic_authdevice.h | 3 +-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/pam_panic/pam_panic_authdevice.c b/src/pam_panic/pam_panic_authdevice.c index 94386f5..9b3e9f3 100644 --- a/src/pam_panic/pam_panic_authdevice.c +++ b/src/pam_panic/pam_panic_authdevice.c @@ -6,23 +6,37 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ + #include #include + +#include "../config.h" + +#include "../../lib/gettext.h" #include #include #include -#include "pam_panic_reject.h" +#include "pam_panic_reject.h" #include "pam_panic_authdevice.h" +#define _(String) gettext(String) + + int authDevice(pam_handle_t *pamh, char *allowed, char *rejected, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){ #ifndef TEST + + // gettext + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + int8_t counter = 0; while(access(allowed, F_OK) == -1 && access(rejected, F_OK) == -1){ - pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, NULL, ASK); + pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, NULL, _("Key? ")); if(++counter >= 3){ - pam_syslog(pamh, LOG_NOTICE, "Couldn't identify any keys. 3 tries."); + pam_syslog(pamh, LOG_NOTICE, _("Couldn't identify any key after 3 tries.")); return (PAM_MAXTRIES); } } diff --git a/src/pam_panic/pam_panic_authdevice.h b/src/pam_panic/pam_panic_authdevice.h index fe4386b..73139f5 100644 --- a/src/pam_panic/pam_panic_authdevice.h +++ b/src/pam_panic/pam_panic_authdevice.h @@ -5,7 +5,6 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ - -#define ASK "Key? " +#include "../config.h" int authDevice(pam_handle_t *pamh, char *allowed, char *rejected, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff); From 8ad9fad8e6570a743184e75bd16e121322036919 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:49:07 +0200 Subject: [PATCH 08/48] gettext: pam_panic_password --- src/pam_panic/pam_panic_password.c | 22 ++++++++++++++-------- src/pam_panic/pam_panic_password.h | 1 - 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/pam_panic/pam_panic_password.c b/src/pam_panic/pam_panic_password.c index 2b7414e..b3b9544 100644 --- a/src/pam_panic/pam_panic_password.c +++ b/src/pam_panic/pam_panic_password.c @@ -11,6 +11,10 @@ LICENSE : GNU-GPLv3 #include #include #include + +#include "../config.h" +#include "../../lib/gettext.h" + #include #include #include @@ -18,21 +22,18 @@ LICENSE : GNU-GPLv3 #include "pam_panic_password.h" #include "pam_panic_reject.h" -#define MSG_NOFILE "ALERT for password option: No password file detected." -#define MSG_ERROPEN "ERROR: Couldn't open password file." -#define MSG_CORRUPT "CRITICAL: Password file is corrupt!" - +#define _(String) gettext(String) int readPassword(pam_handle_t *pamh, char pw[2][99]){ // Open file if(access(PPASSFILE, F_OK) == -1){ - pam_syslog(pamh, LOG_ALERT, MSG_NOFILE); + pam_syslog(pamh, LOG_ALERT, _("ALERT for passwort option: No password file detected.")); return 2; } FILE *f = fopen(PPASSFILE, "r"); if(f == NULL){ - pam_syslog(pamh, LOG_ALERT, MSG_ERROPEN); + pam_syslog(pamh, LOG_ALERT, _("ERROR: Couldn't open password file.")); return 1; } @@ -44,7 +45,7 @@ int readPassword(pam_handle_t *pamh, char pw[2][99]){ fclose(f); if(nread != 198){ - pam_syslog(pamh, LOG_CRIT, MSG_CORRUPT); + pam_syslog(pamh, LOG_CRIT, _("CRITICAL: Password file is corrupt!")); return 3; } @@ -65,6 +66,11 @@ int readPassword(pam_handle_t *pamh, char pw[2][99]){ int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){ + // gettext + setlocale (LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + // PAM password response char resp[256]; char *response = NULL; @@ -84,7 +90,7 @@ int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t - pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, &response, PWPROMPT); + pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, &response, _("Password: ")); // Is response null? if(!response) diff --git a/src/pam_panic/pam_panic_password.h b/src/pam_panic/pam_panic_password.h index 6476554..7ecf411 100644 --- a/src/pam_panic/pam_panic_password.h +++ b/src/pam_panic/pam_panic_password.h @@ -10,7 +10,6 @@ LICENSE : GNU-GPLv3 #ifndef PPASSFILE #error PPASSFILE must be declared! #endif -#define PWPROMPT "Password::" int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff); From b7e89ce653fe3677aea7779f65ad126827c94c97 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:50:38 +0200 Subject: [PATCH 09/48] gettext: pam_panic_pw --- src/pam_panic_pw/pam_panic_pw.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/pam_panic_pw/pam_panic_pw.c b/src/pam_panic_pw/pam_panic_pw.c index 6f54cda..3d2e8eb 100644 --- a/src/pam_panic_pw/pam_panic_pw.c +++ b/src/pam_panic_pw/pam_panic_pw.c @@ -17,13 +17,15 @@ LICENSE : GNU-GPLv3 #include #include #include "config.h" +#include "../../lib/gettext.h" +#define _(String) gettext(String) int writePasswords(char pw[][99]){ FILE *f = fopen(PPASSFILE, "w"); if(f == NULL){ - fprintf(stderr, "ERROR opening file!\n"); + fprintf(stderr, _("ERROR opening file!\n")); return 2; } @@ -39,6 +41,12 @@ int writePasswords(char pw[][99]){ int main(void){ + // gettext + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + + // init time_t t; srand((unsigned) time(&t)); unsigned long seed[2]; @@ -52,12 +60,17 @@ int main(void){ char pw[2][99]; char pwv[2][99]; - char *prompt[4] = {"Key password: ", "Panic password: ", "Retype key password: ","Retype panic password: "}; + char *prompt[4] = { + _("Key password: "), + _("Panic password: "), + _("Retype key password: "), + _("Retype panic password: ") + }; int i; if(getuid() != 0){ - printf("Please run this program under root. Write access to %s is mandatory.\n", PPASSFILE); return 1; + printf(_("Please run this program under root. Write access to %s is mandatory.\n"), PPASSFILE); return 1; } for(int j=0; j<2; j++){ @@ -80,10 +93,10 @@ int main(void){ int ok = strcmp(pw[j], pwv[j]) == 0; if(!ok){ if(k==2){ - printf("Didn't work. Bye.\n"); + printf(_("Didn't work. Bye.\n")); return 1; }else - printf("Password didn't match. Try again.\n"); + printf(_("Password didn't match. Try again.\n")); }else break; } @@ -94,3 +107,4 @@ int main(void){ return writePasswords(pw); } + From 522e7eb3af36e54fe8d80d5f7bc341654277b6c9 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 21 Sep 2018 22:58:04 +0200 Subject: [PATCH 10/48] Implementation of gettext, .gitignore fix --- .gitignore | 1 + ABOUT-NLS | 1379 ++++++++++++++++++++++++++++++++++++++++++++++ lib/gettext.h | 292 ++++++++++ po/LINGUAS | 2 + po/Makevars | 53 ++ po/POTFILES.in | 5 + po/de.po | 97 ++++ po/pam_panic.pot | 92 ++++ 8 files changed, 1921 insertions(+) create mode 100644 ABOUT-NLS create mode 100644 lib/gettext.h create mode 100644 po/LINGUAS create mode 100644 po/Makevars create mode 100644 po/POTFILES.in create mode 100644 po/de.po create mode 100644 po/pam_panic.pot diff --git a/.gitignore b/.gitignore index ddb6f37..41ba4df 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ Makefile.in.in po/Makevars.template po/POTFILES po/Rules-quot +po/stamp-po po/*.header po/*.sed po/*.sin diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 0000000..3cc8286 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,1379 @@ +1 Notes on the Free Translation Project +*************************************** + +Free software is going international! The Free Translation Project is a +way to get maintainers of free software, translators, and users all +together, so that free software will gradually become able to speak many +languages. A few packages already provide translations for their +messages. + + If you found this 'ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU 'gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU 'gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work on translations can contact the appropriate team. + +1.1 INSTALL Matters +=================== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU 'gettext'. Other packages have their own ways to +internationalization, predating GNU 'gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU 'gettext' functions. Installers may use special +options at configuration time for changing the default behaviour. The +command: + + ./configure --disable-nls + +will _totally_ disable translation of messages. + + When you already have GNU 'gettext' installed on your system and run +configure without an option for your new package, 'configure' will +probably detect the previously built and installed 'libintl' library and +will decide to use it. If not, you may have to to use the +'--with-libintl-prefix' option to tell 'configure' where to look for it. + + Internationalized packages usually have many 'po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at 'configure' time by using the +'--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable 'LINGUAS' +may be set, prior to configuration, to limit the installed set. +'LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +1.2 Using This Package +====================== + +As a user, if your language has been installed for this package, you +only have to set the 'LANG' environment variable to the appropriate +'LL_CC' combination. If you happen to have the 'LC_ALL' or some other +'LC_xxx' environment variables set, you should unset them before setting +'LANG', otherwise the setting of 'LANG' will not have the desired +effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is +an ISO 3166 two-letter country code. For example, let's suppose that +you speak German and live in Germany. At the shell prompt, merely +execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in +'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your +'.login' or '.profile' file, once and for all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of 'LL_CC', with 'LL' denoting the +language and 'CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are used, +such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales +supported by your system for your language by running the command +'locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' +for the purpose of message handling, but you still need to have 'LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather read +translations in German than English for when Swedish is not available, +set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from 'no' to 'nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under 'nb' and some older ones under 'no', it's recommended +for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and +older translations are used. + + In the 'LANGUAGE' environment variable, but not in the 'LANG' +environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to +denote the language's main dialect. For example, 'de' is equivalent to +'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese +as spoken in Portugal) in this context. + +1.3 Translating Teams +===================== + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +'http://translationproject.org/', in the "Teams" area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +'-request' appended. For example, speakers of Swedish can send a +message to 'sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate _actively_ +in translations, or at solving translational difficulties, rather than +merely lurking around. If your team does not exist yet and you want to +start one, or if you are unsure about what to do or how to get started, +please write to 'coordinator@translationproject.org' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. + +1.4 Available Packages +====================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of Jun 2014. +The matrix shows, in regard of each package, for which languages PO +files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs + +---------------------------------------------------+ + a2ps | [] [] [] | + aegis | | + anubis | | + aspell | [] [] [] | + bash | [] [] [] | + bfd | | + binutils | [] | + bison | | + bison-runtime | [] | + buzztrax | [] | + ccd2cue | | + ccide | | + cflow | | + clisp | | + coreutils | [] [] | + cpio | | + cppi | | + cpplib | [] | + cryptsetup | [] | + datamash | | + denemo | [] [] | + dfarc | [] | + dialog | [] [] [] | + dico | | + diffutils | [] | + dink | [] | + direvent | | + doodle | [] | + dos2unix | | + dos2unix-man | | + e2fsprogs | [] [] | + enscript | [] | + exif | [] | + fetchmail | [] [] | + findutils | [] | + flex | [] | + freedink | [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | [] | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] [] | + gjay | | + glunarclock | [] [] [] | + gnubiff | [] | + gnubik | [] | + gnucash | () () [] | + gnuchess | | + gnulib | [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] | + gprof | [] | + gramadoir | | + grep | [] [] [] | + grub | [] | + gsasl | | + gss | | + gst-plugins-bad | [] [] | + gst-plugins-base | [] [] [] | + gst-plugins-good | [] [] [] | + gst-plugins-ugly | [] [] [] | + gstreamer | [] [] [] [] | + gtick | [] | + gtkam | [] [] | + gtkspell | [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] | + hello | [] | + help2man | | + help2man-texi | | + hylafax | | + idutils | | + iso_15924 | [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + iso_639_5 | | + jwhois | | + kbd | [] | + klavaro | [] [] [] [] [] | + ld | [] | + leafpad | [] [] [] [] | + libc | [] [] [] | + libexif | () | + libextractor | | + libgnutls | [] | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | | + libiconv | [] [] | + libidn | [] | + liferea | [] [] [] [] | + lilypond | [] [] | + lordsawar | [] | + lprng | | + lynx | [] [] | + m4 | [] | + mailfromd | | + mailutils | | + make | [] | + man-db | [] [] | + man-db-manpages | | + midi-instruments | [] [] [] | + minicom | [] | + mkisofs | [] | + myserver | [] | + nano | [] [] [] | + opcodes | | + parted | [] | + pies | | + pnmixer | | + popt | [] | + procps-ng | | + procps-ng-man | | + psmisc | [] | + pspp | [] | + pushover | [] | + pwdutils | | + pyspread | | + radius | [] | + recode | [] [] [] | + recutils | | + rpm | | + rush | | + sarg | | + sed | [] [] [] [] | + sharutils | [] | + shishi | | + skribilo | | + solfege | [] [] | + solfege-manual | | + spotmachine | | + sudo | [] [] | + sudoers | [] [] | + sysstat | [] | + tar | [] [] [] | + texinfo | [] [] | + texinfo_document | [] [] | + tigervnc | [] | + tin | | + tin-man | | + tracgoogleappsa... | | + trader | | + util-linux | [] | + ve | | + vice | | + vmm | | + vorbis-tools | [] | + wastesedge | | + wcd | | + wcd-man | | + wdiff | [] [] | + wget | [] | + wyslij-po | | + xboard | | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +---------------------------------------------------+ + af am an ar as ast az be bg bn bn_IN bs ca crh cs + 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74 + + da de el en en_GB en_ZA eo es et eu fa fi fr + +--------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] [] | + aegis | [] [] [] [] | + anubis | [] [] [] [] [] | + aspell | [] [] [] [] [] [] [] | + bash | [] [] [] | + bfd | [] [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] [] [] [] [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | [] [] [] [] | + ccd2cue | [] [] [] [] | + ccide | [] [] [] [] [] [] | + cflow | [] [] [] [] [] | + clisp | [] [] [] [] [] | + coreutils | [] [] [] [] [] | + cpio | [] [] [] [] [] | + cppi | [] [] [] [] [] | + cpplib | [] [] [] [] [] [] | + cryptsetup | [] [] [] [] [] | + datamash | [] [] [] [] | + denemo | [] | + dfarc | [] [] [] [] [] [] | + dialog | [] [] [] [] [] [] [] [] [] | + dico | [] [] [] [] | + diffutils | [] [] [] [] [] [] | + dink | [] [] [] [] [] [] | + direvent | [] [] [] [] | + doodle | [] [] [] [] | + dos2unix | [] [] [] [] [] | + dos2unix-man | [] [] [] | + e2fsprogs | [] [] [] [] [] | + enscript | [] [] [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] () [] [] [] [] [] | + findutils | [] [] [] [] [] [] [] [] | + flex | [] [] [] [] [] [] | + freedink | [] [] [] [] [] [] [] [] | + fusionforge | [] [] [] | + gas | [] [] [] | + gawk | [] [] [] [] [] | + gcal | [] [] [] [] | + gcc | [] | + gdbm | [] [] [] [] [] | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] | + gjay | [] [] [] [] | + glunarclock | [] [] [] [] [] | + gnubiff | () [] [] () | + gnubik | [] [] [] [] [] | + gnucash | [] () () () () () () | + gnuchess | [] [] [] [] | + gnulib | [] [] [] [] [] [] [] | + gnunet | [] | + gnunet-gtk | [] | + gold | [] [] [] | + gphoto2 | [] () [] [] | + gprof | [] [] [] [] [] [] | + gramadoir | [] [] [] [] [] | + grep | [] [] [] [] [] [] [] | + grub | [] [] [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | [] () [] [] [] | + gtkam | [] () [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] | + guix | [] [] | + guix-packages | | + gutenprint | [] [] [] [] | + hello | [] [] [] [] [] [] [] [] | + help2man | [] [] [] [] [] [] [] | + help2man-texi | [] [] [] | + hylafax | [] [] | + idutils | [] [] [] [] [] | + iso_15924 | [] () [] [] () [] () | + iso_3166 | [] () [] [] [] [] () [] () | + iso_3166_2 | [] () () () | + iso_4217 | [] () [] [] [] () [] () | + iso_639 | [] () [] [] () [] () | + iso_639_3 | () () () | + iso_639_5 | () () () | + jwhois | [] [] [] [] [] | + kbd | [] [] [] [] [] [] | + klavaro | [] [] [] [] [] [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] [] () [] [] | + libextractor | [] | + libgnutls | [] [] [] [] | + libgphoto2 | [] () [] | + libgphoto2_port | [] () [] [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] [] [] | + libidn | [] [] [] [] [] | + liferea | [] () [] [] [] [] [] | + lilypond | [] [] [] [] [] [] | + lordsawar | [] [] | + lprng | | + lynx | [] [] [] [] [] [] | + m4 | [] [] [] [] [] [] | + mailfromd | [] | + mailutils | [] [] [] [] | + make | [] [] [] [] [] | + man-db | [] [] [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] [] [] [] | + minicom | [] [] [] [] [] | + mkisofs | [] [] [] | + myserver | [] [] [] [] | + nano | [] [] [] [] [] [] [] | + opcodes | [] [] [] [] [] | + parted | [] [] [] | + pies | [] | + pnmixer | [] [] | + popt | [] [] [] [] [] [] | + procps-ng | [] [] | + procps-ng-man | [] [] | + psmisc | [] [] [] [] [] [] [] | + pspp | [] [] [] | + pushover | () [] [] [] | + pwdutils | [] [] [] | + pyspread | [] [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] | + recutils | [] [] [] [] | + rpm | [] [] [] [] [] | + rush | [] [] [] | + sarg | [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] [] [] | + skribilo | [] [] [] | + solfege | [] [] [] [] [] [] [] [] | + solfege-manual | [] [] [] [] [] | + spotmachine | [] [] [] [] [] | + sudo | [] [] [] [] [] [] | + sudoers | [] [] [] [] [] [] | + sysstat | [] [] [] [] [] [] | + tar | [] [] [] [] [] [] [] | + texinfo | [] [] [] [] [] | + texinfo_document | [] [] [] [] | + tigervnc | [] [] [] [] [] [] | + tin | [] [] [] [] | + tin-man | [] | + tracgoogleappsa... | [] [] [] [] [] | + trader | [] [] [] [] [] [] | + util-linux | [] [] [] [] | + ve | [] [] [] [] [] | + vice | () () () | + vmm | [] [] | + vorbis-tools | [] [] [] [] | + wastesedge | [] | + wcd | [] [] [] [] | + wcd-man | [] | + wdiff | [] [] [] [] [] [] [] | + wget | [] [] [] [] [] [] | + wyslij-po | [] [] [] [] | + xboard | [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] [] | + +--------------------------------------------------+ + da de el en en_GB en_ZA eo es et eu fa fi fr + 119 131 32 1 6 0 94 95 22 13 4 102 139 + + ga gd gl gu he hi hr hu hy ia id is it ja ka kk + +-------------------------------------------------+ + a2ps | [] [] [] [] | + aegis | [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] | + binutils | [] [] [] | + bison | [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | | + ccd2cue | [] | + ccide | [] [] | + cflow | [] [] [] | + clisp | | + coreutils | [] [] | + cpio | [] [] [] [] [] [] | + cppi | [] [] [] [] [] | + cpplib | [] [] | + cryptsetup | [] | + datamash | | + denemo | [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] | + dink | [] | + direvent | [] | + doodle | [] [] | + dos2unix | [] [] | + dos2unix-man | | + e2fsprogs | [] [] | + enscript | [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] | + findutils | [] [] [] [] [] [] [] | + flex | [] | + freedink | [] [] [] [] | + fusionforge | | + gas | [] | + gawk | [] () [] | + gcal | | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] | + gettext-tools | [] [] [] | + gjay | [] | + glunarclock | [] [] [] [] [] [] | + gnubiff | [] [] () | + gnubik | [] [] [] | + gnucash | () () () () () | + gnuchess | | + gnulib | [] [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] [] | + grep | [] [] [] [] [] [] [] | + grub | [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] [] | + gst-plugins-base | [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] [] | + hello | [] [] [] [] [] | + help2man | [] [] [] | + help2man-texi | | + hylafax | [] | + idutils | [] [] | + iso_15924 | [] [] [] [] [] [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | [] [] | + iso_4217 | [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + iso_639_5 | | + jwhois | [] [] [] [] | + kbd | [] [] [] | + klavaro | [] [] [] [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] () | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | | + libgnutls | [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] [] [] | + libidn | [] [] [] [] | + liferea | [] [] [] [] [] | + lilypond | [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | | + mailutils | | + make | [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] [] [] [] | + minicom | [] [] [] | + mkisofs | [] [] | + myserver | [] | + nano | [] [] [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] [] | + pies | | + pnmixer | [] [] | + popt | [] [] [] [] [] [] [] [] [] [] | + procps-ng | | + procps-ng-man | | + psmisc | [] [] [] [] | + pspp | [] [] | + pushover | [] | + pwdutils | [] | + pyspread | | + radius | [] | + recode | [] [] [] [] [] [] [] | + recutils | | + rpm | [] | + rush | [] | + sarg | | + sed | [] [] [] [] [] [] [] | + sharutils | | + shishi | | + skribilo | [] | + solfege | [] [] | + solfege-manual | | + spotmachine | | + sudo | [] [] [] [] | + sudoers | [] [] [] | + sysstat | [] [] [] [] | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] [] [] | + tigervnc | | + tin | | + tin-man | | + tracgoogleappsa... | [] [] [] [] | + trader | [] [] | + util-linux | [] | + ve | [] | + vice | () () | + vmm | | + vorbis-tools | [] [] | + wastesedge | [] | + wcd | | + wcd-man | | + wdiff | [] [] [] | + wget | [] [] [] [] | + wyslij-po | [] [] [] | + xboard | | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] | + +-------------------------------------------------+ + ga gd gl gu he hi hr hu hy ia id is it ja ka kk + 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3 + + kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl + +--------------------------------------------------+ + a2ps | [] [] | + aegis | [] | + anubis | [] [] [] | + aspell | [] [] | + bash | [] [] | + bfd | | + binutils | | + bison | [] | + bison-runtime | [] [] [] [] [] [] | + buzztrax | | + ccd2cue | | + ccide | [] [] | + cflow | [] | + clisp | [] | + coreutils | [] [] | + cpio | [] | + cppi | | + cpplib | [] | + cryptsetup | [] | + datamash | [] [] | + denemo | | + dfarc | [] [] | + dialog | [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] | + dink | [] | + direvent | [] | + doodle | [] | + dos2unix | [] [] | + dos2unix-man | [] | + e2fsprogs | [] | + enscript | [] | + exif | [] [] [] | + fetchmail | [] | + findutils | [] [] | + flex | [] | + freedink | [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] | + gjay | | + glunarclock | [] [] | + gnubiff | [] | + gnubik | [] [] | + gnucash | () () () () () () () [] | + gnuchess | [] [] | + gnulib | [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] | + gprof | [] [] | + gramadoir | [] | + grep | [] [] | + grub | [] [] [] | + gsasl | [] | + gss | | + gst-plugins-bad | [] [] [] | + gst-plugins-base | [] [] [] | + gst-plugins-good | [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | [] [] [] | + gtick | [] | + gtkam | [] [] | + gtkspell | [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] | + hello | [] [] [] | + help2man | [] | + help2man-texi | | + hylafax | [] | + idutils | [] | + iso_15924 | () [] [] | + iso_3166 | [] [] [] () [] [] [] [] [] [] | + iso_3166_2 | () [] | + iso_4217 | () [] [] [] | + iso_639 | [] [] () [] [] [] [] | + iso_639_3 | [] () [] | + iso_639_5 | () | + jwhois | [] [] | + kbd | [] | + klavaro | [] [] | + ld | | + leafpad | [] [] [] [] [] | + libc | [] [] | + libexif | [] | + libextractor | [] | + libgnutls | [] [] | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | [] | + libiconv | [] [] | + libidn | [] | + liferea | [] [] [] | + lilypond | [] | + lordsawar | | + lprng | | + lynx | [] | + m4 | [] | + mailfromd | | + mailutils | | + make | [] [] | + man-db | [] | + man-db-manpages | [] | + midi-instruments | [] [] [] [] [] [] [] | + minicom | [] | + mkisofs | [] | + myserver | | + nano | [] [] [] | + opcodes | [] | + parted | [] [] | + pies | | + pnmixer | [] | + popt | [] [] [] [] [] | + procps-ng | | + procps-ng-man | | + psmisc | [] | + pspp | [] [] | + pushover | | + pwdutils | [] | + pyspread | | + radius | [] | + recode | [] [] | + recutils | [] | + rpm | [] | + rush | [] | + sarg | | + sed | [] [] | + sharutils | [] | + shishi | | + skribilo | | + solfege | [] [] | + solfege-manual | [] | + spotmachine | [] | + sudo | [] [] [] | + sudoers | [] [] [] | + sysstat | [] [] | + tar | [] [] [] | + texinfo | [] | + texinfo_document | [] | + tigervnc | [] | + tin | | + tin-man | | + tracgoogleappsa... | [] [] [] | + trader | [] | + util-linux | [] | + ve | [] | + vice | [] | + vmm | [] | + vorbis-tools | [] | + wastesedge | [] | + wcd | [] | + wcd-man | [] | + wdiff | [] | + wget | [] [] | + wyslij-po | [] | + xboard | [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +--------------------------------------------------+ + kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl + 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125 + + nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + +------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] | + aegis | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] [] [] [] | + bash | [] [] [] [] [] [] | + bfd | [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | [] | + ccd2cue | [] [] | + ccide | [] [] [] | + cflow | [] [] [] | + clisp | [] | + coreutils | [] [] [] [] | + cpio | [] [] [] | + cppi | [] [] [] | + cpplib | [] [] [] | + cryptsetup | [] [] [] | + datamash | [] [] | + denemo | | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] | + dico | [] | + diffutils | [] [] [] | + dink | | + direvent | [] [] [] | + doodle | [] [] | + dos2unix | [] [] [] [] | + dos2unix-man | [] [] | + e2fsprogs | [] | + enscript | [] [] [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] [] [] | + freedink | [] [] [] [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | | + gcc | | + gdbm | [] [] [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] [] | + gjay | [] | + glunarclock | [] [] [] [] [] [] | + gnubiff | [] | + gnubik | [] [] [] [] | + gnucash | () () () () () [] | + gnuchess | [] [] | + gnulib | [] [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] | + grep | [] [] [] [] [] [] | + grub | [] [] [] [] [] | + gsasl | [] [] [] | + gss | [] [] [] [] | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] | + hello | [] [] [] [] [] [] | + help2man | [] [] [] [] | + help2man-texi | [] | + hylafax | | + idutils | [] [] [] | + iso_15924 | [] () [] [] [] [] | + iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | + iso_3166_2 | [] () [] | + iso_4217 | [] [] () [] [] [] [] [] | + iso_639 | [] [] [] () [] [] [] [] [] [] | + iso_639_3 | [] () | + iso_639_5 | () [] | + jwhois | [] [] [] [] | + kbd | [] [] | + klavaro | [] [] [] [] [] | + ld | | + leafpad | [] [] [] [] [] [] [] [] | + libc | [] [] [] | + libexif | [] () [] | + libextractor | [] | + libgnutls | [] | + libgphoto2 | [] | + libgphoto2_port | [] [] [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] [] | + liferea | [] [] [] [] () [] [] | + lilypond | | + lordsawar | | + lprng | [] | + lynx | [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] | + make | [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] [] | + midi-instruments | [] [] [] [] [] [] [] [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | [] [] | + nano | [] [] [] [] [] [] | + opcodes | | + parted | [] [] [] [] [] [] | + pies | [] | + pnmixer | [] | + popt | [] [] [] [] [] [] | + procps-ng | [] | + procps-ng-man | [] | + psmisc | [] [] [] [] | + pspp | [] [] | + pushover | | + pwdutils | [] | + pyspread | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + recutils | [] [] | + rpm | [] | + rush | [] [] [] | + sarg | [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] | + shishi | [] [] | + skribilo | [] | + solfege | [] [] [] | + solfege-manual | [] [] | + spotmachine | [] [] | + sudo | [] [] [] [] [] [] | + sudoers | [] [] [] [] | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] [] | + tigervnc | [] [] [] | + tin | [] | + tin-man | | + tracgoogleappsa... | [] [] [] [] | + trader | [] [] | + util-linux | [] [] | + ve | [] [] [] | + vice | | + vmm | | + vorbis-tools | [] [] [] | + wastesedge | | + wcd | | + wcd-man | | + wdiff | [] [] [] [] [] | + wget | [] [] [] [] [] | + wyslij-po | [] [] [] [] | + xboard | [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + +------------------------------------------------+ + nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + 7 3 6 114 1 12 88 32 82 3 40 45 7 101 + + sv sw ta te tg th tr uk ur vi wa wo zh_CN + +----------------------------------------------+ + a2ps | [] [] [] [] [] | + aegis | [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] | + bison-runtime | [] [] [] [] [] [] | + buzztrax | [] [] [] | + ccd2cue | [] [] [] | + ccide | [] [] [] [] | + cflow | [] [] [] [] | + clisp | | + coreutils | [] [] [] | + cpio | [] [] [] [] [] | + cppi | [] [] [] [] | + cpplib | [] [] [] [] [] | + cryptsetup | [] [] [] | + datamash | [] [] [] | + denemo | [] | + dfarc | [] [] | + dialog | [] [] [] [] [] [] | + dico | [] | + diffutils | [] [] [] [] [] | + dink | [] | + direvent | [] [] | + doodle | [] [] | + dos2unix | [] [] [] [] | + dos2unix-man | [] [] [] | + e2fsprogs | [] [] [] [] | + enscript | [] [] [] [] | + exif | [] [] [] [] [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] | + freedink | [] [] [] | + fusionforge | | + gas | [] | + gawk | [] [] [] | + gcal | [] [] [] | + gcc | [] | + gdbm | [] [] | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] [] [] [] | + gjay | [] [] [] | + glunarclock | [] [] [] [] | + gnubiff | [] [] | + gnubik | [] [] [] [] | + gnucash | () () () () [] | + gnuchess | [] [] [] | + gnulib | [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] [] | + grep | [] [] [] [] [] | + grub | [] [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] [] [] | + hello | [] [] [] [] [] [] | + help2man | [] [] [] | + help2man-texi | [] | + hylafax | [] | + idutils | [] [] [] | + iso_15924 | [] () [] [] () [] | + iso_3166 | [] [] () [] [] () [] [] | + iso_3166_2 | () [] [] () [] | + iso_4217 | [] () [] [] () [] | + iso_639 | [] [] [] () [] [] () [] [] | + iso_639_3 | [] () [] [] () | + iso_639_5 | () [] () | + jwhois | [] [] [] [] | + kbd | [] [] [] [] | + klavaro | [] [] [] [] [] [] | + ld | [] [] [] [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] [] () | + libextractor | [] [] | + libgnutls | [] [] [] [] | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | () [] [] [] | + liferea | [] [] [] [] [] | + lilypond | [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] | + m4 | [] [] [] | + mailfromd | [] [] | + mailutils | [] | + make | [] [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] | + minicom | [] [] | + mkisofs | [] [] [] | + myserver | [] | + nano | [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] [] | + pies | [] [] | + pnmixer | [] [] [] | + popt | [] [] [] [] [] [] [] | + procps-ng | [] [] | + procps-ng-man | [] | + psmisc | [] [] [] [] | + pspp | [] [] [] | + pushover | [] | + pwdutils | [] [] | + pyspread | [] | + radius | [] [] | + recode | [] [] [] [] | + recutils | [] [] [] | + rpm | [] [] [] [] | + rush | [] [] | + sarg | | + sed | [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] [] | + skribilo | [] [] | + solfege | [] [] [] [] | + solfege-manual | [] | + spotmachine | [] [] [] | + sudo | [] [] [] [] [] | + sudoers | [] [] [] [] | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] | + tigervnc | [] [] [] | + tin | [] | + tin-man | | + tracgoogleappsa... | [] [] [] [] [] | + trader | [] | + util-linux | [] [] [] [] | + ve | [] [] [] [] | + vice | () () | + vmm | | + vorbis-tools | [] [] | + wastesedge | | + wcd | [] [] [] | + wcd-man | [] | + wdiff | [] [] [] [] | + wget | [] [] [] | + wyslij-po | [] [] | + xboard | [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + +----------------------------------------------+ + sv sw ta te tg th tr uk ur vi wa wo zh_CN + 106 1 4 3 0 13 51 115 1 125 7 1 100 + + zh_HK zh_TW + +-------------+ + a2ps | | 30 + aegis | | 9 + anubis | | 19 + aspell | | 29 + bash | [] | 23 + bfd | | 11 + binutils | | 12 + bison | [] | 18 + bison-runtime | [] | 38 + buzztrax | | 9 + ccd2cue | | 10 + ccide | | 17 + cflow | | 16 + clisp | | 10 + coreutils | | 18 + cpio | | 20 + cppi | | 17 + cpplib | [] | 19 + cryptsetup | | 14 + datamash | | 11 + denemo | | 5 + dfarc | | 17 + dialog | [] | 42 + dico | | 6 + diffutils | | 22 + dink | | 10 + direvent | | 11 + doodle | | 12 + dos2unix | [] | 18 + dos2unix-man | | 9 + e2fsprogs | | 15 + enscript | | 21 + exif | | 27 + fetchmail | | 19 + findutils | | 29 + flex | [] | 19 + freedink | | 24 + fusionforge | | 3 + gas | | 5 + gawk | | 13 + gcal | | 8 + gcc | | 2 + gdbm | | 10 + gettext-examples | [] [] | 40 + gettext-runtime | [] [] | 35 + gettext-tools | [] | 24 + gjay | | 9 + glunarclock | [] | 27 + gnubiff | | 9 + gnubik | | 19 + gnucash | () | 6 + gnuchess | | 11 + gnulib | | 23 + gnunet | | 1 + gnunet-gtk | | 1 + gold | | 7 + gphoto2 | [] | 19 + gprof | | 21 + gramadoir | | 14 + grep | [] | 31 + grub | | 21 + gsasl | [] | 19 + gss | | 17 + gst-plugins-bad | | 21 + gst-plugins-base | | 27 + gst-plugins-good | | 32 + gst-plugins-ugly | | 34 + gstreamer | [] | 32 + gtick | | 19 + gtkam | | 24 + gtkspell | [] [] | 48 + guix | | 2 + guix-packages | | 0 + gutenprint | | 15 + hello | [] | 30 + help2man | | 18 + help2man-texi | | 5 + hylafax | | 5 + idutils | | 14 + iso_15924 | [] | 23 + iso_3166 | [] [] | 58 + iso_3166_2 | | 9 + iso_4217 | [] [] | 28 + iso_639 | [] [] | 46 + iso_639_3 | | 10 + iso_639_5 | | 2 + jwhois | [] | 20 + kbd | | 17 + klavaro | | 30 + ld | [] | 15 + leafpad | [] | 39 + libc | [] | 24 + libexif | | 10 + libextractor | | 5 + libgnutls | | 13 + libgphoto2 | | 10 + libgphoto2_port | [] | 19 + libgsasl | | 18 + libiconv | [] | 29 + libidn | | 17 + liferea | | 29 + lilypond | | 11 + lordsawar | | 3 + lprng | | 3 + lynx | | 19 + m4 | [] | 22 + mailfromd | | 4 + mailutils | | 6 + make | | 19 + man-db | | 15 + man-db-manpages | | 10 + midi-instruments | [] | 43 + minicom | [] | 17 + mkisofs | | 13 + myserver | | 9 + nano | [] | 30 + opcodes | | 12 + parted | [] | 23 + pies | | 4 + pnmixer | | 9 + popt | [] | 36 + procps-ng | | 5 + procps-ng-man | | 4 + psmisc | [] | 22 + pspp | | 13 + pushover | | 6 + pwdutils | | 8 + pyspread | | 6 + radius | | 9 + recode | | 31 + recutils | | 10 + rpm | [] | 13 + rush | | 10 + sarg | | 4 + sed | [] | 35 + sharutils | | 13 + shishi | | 7 + skribilo | | 7 + solfege | | 21 + solfege-manual | | 9 + spotmachine | | 11 + sudo | | 26 + sudoers | | 22 + sysstat | | 23 + tar | [] | 30 + texinfo | | 17 + texinfo_document | | 13 + tigervnc | | 14 + tin | [] | 7 + tin-man | | 1 + tracgoogleappsa... | [] | 22 + trader | | 12 + util-linux | | 13 + ve | | 14 + vice | | 1 + vmm | | 3 + vorbis-tools | | 13 + wastesedge | | 3 + wcd | | 8 + wcd-man | | 3 + wdiff | [] | 23 + wget | | 21 + wyslij-po | | 14 + xboard | | 10 + xdg-user-dirs | [] [] | 68 + xkeyboard-config | [] | 28 + +-------------+ + 89 teams zh_HK zh_TW + 166 domains 7 42 2809 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and distributed +as such by its maintainer. There might be an observable lag between the +mere existence a PO file and its wide availability in a distribution. + + If Jun 2014 seems to be old, you may fetch a more recent copy of this +'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix +with full percentage details can be found at +'http://translationproject.org/extra/matrix.html'. + +1.5 Using 'gettext' in new packages +=================================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU 'gettext' in your +package. Of course you have to respect the GNU Lesser General Public +License which covers the use of the GNU 'gettext' library. This means +in particular that even non-free programs can use 'libintl' as a shared +library, whereas only free software can use 'libintl' as a static +library or use modified versions of 'libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of 'gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +'coordinator@translationproject.org' to make the '.pot' files available +to the translation teams. diff --git a/lib/gettext.h b/lib/gettext.h new file mode 100644 index 0000000..841b072 --- /dev/null +++ b/lib/gettext.h @@ -0,0 +1,292 @@ +/* Convenience header for conditional use of GNU . + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 Free Software + Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _LIBGETTEXT_H +#define _LIBGETTEXT_H 1 + +/* NLS can be disabled through the configure --disable-nls option. */ +#if ENABLE_NLS + +/* Get declarations of GNU message catalog functions. */ +# include + +/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by + the gettext() and ngettext() macros. This is an alternative to calling + textdomain(), and is useful for libraries. */ +# ifdef DEFAULT_TEXT_DOMAIN +# undef gettext +# define gettext(Msgid) \ + dgettext (DEFAULT_TEXT_DOMAIN, Msgid) +# undef ngettext +# define ngettext(Msgid1, Msgid2, N) \ + dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) +# endif + +#else + +/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which + chokes if dcgettext is defined as a macro. So include it now, to make + later inclusions of a NOP. We don't include + as well because people using "gettext.h" will not include , + and also including would fail on SunOS 4, whereas + is OK. */ +#if defined(__sun) +# include +#endif + +/* Many header files from the libstdc++ coming with g++ 3.3 or newer include + , which chokes if dcgettext is defined as a macro. So include + it now, to make later inclusions of a NOP. */ +#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) +# include +# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H +# include +# endif +#endif + +/* Disabled NLS. + The casts to 'const char *' serve the purpose of producing warnings + for invalid uses of the value returned from these functions. + On pre-ANSI systems without 'const', the config.h file is supposed to + contain "#define const". */ +# undef gettext +# define gettext(Msgid) ((const char *) (Msgid)) +# undef dgettext +# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) +# undef dcgettext +# define dcgettext(Domainname, Msgid, Category) \ + ((void) (Category), dgettext (Domainname, Msgid)) +# undef ngettext +# define ngettext(Msgid1, Msgid2, N) \ + ((N) == 1 \ + ? ((void) (Msgid2), (const char *) (Msgid1)) \ + : ((void) (Msgid1), (const char *) (Msgid2))) +# undef dngettext +# define dngettext(Domainname, Msgid1, Msgid2, N) \ + ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) +# undef dcngettext +# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ + ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N)) +# undef textdomain +# define textdomain(Domainname) ((const char *) (Domainname)) +# undef bindtextdomain +# define bindtextdomain(Domainname, Dirname) \ + ((void) (Domainname), (const char *) (Dirname)) +# undef bind_textdomain_codeset +# define bind_textdomain_codeset(Domainname, Codeset) \ + ((void) (Domainname), (const char *) (Codeset)) + +#endif + +/* Prefer gnulib's setlocale override over libintl's setlocale override. */ +#ifdef GNULIB_defined_setlocale +# undef setlocale +# define setlocale rpl_setlocale +#endif + +/* A pseudo function call that serves as a marker for the automated + extraction of messages, but does not call gettext(). The run-time + translation is done at a different place in the code. + The argument, String, should be a literal string. Concatenated strings + and other string expressions won't work. + The macro's expansion is not parenthesized, so that it is suitable as + initializer for static 'char[]' or 'const char[]' variables. */ +#define gettext_noop(String) String + +/* The separator between msgctxt and msgid in a .mo file. */ +#define GETTEXT_CONTEXT_GLUE "\004" + +/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a + MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be + short and rarely need to change. + The letter 'p' stands for 'particular' or 'special'. */ +#ifdef DEFAULT_TEXT_DOMAIN +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#else +# define pgettext(Msgctxt, Msgid) \ + pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#endif +#define dpgettext(Domainname, Msgctxt, Msgid) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ + pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) +#ifdef DEFAULT_TEXT_DOMAIN +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#else +# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#endif +#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ + npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +pgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + int category) +{ + const char *translation = dcgettext (domain, msg_ctxt_id, category); + if (translation == msg_ctxt_id) + return msgid; + else + return translation; +} + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +npgettext_aux (const char *domain, + const char *msg_ctxt_id, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + const char *translation = + dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); + if (translation == msg_ctxt_id || translation == msgid_plural) + return (n == 1 ? msgid : msgid_plural); + else + return translation; +} + +/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID + can be arbitrary expressions. But for string literals these macros are + less efficient than those above. */ + +#include + +#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ + /* || __STDC_VERSION__ >= 199901L */ ) +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 +#else +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 +#endif + +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +#include +#endif + +#define pgettext_expr(Msgctxt, Msgid) \ + dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) +#define dpgettext_expr(Domainname, Msgctxt, Msgid) \ + dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + int found_translation; + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcgettext (domain, msg_ctxt_id, category); + found_translation = (translation != msg_ctxt_id); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (found_translation) + return translation; + } + return msgid; +} + +#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) +#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ + dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static const char * +dcnpgettext_expr (const char *domain, + const char *msgctxt, const char *msgid, + const char *msgid_plural, unsigned long int n, + int category) +{ + size_t msgctxt_len = strlen (msgctxt) + 1; + size_t msgid_len = strlen (msgid) + 1; + const char *translation; +#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + char msg_ctxt_id[msgctxt_len + msgid_len]; +#else + char buf[1024]; + char *msg_ctxt_id = + (msgctxt_len + msgid_len <= sizeof (buf) + ? buf + : (char *) malloc (msgctxt_len + msgid_len)); + if (msg_ctxt_id != NULL) +#endif + { + int found_translation; + memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); + msg_ctxt_id[msgctxt_len - 1] = '\004'; + memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); + translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); + found_translation = !(translation == msg_ctxt_id || translation == msgid_plural); +#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS + if (msg_ctxt_id != buf) + free (msg_ctxt_id); +#endif + if (found_translation) + return translation; + } + return (n == 1 ? msgid : msgid_plural); +} + +#endif /* _LIBGETTEXT_H */ diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..be1f722 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,2 @@ +# Languages +de diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..a1668fe --- /dev/null +++ b/po/Makevars @@ -0,0 +1,53 @@ +# 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 = Bandie + +# 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 = https://github.com/pampanic/pam_panic + +# 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 = diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..90c1bd0 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,5 @@ +# The sources which contains output strings +src/pam_panic/pam_panic.c +src/pam_panic/pam_panic_authdevice.c +src/pam_panic/pam_panic_password.c +src/pam_panic_pw/pam_panic_pw.c diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..cbb234b --- /dev/null +++ b/po/de.po @@ -0,0 +1,97 @@ +# German translations for pam_panic package +# German translation for pam_panic. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-21 22:52+0200\n" +"PO-Revision-Date: 2018-09-20 21:03+0200\n" +"Last-Translator: \n" +"Language-Team: German\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" + +#: src/pam_panic/pam_panic.c:39 +msgid "CRITICAL: Problem with regcomp." +msgstr "CRITICAL: Problem mit regcomp." + +#: src/pam_panic/pam_panic.c:116 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"ERROR: Argument ungültig. Hinweis: \"allow\" und \"reject\" müssen eine " +"valide GPT UUID aufweisen." + +#: src/pam_panic/pam_panic.c:152 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "ALERT für Argument \"serious\": Gerät existiert nicht." + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Key? " +msgstr "Schlüssel? " + +#: src/pam_panic/pam_panic_authdevice.c:39 +msgid "Couldn't identify any key after 3 tries." +msgstr "Konnte keinen Schlüssel nach 3 Versuchen identifizieren." + +#: src/pam_panic/pam_panic_password.c:31 +msgid "ALERT for passwort option: No password file detected." +msgstr "ALERT für Passwort-Option: Keine Passwort-Datei gefunden." + +#: src/pam_panic/pam_panic_password.c:36 +msgid "ERROR: Couldn't open password file." +msgstr "ERROR: Konnte Passwort-Datei nicht öffnen." + +#: src/pam_panic/pam_panic_password.c:48 +msgid "CRITICAL: Password file is corrupt!" +msgstr "CRITICAL: Passwort-Datei ist beschädigt!" + +#: src/pam_panic/pam_panic_password.c:93 +msgid "Password: " +msgstr "Passwort: " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:64 +msgid "Key password: " +msgstr "Schlüsselpasswort: " + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Panic password: " +msgstr "Panikpasswort: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Retype key password: " +msgstr "Schlüsselpasswort wiederholen: " + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Retype panic password: " +msgstr "Panikpasswort wiederholen: " + +#: src/pam_panic_pw/pam_panic_pw.c:73 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"Dieses Programm muss als root ausgeführt werden. Schreibrechte auf %s sind " +"dabei notwendig.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:96 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "Hat nicht funktioniert. Tschüss.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:99 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "Passwort stimmt nicht überein. Bitte noch einmal versuchen.\n" diff --git a/po/pam_panic.pot b/po/pam_panic.pot new file mode 100644 index 0000000..1c6941a --- /dev/null +++ b/po/pam_panic.pot @@ -0,0 +1,92 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Bandie +# This file is distributed under the same license as the pam_panic package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-21 22:55+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/pam_panic/pam_panic.c:39 +msgid "CRITICAL: Problem with regcomp." +msgstr "" + +#: src/pam_panic/pam_panic.c:116 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" + +#: src/pam_panic/pam_panic.c:152 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "" + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Key? " +msgstr "" + +#: src/pam_panic/pam_panic_authdevice.c:39 +msgid "Couldn't identify any key after 3 tries." +msgstr "" + +#: src/pam_panic/pam_panic_password.c:31 +msgid "ALERT for passwort option: No password file detected." +msgstr "" + +#: src/pam_panic/pam_panic_password.c:36 +msgid "ERROR: Couldn't open password file." +msgstr "" + +#: src/pam_panic/pam_panic_password.c:48 +msgid "CRITICAL: Password file is corrupt!" +msgstr "" + +#: src/pam_panic/pam_panic_password.c:93 +msgid "Password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:64 +msgid "Key password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Panic password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Retype key password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Retype panic password: " +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:73 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:96 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "" + +#: src/pam_panic_pw/pam_panic_pw.c:99 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "" From 40d30abbaae302b0ee1e2f6b5e20b669f5eff3d3 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 22 Sep 2018 17:32:05 +0200 Subject: [PATCH 11/48] Better explaination, getting rid of some unnecessary escaping. --- src/pam_panic/man/de/man8/pam_panic.8 | 82 ++++++++++++------------- src/pam_panic/man/es/man8/pam_panic.8 | 60 +++++++++---------- src/pam_panic/man/fr/man8/pam_panic.8 | 70 +++++++++++----------- src/pam_panic/man/ja/man8/pam_panic.8 | 14 ++--- src/pam_panic/man/man8/pam_panic.8 | 86 ++++++++++++++++----------- 5 files changed, 163 insertions(+), 149 deletions(-) diff --git a/src/pam_panic/man/de/man8/pam_panic.8 b/src/pam_panic/man/de/man8/pam_panic.8 index eff087d..5862a77 100644 --- a/src/pam_panic/man/de/man8/pam_panic.8 +++ b/src/pam_panic/man/de/man8/pam_panic.8 @@ -25,42 +25,42 @@ pam_panic \- PAM-Modul mit Panik-Funktion zum Sch\(:utzen von wichtigen Daten in .SH "\(:UBERSICHT" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] +.HP \w'\fBpam_panic.so\fR\ 'u +\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] .SH "BESCHREIBUNG" .PP -Das pam_panic PAM Modul wurde mit dem Hintergedanken entwickelt, Personen mit wichtigen Daten zu sch\(:utzen\&. Es bietet eine Panik-Funktion\&. +Das pam_panic PAM Modul wurde mit dem Hintergedanken entwickelt, Personen mit wichtigen Daten zu sch\(:utzen. Es bietet eine Panik-Funktion. .PP Es gibt zwei M\(:oglichkeiten der Verwendung: .PD 0 .PP Erste M\(:oglichkeit: .RS 2 -Man verwendet zwei Wecheldatentr\(:ager, die als Schl\(:ussel dienen\&. -Hierbei funktioniert eines als Authentifizierungsschl\(:ussel und eines als Panikschl\(:ussel\&. -Der Panikschl\(:ussel f\(:uhrt die \fIPanikfunktion\fR aus\&. +Man verwendet zwei Wecheldatentr\(:ager, die als Schl\(:ussel dienen. +Hierbei funktioniert eines als Authentifizierungsschl\(:ussel und eines als Panikschl\(:ussel. +Der Panikschl\(:ussel f\(:uhrt die \fIPanikfunktion\fR aus. .PD 0 .PP -Siehe dazu die Optionen \fBallow\fR und \fBreject\fR\&. +Siehe dazu die Optionen \fBallow\fR und \fBreject\fR. .RE .PP Zweite M\(:oglichkeit: .RS 2 -Man verwendet zwei Passw\(:orter, die als Schl\(:ussel dienen\&. -Dabei wird ein Schl\(:usselpasswort (Key password) und ein Panikpasswort (Panic password) festgelegt\&. -Das Panikpasswort wird hierbei die \fIPanikfunktion\fR aufrufen\&. +Man verwendet zwei Passw\(:orter, die als Schl\(:ussel dienen. +Dabei wird ein Schl\(:usselpasswort (Key password) und ein Panikpasswort (Panic password) festgelegt. +Das Panikpasswort wird hierbei die \fIPanikfunktion\fR aufrufen. .PD 0 .PP -Siehe dazu die Option \fBpassword\fR\&. +Siehe dazu die Option \fBpassword\fR. .RE .PD 1 .PP Die Panikfunktion: .RS 2 -Das Verhalten der Panikfunktion wird durch die Argumente \fBreboot\fR, \fBpoweroff\fR und/oder \fBserious\fR definiert\&. +Das Verhalten der Panikfunktion wird durch die Argumente \fBreboot\fR, \fBpoweroff\fR und/oder \fBserious\fR definiert. .RE @@ -78,63 +78,63 @@ Um die Passw\(:orter zu setzen steht das Programm \fBpam_panic_pw\fR(1) zur Verf .PP \fBallow=\fR\fB\fIUUID(GPT)\fR\fR .RS 4 -Diese Ger\(:ate-UUID wird zur Authentifizierung benutzt (Authentifierungsschl\(:ussel)\&. +Diese Ger\(:ate-UUID wird zur Authentifizierung benutzt (Authentifierungsschl\(:ussel). .PD 0 .PP .PD 1 -Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird\&. -Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird. +Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR\&. +Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR. .RE .PP \fBreject=\fR\fB\fIUUID(GPT)\fR\fR .RS 4 -Diese Ger\(:ate-UUID wird \fBreboot\fR, \fBpoweroff\fR und/oder die Panik-Funktion \fBserious\fR, sofern als Argument angegeben, aufrufen\& (Panikschl\(:ussel). +Diese Ger\(:ate-UUID wird \fBreboot\fR, \fBpoweroff\fR und/oder die Panik-Funktion \fBserious\fR, sofern als Argument angegeben, aufrufen.(Panikschl\(:ussel). .PD 0 .PP .PD 1 -Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird\&. -Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird. +Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR\&. +Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR. .RE .PP \fBreboot\fR (empfohlen) .RS 4 -Wenn dieses Argument angegeben wird, wird das System neu gestartet, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&. -Diese Option wird empfohlen\&. +Wenn dieses Argument angegeben wird, wird das System neu gestartet, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde. +Diese Option wird empfohlen. .PP -Wenn \fBpoweroff\fR ebenfalls als Argument angegeben wird, wird \fBreboot\fR ignoriert\&. +Wenn \fBpoweroff\fR ebenfalls als Argument angegeben wird, wird \fBreboot\fR ignoriert. .RE .PP \fBpoweroff\fR .RS 4 -Wenn dieses Argument angegeben wird, wird das System heruntergefahren, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&. -Aus Sicherheitsgr\(:unden wird von dieser Option abgeraten\&. +Wenn dieses Argument angegeben wird, wird das System heruntergefahren, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde. +Aus Sicherheitsgr\(:unden wird von dieser Option abgeraten. .RE .PP \fBserious=\fR\fB\fIUUID\fR\fR .RS 4 -Die Ger\(:ate-UUID, dessen luksHeaders zerst\(:ort werden w\(:urde, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&. -Das hei\(sst, dass die Daten auf den in den Optionen angegebenen Datentr\(:ager f\(:ur niemanden mehr lesbar sein werden\&. +Die Ger\(:ate-UUID, dessen luksHeaders zerst\(:ort werden w\(:urde, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde. +Das hei\(sst, dass die Daten auf den in den Optionen angegebenen Datentr\(:ager f\(:ur niemanden mehr lesbar sein werden. .PD 0 .PP -Intern wird das Programm "\fBcryptsetup luksErase [UUID]\fR" ausgef\(:uhrt\&. +Intern wird das Programm "\fBcryptsetup luksErase [UUID]\fR" ausgef\(:uhrt. .PD 1 .PP -(Eine Erinnerung daran, ein luksHeader-Backup zu machen bevor diese Funktion benutzt wird.\&.) +(Eine Erinnerung daran, ein luksHeader-Backup zu machen bevor diese Funktion benutzt wird..) .RE .PP .SH "ANWENDUNG" .PP -Um das Modul zu aktivieren, muss PAM konfiguriert werden\&. Siehe dazu \fBpam\&.conf(5)\fR\&. +Um das Modul zu aktivieren, muss PAM konfiguriert werden. Siehe dazu \fBpam.conf(5)\fR. .PP Man f\(:uge folgende beispielhafte Zeilen am Anfang einer Konfigurationsdatei hinzu: .PD 0 @@ -154,25 +154,25 @@ account requisite __PAMPANICSO__ .SH "WIE BESTIMME ICH MEINE UUIDS" .PP -Die UUIDs k\(:onnen unter \fI/dev/disk/by-partuuid\fR gefunden werden\&. -Um nachvollziehen zu k\(:onnen, welcher Wecheldatentr\(:ager welches ist, ist es ratsam "\fBls -l /dev/disk/by-partuuid/\fR" in der Lieblingsshell auszuf\(:uhren\&. +Die UUIDs k\(:onnen unter \fI/dev/disk/by-partuuid\fR gefunden werden. +Um nachvollziehen zu k\(:onnen, welcher Wecheldatentr\(:ager welches ist, ist es ratsam "\fBls -l /dev/disk/by-partuuid/\fR" in der Lieblingsshell auszuf\(:uhren. .SH "R\(:UCKGABEWERTE" .PP PAM_SUCCESS .RS 4 -Zugriff wurde gew\(:ahrt\&. +Zugriff wurde gew\(:ahrt. .RE .PP PAM_IGNORE .RS 4 -Ein Fehler ist aufgetreten\&. Dieses Modul wird ignoriert\&. +Ein Fehler ist aufgetreten. Dieses Modul wird ignoriert. .RE .PP PAM_MAXTRIES .RS 4 -Der Wecheldatentr\(:ager wurde nicht erkannt\&. +Der Wecheldatentr\(:ager wurde nicht erkannt. .RE @@ -180,30 +180,30 @@ Der Wecheldatentr\(:ager wurde nicht erkannt\&. .PP __PAMPANICSO__ .RS 4 -Shared object-Datei, die f\(:ur alles zust\(:andig ist\&. +Shared object-Datei, die f\(:ur alles zust\(:andig ist. .RE .PP __PAMPANICPW__ .RS 4 -Programm zum Setzen und Ver\(:andern der Passw\(:orter\&. +Programm zum Setzen und Ver\(:andern der Passw\(:orter. .RE .SH "BUGS" .PP -Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: +Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: .SH "SIEHE AUCH" .PP \fBpam_panic_pw\fR(1), \fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. +\fBpam.conf\fR(5), +\fBpam\fR(8). .SH "AUTOREN" .PD 0 .PP -Dieses pam_panic PAM Modul wurde durch Bandie entwickelt\&. +Dieses pam_panic PAM Modul wurde durch Bandie entwickelt. diff --git a/src/pam_panic/man/es/man8/pam_panic.8 b/src/pam_panic/man/es/man8/pam_panic.8 index fc95f42..65d2f52 100644 --- a/src/pam_panic/man/es/man8/pam_panic.8 +++ b/src/pam_panic/man/es/man8/pam_panic.8 @@ -26,20 +26,20 @@ pam_panic \- un m\('odulo de PAM para controlar acceso usando media removible (c .SH "SINOPSIS" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] +.HP \w'\fBpam_panic.so\fR\ 'u +\fBpam_panic.so\fR [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] .SH "DESCRIPCI\('ON" .PP -El m\('odulo pam_panic protege los datos delicados y proporci\('ona una funci\('on p\('anica para emergencias\&. +El m\('odulo pam_panic protege los datos delicados y proporci\('ona una funci\('on p\('anica para emergencias. .PP Hay dos opciones posibles para utilizar este modulo de PAM: .PD 0 .PP Primera opci\('on posible: .RS 2 -Hay dos medias removibles que est\('an usando como claves: La clave de autenticaci\('on y la clave de p\('anico\&. +Hay dos medias removibles que est\('an usando como claves: La clave de autenticaci\('on y la clave de p\('anico. La clave para autenticaci\('on se permite ingresar su contrase\(~na mientras la clave para p\('anico va a llamar la funci\('on de p\('anico. .RE Segunda opci\('on posible: @@ -51,17 +51,17 @@ Hay dos contrase\(~nas: La contrase\(~na para autenticaci\('on y la contrase\(~n .PP La funci\('on de p\('anico: .RS 2 -El comportamiento de esta función se define a través de los argumentos \fBreboot\fR, \fBpoweroff\fR o \fBserious\fR\&. Vea la secci\('on de \fBOPCI\('ONES\fR para m\('as detalles\&. +El comportamiento de esta función se define a través de los argumentos \fBreboot\fR, \fBpoweroff\fR o \fBserious\fR. Vea la secci\('on de \fBOPCI\('ONES\fR para m\('as detalles. .RE .SH "OPCI\('ONES" .PP \fBpassword\fR .RS 4 -Activa la funci\('on de contrase\(~a con p\('anico y contrase\(~na clave\&. -Si las opciones \fBpermitir\fR y \fBrechazar\fR son provistas esta opci\('on ser\('a ignorada\&. +Activa la funci\('on de contrase\(~a con p\('anico y contrase\(~na clave. +Si las opciones \fBpermitir\fR y \fBrechazar\fR son provistas esta opci\('on ser\('a ignorada. .PD 0 .PP -Estas contraseñas se pueden configurar con el comando \fBpam_panic_pw\fR(1)\&. +Estas contraseñas se pueden configurar con el comando \fBpam_panic_pw\fR(1). .RE .PD 1 .PP @@ -72,10 +72,10 @@ Es el UUID del dispositivo para autenticaci\('on. .PD 0 .PP .PD 1 -El dispositivo debe estar formateado por GPT y contener al menos una partici\('on\&. -El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]\&. +El dispositivo debe estar formateado por GPT y contener al menos una partici\('on. +El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]. .PP -Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles\&. +Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles. .RE .PP @@ -85,31 +85,31 @@ Es el UUID del dispositivo para emergencias. Cuando este dispositivo est\('a pre .PD 0 .PP .PD 1 -El dispositivo debe estar formateado por GPT y contener al menos una partici\('on\&. -El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]\&. +El dispositivo debe estar formateado por GPT y contener al menos una partici\('on. +El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]. .PP -Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles\&. +Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles. .RE .PP \fBreboot\fR (recomendado) .RS 4 -Indica que la sistema debe reiniciarse cuando se encontra el dispositivo especificado por \fBreject\fR\&. +Indica que la sistema debe reiniciarse cuando se encontra el dispositivo especificado por \fBreject\fR. .PP -Si \fBpoweroff\fR est\('a especificado tambi\('en, \fBreboot\fR estar\('a ignorado\&. +Si \fBpoweroff\fR est\('a especificado tambi\('en, \fBreboot\fR estar\('a ignorado. .RE .PP \fBpoweroff\fR .RS 4 -Indica que la sistema debe apagarse cuando se encontra el dispositivo especificado por \fBreject\fR\&. -Esta opci\('on no se recomienda por razones de seguridad\&. +Indica que la sistema debe apagarse cuando se encontra el dispositivo especificado por \fBreject\fR. +Esta opci\('on no se recomienda por razones de seguridad. .RE .PP \fBserious=\fR\fB\fIUUID\fR\fR .RS 4 -Es el UUID del dispositivo que contene el encabezamiento de LUKS que estar\('a borrado cuando encuentra el dispositivo especificado por \fBreject\fR\&. +Es el UUID del dispositivo que contene el encabezamiento de LUKS que estar\('a borrado cuando encuentra el dispositivo especificado por \fBreject\fR. .PP NOTA: Se deberi\('a hacer una copia del encabezamiento de LUKS antes de usar esta funci\('on. .RE @@ -118,7 +118,7 @@ NOTA: Se deberi\('a hacer una copia del encabezamiento de LUKS antes de usar est .SH "USAR" .PP -Para activar el m\('odulo se tiene que configurar PAM\&. Vea \fBpam\&.conf(5)\fR para detalles\&. +Para activar el m\('odulo se tiene que configurar PAM. Vea \fBpam.conf(5)\fR para detalles. .PP En general, se necesita agregar lo siguiente al comienzo de un archivo de configuraci\('on PAM: .PD 0 @@ -137,31 +137,31 @@ account requisite __PAMPANICSO__ .SH "C\('OMO DETERMINAR MIS UUIDS" .PP -Se puede encontrar sus UUIDs en \fI/dev/disk/by-partuuid\fR\&. -Es posible que desee ejecutar \[Fo]\fBls -l /dev/disk/by-partuuid\fR\[Fc] en su shell favorito para encontrar cu\('al UUID es su dispositivo\&. +Se puede encontrar sus UUIDs en \fI/dev/disk/by-partuuid\fR. +Es posible que desee ejecutar \[Fo]\fBls -l /dev/disk/by-partuuid\fR\[Fc] en su shell favorito para encontrar cu\('al UUID es su dispositivo. .SH "VALORES DE RETORNO" .PP PAM_SUCCESS .RS 4 -Indica que acceso fue permitido\&. +Indica que acceso fue permitido. .RE .PP PAM_IGNORE .RS 4 -Indica que se ha producido un error\&. El m\('odulo estar\('a ignorado. +Indica que se ha producido un error. El m\('odulo estar\('a ignorado. .RE .PP PAM_MAXTRIES .RS 4 -El media removible no fue detectados\&. +El media removible no fue detectados. .RE .SH "ARCHIVOS" .PP __PAMPANICSO__ .RS 4 -Este m\('odulo PAM\&. +Este m\('odulo PAM. .RE .PP __PAMPANICPW__ @@ -171,17 +171,17 @@ Cambiador de contraseña .SH "ERRORES" .PP -Por favor reportar errores y enviar pull requests a \&. +Por favor reportar errores y enviar pull requests a . .SH "VER TAMBI\('EN" .PP -\fBcryptsetup\fR(8), \fBpam\fR(8), \fBpam\&.conf\fR(5) +\fBcryptsetup\fR(8), \fBpam\fR(8), \fBpam.conf\fR(5) .SH "AUTORES" .PD 0 .PP -pam_panic fue escrito por Bandie \&. +pam_panic fue escrito por Bandie . .PP -Este p\('agina man fue traducido al espa\(~nol por Jordy Dickinson y dangered wolf \&. +Este p\('agina man fue traducido al espa\(~nol por Jordy Dickinson y dangered wolf . diff --git a/src/pam_panic/man/fr/man8/pam_panic.8 b/src/pam_panic/man/fr/man8/pam_panic.8 index 84b133c..a5524b8 100644 --- a/src/pam_panic/man/fr/man8/pam_panic.8 +++ b/src/pam_panic/man/fr/man8/pam_panic.8 @@ -26,32 +26,32 @@ pam_panic \- Module PAM pour un contrôle d'accès via l'utilisation d'un périp .SH "SYNOPSIS" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] +.HP \w'\fBpam_panic.so\fR\ 'u +\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] .SH "DESCRIPTION" .PP -Le module PAM pam_panic protège les données sensibles et fournit une fonction de panique pour les situations d'urgence\&. +Le module PAM pam_panic protège les données sensibles et fournit une fonction de panique pour les situations d'urgence. .PP Il-y-à deux options possibles pour utiliser ce module PAM: .PD 0 .PP Première option possible: .RS 2 -Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé d'authentification et la clé de panique\&. -La clé d'authentification permet de passer à la demande de mot de passe alors que la clé de panique appellera la fonction de panique\&. +Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé d'authentification et la clé de panique. +La clé d'authentification permet de passer à la demande de mot de passe alors que la clé de panique appellera la fonction de panique. .RE Seconde option possible: .RS 2 -Il-y-à deux mots de passe: le mot de pass de clé et celui de panique\&. Le mot de passe de clé permet de passer a la demande de mot de passe alors que celui de panique appellera la fonction de panique\&. +Il-y-à deux mots de passe: le mot de pass de clé et celui de panique. Le mot de passe de clé permet de passer a la demande de mot de passe alors que celui de panique appellera la fonction de panique. .RE .PD 1 .PP La fonction de panique: .RS 2 -Le comportement de cette fonction est défini via les arguments \fBreboot\fR, \fBpoweroff\fR et/ou \fBserious\fR\&. Voir la section \fBOPTIONS\fR pour plus de détails\&. +Le comportement de cette fonction est défini via les arguments \fBreboot\fR, \fBpoweroff\fR et/ou \fBserious\fR. Voir la section \fBOPTIONS\fR pour plus de détails. .RE .SH "OPTIONS" @@ -59,10 +59,10 @@ Le comportement de cette fonction est défini via les arguments \fBreboot\fR, \f \fBpassword\fR .RS 4 Active la fonction de mot de passe avec un mot de passe de clé et de panique.\& -Si les options options \fBallow\fR et \fBreject\fR sont fournies, cette option sera ignorée\&. +Si les options options \fBallow\fR et \fBreject\fR sont fournies, cette option sera ignorée. .PD 0 .PP -Ces mots de passe peuvent être définis via le programme \fBpam_panic_pw\fR(1)\&. +Ces mots de passe peuvent être définis via le programme \fBpam_panic_pw\fR(1). .RE .PD 1 .PP @@ -70,14 +70,14 @@ Ces mots de passe peuvent être définis via le programme \fBpam_panic_pw\fR(1)\ .PP \fBallow=\fR\fB\fIUUID(GPT)\fR\fR (requis) .RS 4 -L'UUID du péripherique à utiliser pour l'authentification (la clé d'authentification)\&. +L'UUID du péripherique à utiliser pour l'authentification (la clé d'authentification). .PD 0 .PP .PD 1 -Le périphérique doit être formatté en GPT avec au moins une partition\&. -L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +Le périphérique doit être formatté en GPT avec au moins une partition. +L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails\&. +Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails. .RE .PP @@ -87,40 +87,40 @@ L'UUID du périphérique à utiliser en cas d'urgence. La présence de ce périp .PD 0 .PP .PD 1 -Le périphérique doit être formatté en GPT avec au moins une partition\&. -L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +Le périphérique doit être formatté en GPT avec au moins une partition. +L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails\&. +Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails. .RE .PP \fBreboot\fR (recommendé) .RS 4 -Indique que le système doit redémarrer lorsqu'il détecte le périphérique spécifié avec \fBreject\fR\&. +Indique que le système doit redémarrer lorsqu'il détecte le périphérique spécifié avec \fBreject\fR. .PP -Si \fBpoweroff\fR est aussi spécifié, \fBreboot\fR sera ignoré\&. +Si \fBpoweroff\fR est aussi spécifié, \fBreboot\fR sera ignoré. .RE .PP \fBpoweroff\fR .RS 4 -Indique que le système doit s'éteindre lorsqu'il détecte le périphérique spécifié avec \fBreject\fR\&. -Cette option est déconseillée pour des raisons de sécurité\&. +Indique que le système doit s'éteindre lorsqu'il détecte le périphérique spécifié avec \fBreject\fR. +Cette option est déconseillée pour des raisons de sécurité. .RE .PP \fBserious=\fR\fB\fIUUID\fR\fR .RS 4 -L'UUID du périphérique contenant l'entête LUKS à éffacer lors de la détéction du périphérique spécifié avec \fBreject\fR\&. +L'UUID du périphérique contenant l'entête LUKS à éffacer lors de la détéction du périphérique spécifié avec \fBreject\fR. .PP -NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser cette fonction\&. +NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser cette fonction. .RE .PP .SH "UTILISATION" .PP -Pour activer ce module vous devez configurer PAM\&. Lisez \fBpam\&.conf(5)\fR pour plus de détails\&. +Pour activer ce module vous devez configurer PAM. Lisez \fBpam.conf(5)\fR pour plus de détails. .PP En général, vous voudrez ajouter ce qui suit au début du fichier de configuration PAM: .PD 0 @@ -140,25 +140,25 @@ account requisite __PAMPANICSO__ .SH "COMMENT DÉTERMINER MES UUIDS" .PP -Vous trouverz vos UUIDs dans \fI/dev/disk/by-partuuid\fR\&. -Vous voudriez peut-être executer "\fBls -l /dev/disk/by-partuuid/\fR" dans votre shell favoris pour trouver quel UUID correspond à quel périphérique\&. +Vous trouverz vos UUIDs dans \fI/dev/disk/by-partuuid\fR. +Vous voudriez peut-être executer "\fBls -l /dev/disk/by-partuuid/\fR" dans votre shell favoris pour trouver quel UUID correspond à quel périphérique. .SH "VALEURS DE RETOUR" .PP PAM_SUCCESS .RS 4 -Accès autorisé\&. +Accès autorisé. .RE .PP PAM_IGNORE .RS 4 -Une erreur est survenue\&. Le module sera ignoré\&. +Une erreur est survenue. Le module sera ignoré. .RE .PP PAM_MAXTRIES .RS 4 -Le péripherique amovible n'a pas été détécté\&. +Le péripherique amovible n'a pas été détécté. .RE @@ -166,18 +166,18 @@ Le péripherique amovible n'a pas été détécté\&. .PP __PAMPANICSO__ .RS 4 -Ce module PAM\&. +Ce module PAM. .RE .PP __PAMPANICPW__ .RS 4 -Programme pour configurer les mots de passe\&. +Programme pour configurer les mots de passe. .RE .SH "BUGS" .PP -Veuillez reporter les bugs ou envoyer une demande de correction à \&. +Veuillez reporter les bugs ou envoyer une demande de correction à . .SH "VOIR AUSSI" @@ -185,14 +185,14 @@ Veuillez reporter les bugs ou envoyer une demande de correction à \&. +pam_panic à été écris par Bandie . .PP -La page de manuel Anglaise à été révisée par Jordy Dickinson \&. +La page de manuel Anglaise à été révisée par Jordy Dickinson . .PP -La version Française à été traduite par Dashie \&. +La version Française à été traduite par Dashie . diff --git a/src/pam_panic/man/ja/man8/pam_panic.8 b/src/pam_panic/man/ja/man8/pam_panic.8 index 15a0d94..526da6c 100644 --- a/src/pam_panic/man/ja/man8/pam_panic.8 +++ b/src/pam_panic/man/ja/man8/pam_panic.8 @@ -26,8 +26,8 @@ pam_panic \- 緊急時ã«æ©Ÿå¯†ãƒ‡ãƒ¼ã‚¿ã‚’ä¿è­·ã™ã‚‹PAMモジュール .SH "概è¦" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] +.HP \w'\fBpam_panic.so\fR\ 'u +\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] .SH "説明" @@ -121,7 +121,7 @@ LUKSヘッダーを消去ã—ãŸå ´åˆã€ãƒ‡ãƒ¼ã‚¿ã¯å¾©å…ƒã§ããªããªã‚Šã¾ .SH "USAGE" .PP -モジュールを使用ã™ã‚‹ãŸã‚ã«ã¯ã€PAMを設定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€ \fBpam\&.conf(5)\fR ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 +モジュールを使用ã™ã‚‹ãŸã‚ã«ã¯ã€PAMを設定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€ \fBpam.conf(5)\fR ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 .PP 多ãã®å ´åˆã€PAM設定ファイルã®å…ˆé ­ã«æ¬¡ã®å†…容を設定ã™ã‚Œã°ã‚ˆã„ã§ã—ょã†ã€‚ .PD 0 @@ -177,7 +177,7 @@ __PAMPANICPW__ .SH "ãƒã‚°å ±å‘Š" .PP - ã§ã€ãƒã‚°ã®å ±å‘Šã‚„プルリクエストを行ã£ã¦ãã ã•ã„。 + ã§ã€ãƒã‚°ã®å ±å‘Šã‚„プルリクエストを行ã£ã¦ãã ã•ã„。 .SH "関連項目" @@ -185,12 +185,12 @@ __PAMPANICPW__ \fBpam_panic_pw\fR(1), \fBcryptsetup\fR(8), \fBpam\fR(8), -\fBpam\&.conf\fR(5) +\fBpam.conf\fR(5) .SH "著者" .PD 0 .PP -pam_panic 㯠Bandie ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚ +pam_panic 㯠Bandie ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚ .PP -ã“ã®ç¿»è¨³ã¯ Chromium Neptune ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¦ã„ã¾ã™ã€‚ +ã“ã®ç¿»è¨³ã¯ Chromium Neptune ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¦ã„ã¾ã™ã€‚ diff --git a/src/pam_panic/man/man8/pam_panic.8 b/src/pam_panic/man/man8/pam_panic.8 index 913b8fb..6191bb3 100644 --- a/src/pam_panic/man/man8/pam_panic.8 +++ b/src/pam_panic/man/man8/pam_panic.8 @@ -26,32 +26,39 @@ pam_panic \- PAM module with panic function to protect sensitive data in emergen .SH "SYNOPSIS" -.HP \w'\fBpam_panic\&.so\fR\ 'u -\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] +.HP \w'\fBpam_panic.so\fR\ 'u +\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] .SH "DESCRIPTION" .PP -The pam_panic PAM module protects sensitive data and provides a panic function for emergency situations\&. +The pam_panic PAM module protects sensitive data and provides a panic function for emergency situations. .PP There are two possible options in how to use this PAM module: .PD 0 .PP First possible option: .RS 2 -There are two removable media which work as keys: the auth key and the panic key\&. -The auth key will let you pass to the password prompt whereas the panic key will call the panic function\&. +There are two removable media which work as keys: the auth key and the panic key. +The auth key will let you pass to the password prompt whereas the panic key will call the \fIpanic function\fR. +.PD 0 +.PP +See options \fBallow\fR and \fBreject\fR. .RE +.PP Second possible option: .RS 2 -There are two passwords: the key password and the panic password\&. The key password will let you pass to the original password prompt whereas the panic password will call the panic function\&. +There are two passwords: the key password and the panic password. The key password will let you pass to the original password prompt whereas the panic password will call the \fIpanic function\fR. +.PD 0 +.PP +See option \fBpassword\fR. .RE .PD 1 .PP The panic function: .RS 2 -The behaviour of this function is defined through the arguments \fBreboot\fR, \fBpoweroff\fR and/or \fBserious\fR\&. See the \fBOPTIONS\fR section for details\&. +The behaviour of this function is defined through the arguments \fBreboot\fR, \fBpoweroff\fR and/or \fBserious\fR. See the \fBOPTIONS\fR section for details. .RE @@ -59,25 +66,25 @@ The behaviour of this function is defined through the arguments \fBreboot\fR, \f .PP \fBpassword\fR .RS 4 -Activates the password function having a panic and key password\&. -If the options \fBallow\fR and \fBreject\fR are provided this option will be ignored\&. +Activates the password function having a panic and key password. +If the options \fBallow\fR and \fBreject\fR are provided this option will be ignored. .PD 0 .PP -These passwords can be set with the \fBpam_panic_pw\fR(1) command\&. +These passwords can be set with the \fBpam_panic_pw\fR(1) command. .RE .PD 1 .PP \fBallow=\fR\fB\fIUUID(GPT)\fR\fR .RS 4 -The UUID of the device to be used for authentication (the auth key)\&. +The UUID of the device to be used for authentication (the auth key). .PD 0 .PP .PD 1 -The device must be GPT-formatted and contain at least one partition\&. -The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +The device must be GPT-formatted and contain at least one partition. +The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -See \fBHOW TO DETERMINE MY UUIDS\fR for details\&. +See \fBHOW TO DETERMINE MY UUIDS\fR for details. .RE .PP @@ -87,41 +94,48 @@ The UUID of the device to be used in emergencies. The presence of this device wi .PD 0 .PP .PD 1 -The device must be GPT-formatted and contain at least one partition\&. -The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&. +The device must be GPT-formatted and contain at least one partition. +The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0". .PP -See \fBHOW TO DETERMINE MY UUIDS\fR for details\&. +See \fBHOW TO DETERMINE MY UUIDS\fR for details. .RE .PP \fBreboot\fR (recommended) .RS 4 -Indicates that the system should reboot upon encountering the device specified with \fBreject\fR\&. +Indicates that the system should reboot upon encountering the device specified with \fBreject=UUID(GPT)\fR. +.PD 0 .PP -If \fBpoweroff\fR is also specified, \fBreboot\fR will be ignored\&. +This option is recommended. +.PD 1 +.PP +If \fBpoweroff\fR is also specified, \fBreboot\fR will be ignored. .RE .PP \fBpoweroff\fR .RS 4 -Indicates that the system should shut down upon encountering the device specified with \fBreject\fR\&. -This option is discouraged for security reasons\&. +Indicates that the system should shut down upon encountering the device specified with \fBreject=UUID(GPT)\fR. +This option is discouraged for security reasons. .RE .PP \fBserious=\fR\fB\fIUUID\fR\fR .RS 4 -The UUID of the device containing the LUKS header to erase upon encountering the device specified with \fBreject\fR\&. -Erasing the LUKS header will render the data unreadable\&. +The UUID of the device containing the LUKS header to erase upon encountering the device specified with \fBreject\fR or with the panic password you've set. Erasing the LUKS header will render the data unreadable. +.PD 0 .PP -NOTE: You should make a backup of the LUKS header before using this function\&. +The internal command which will be executed is "\fBcryptsetup luksErase [UUID]\fR". +.PD 1 +.PP +NOTE: You should make a backup of the LUKS header before using this function. .RE .PP .SH "USAGE" .PP -To activate the module you have to configure PAM\&. See \fBpam\&.conf(5)\fR for details\&. +To activate the module you have to configure PAM. See \fBpam.conf(5)\fR for details. .PP In general, you will want to add the following to the top of a PAM configuration file: .PD 0 @@ -141,25 +155,25 @@ account requisite __PAMPANICSO__ .SH "HOW TO DETERMINE MY UUIDS" .PP -You will find your UUIDs in \fI/dev/disk/by-partuuid\fR\&. -You might want to execute "\fBls -l /dev/disk/by-partuuid/\fR" in your favourite shell to find out which UUID is which device\&. +You will find your UUIDs in \fI/dev/disk/by-partuuid\fR. +You might want to execute "\fBls -l /dev/disk/by-partuuid/\fR" in your favourite shell to find out which UUID is which device. .SH "RETURN VALUES" .PP PAM_SUCCESS .RS 4 -Access was granted\&. +Access was granted. .RE .PP PAM_IGNORE .RS 4 -An error has occured\&. The module will be ignored.\&. +An error has occured. The module will be ignored.. .RE .PP PAM_MAXTRIES .RS 4 -The removable media was not detected\&. +The removable media was not detected. .RE @@ -167,18 +181,18 @@ The removable media was not detected\&. .PP __PAMPANICSO__ .RS 4 -This PAM module\&. +This PAM module, which does everything of this above. .RE .PP __PAMPANICPW__ .RS 4 -Program to set and change the passwords\&. +Program to set and change the passwords. .RE .SH "BUGS" .PP -Please report bugs and send pull requests to \&. +Please report bugs and send pull requests to . .SH "SEE ALSO" @@ -186,12 +200,12 @@ Please report bugs and send pull requests to \&. +pam_panic was written by Bandie . .PP -This man page has been revised by Jordy Dickinson +This man page has been revised by Jordy Dickinson From 3aec1b82700a43d60b0efb0dc9f9ea95e89c3eb0 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 28 Sep 2018 20:59:01 +0200 Subject: [PATCH 12/48] Preparing for po4a --- src/pam_panic/man/man8/pam_panic.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pam_panic/man/man8/pam_panic.8 b/src/pam_panic/man/man8/pam_panic.8 index 6191bb3..70c8b18 100644 --- a/src/pam_panic/man/man8/pam_panic.8 +++ b/src/pam_panic/man/man8/pam_panic.8 @@ -7,8 +7,8 @@ .\" Language: English .\" .TH "PAM_PANIC" "8" "2018-03-26" "PAM Panic Manual" "PAM Panic Manual" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' +.\".ie \n(.g .ds Aq \(aq +.\".el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- From 32159b86894d4599f705b2e102b29f82de1f4dac Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 28 Sep 2018 21:00:16 +0200 Subject: [PATCH 13/48] Cleaning up headers/using them properly --- src/pam_panic/pam_panic.c | 2 ++ src/pam_panic/pam_panic.h | 16 ++-------------- src/pam_panic/pam_panic_authdevice.c | 4 +--- src/pam_panic/pam_panic_authdevice.h | 2 ++ src/pam_panic/pam_panic_password.c | 6 ++---- src/pam_panic/pam_panic_password.h | 5 ++++- src/pam_panic/pam_panic_reject.c | 4 +--- src/pam_panic/pam_panic_reject.h | 3 +++ src/pam_panic_pw/pam_panic_pw.c | 2 +- 9 files changed, 18 insertions(+), 26 deletions(-) diff --git a/src/pam_panic/pam_panic.c b/src/pam_panic/pam_panic.c index 4b61085..6face42 100644 --- a/src/pam_panic/pam_panic.c +++ b/src/pam_panic/pam_panic.c @@ -6,6 +6,8 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ +#include "pam_panic.h" + #include #include #include diff --git a/src/pam_panic/pam_panic.h b/src/pam_panic/pam_panic.h index d0761a2..b5dc29f 100644 --- a/src/pam_panic/pam_panic.h +++ b/src/pam_panic/pam_panic.h @@ -1,27 +1,15 @@ /* -FILENAME : pam_panic.c -DESCRIPTION : Header is made for testing purposes. +FILENAME : pam_panic.h +DESCRIPTION : Header. AUTHOR : Bandie DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include "../../lib/gettext.h" - -#include "pam_panic_reject.h" -#include "pam_panic_authdevice.h" -#include "pam_panic_password.h" void argSplit(char **some_arg, char **some_temp, const char *arg); diff --git a/src/pam_panic/pam_panic_authdevice.c b/src/pam_panic/pam_panic_authdevice.c index 9b3e9f3..3a09c45 100644 --- a/src/pam_panic/pam_panic_authdevice.c +++ b/src/pam_panic/pam_panic_authdevice.c @@ -6,12 +6,10 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ +#include "pam_panic_authdevice.h" -#include #include -#include "../config.h" - #include "../../lib/gettext.h" #include #include diff --git a/src/pam_panic/pam_panic_authdevice.h b/src/pam_panic/pam_panic_authdevice.h index 73139f5..3302a34 100644 --- a/src/pam_panic/pam_panic_authdevice.h +++ b/src/pam_panic/pam_panic_authdevice.h @@ -6,5 +6,7 @@ LICENSE : GNU-GPLv3 */ #include "../config.h" +#include +#include int authDevice(pam_handle_t *pamh, char *allowed, char *rejected, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff); diff --git a/src/pam_panic/pam_panic_password.c b/src/pam_panic/pam_panic_password.c index b3b9544..ee36dc6 100644 --- a/src/pam_panic/pam_panic_password.c +++ b/src/pam_panic/pam_panic_password.c @@ -6,20 +6,18 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ +#include "pam_panic_password.h" + #include #include #include #include #include -#include "../config.h" #include "../../lib/gettext.h" -#include -#include #include #include -#include "pam_panic_password.h" #include "pam_panic_reject.h" #define _(String) gettext(String) diff --git a/src/pam_panic/pam_panic_password.h b/src/pam_panic/pam_panic_password.h index 7ecf411..356d73e 100644 --- a/src/pam_panic/pam_panic_password.h +++ b/src/pam_panic/pam_panic_password.h @@ -5,7 +5,10 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -#include "config.h" +#include "../config.h" +#include +#include +#include #ifndef PPASSFILE #error PPASSFILE must be declared! diff --git a/src/pam_panic/pam_panic_reject.c b/src/pam_panic/pam_panic_reject.c index 44ef9e3..b0af67e 100644 --- a/src/pam_panic/pam_panic_reject.c +++ b/src/pam_panic/pam_panic_reject.c @@ -6,7 +6,7 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -#include +#include "pam_panic_reject.h" #include #ifdef TEST #include @@ -14,8 +14,6 @@ LICENSE : GNU-GPLv3 #include #endif #include -#include "config.h" -#include "pam_panic_reject.h" int reject(char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){ if(bSerious){ diff --git a/src/pam_panic/pam_panic_reject.h b/src/pam_panic/pam_panic_reject.h index 5c18236..de44350 100644 --- a/src/pam_panic/pam_panic_reject.h +++ b/src/pam_panic/pam_panic_reject.h @@ -5,4 +5,7 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ +#include "../config.h" +#include + int reject(char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff); diff --git a/src/pam_panic_pw/pam_panic_pw.c b/src/pam_panic_pw/pam_panic_pw.c index 3d2e8eb..e626e92 100644 --- a/src/pam_panic_pw/pam_panic_pw.c +++ b/src/pam_panic_pw/pam_panic_pw.c @@ -7,7 +7,7 @@ LICENSE : GNU-GPLv3 */ - +#include "pam_panic_pw.h" #include #include From 242ff6b38974140cd0cc5e7c55d2730a74284d0b Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 28 Sep 2018 22:59:22 +0200 Subject: [PATCH 14/48] po4a.cfg and de --- po4a/de.po | 564 +++++++++++++++++++++++++++++++++++++++++++++ po4a/pam_panic.pot | 493 +++++++++++++++++++++++++++++++++++++++ po4a/po4a.cfg | 5 + 3 files changed, 1062 insertions(+) create mode 100644 po4a/de.po create mode 100644 po4a/pam_panic.pot create mode 100644 po4a/po4a.cfg diff --git a/po4a/de.po b/po4a/de.po new file mode 100644 index 0000000..f79a036 --- /dev/null +++ b/po4a/de.po @@ -0,0 +1,564 @@ +# German translations for po package +# German translation for po +# Copyright (C) 2018 Free Software Foundation, Inc. +# This file is distributed under the same license as the po package. +# , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: po 4a\n" +"POT-Creation-Date: 2018-09-28 22:37+0200\n" +"PO-Revision-Date: 2018-09-22 22:57+0200\n" +"Last-Translator: \n" +"Language-Team: German\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" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-09-28" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "PAM Panic Handbuch" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "NAME" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" +"pam_panic - PAM-Module mit Panik-Funktion zum Schützen von wichtigen Daten " +"in Notsituationen." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "ÃœBERSICHT" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "BESCHREIBUNG" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"Das pam_panic PAM-Modul schützt wichtige Daten durch das Anbieten einer " +"Panik-Funktion" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "Es gibt zwei Möglichkeiten der Verwendung:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "Erste Möglichkeit:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"Man verwendet zwei Wecheldatenträger, die als Schlüssel dienen. Hierbei " +"funktioniert eines als Authentifizierungsschlüssel und eines als " +"Panikschlüssel. Der Panikschlüssel führt die I aus." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "Sie dazu die Optionen B und B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "Zweite Möglichkeit:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein " +"Schlüsselpasswort (Key password) und ein Panikpasswort (Panic password) " +"festgelegt.Das Panikpasswort wird hierbei die I aufrufen." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "Siehe dazu die Option B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "Die Panikfunktion:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"Das Verhalten der Panikfunktion wird durch die Argumente B, " +"B und/oder B definiert. Siehe dazu den Abschnitt " +"B." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONEN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"Aktiviert die Passwortfunktion mit einem Panik- und Schlüsselpasswort. Wenn " +"B und B gesetzt sind, wird diese Option ignoriert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "" +"Diese Passwörter können mit dem B(1) Programm gesetzt werden." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "" +"Diese Geräte-UUID wird zur Authentifizierung benutzt " +"(Authentifierungsschlüssel)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"Der Wechseldatenträger muss GPT-formatiert sein und mindestens eine " +"Partition enthalten.Die UUID eines GPT-formatierten Gerätes sieht " +"beispielsweise so aus: \"12345678-9ABC-DEF0-1234-56789ABCDEF0\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "Weitere Informationen im Abschnitt B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"Diese Geräte-UUID, welches in Notfällen benutzt wird. Die Verwendung des " +"Gerätes wird B, B und/oder die Panikfunktion auslösen, " +"sofern B B und/oder B angegeben wurden." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (empfohlen)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" +"Sorgt für ein Neustart des Systems, sobald die I ausgelöst " +"wird." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "Diese Option ist empfohlen." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "" +"Wenn B ebenfalls angegeben worden ist, wird B ignoriert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"Sorgt für ein Herunterfahren des Systems, sobald die I " +"ausgeführt wird. Diese Option ist aus Sicherheitsgründen nicht " +"empfehlenswert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"Die Geräte-UUID, dessen LUKS-Header zerstört werden soll, sobald die " +"I ausgelöst wurde. Das Zerstören der LUKS-Header hat zu " +"Folge, dass die Daten nicht mehr lesbar sein werden." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" +"Der interne Befehl, der ausgeführt werden wird ist \"B\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"HINWEIS: Ein Backup des LUKS-Headers wäre vor Verwendung dieser Funktion " +"sinnvoll." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "ANWENDUNG" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"Um dieses Modul zu aktivieren, musst du PAM konfigurieren. Siehe B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" +"In allgemeinen Worten gefasst möchte man folgende Zeilen am Anfang einer PAM-" +"Konfigurationsdatei hinzufügen:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "Oder auch:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "WIE BESTIMME ICH MEINE UUIDS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"Die UUIDs können unter I gefunden werden. Um " +"nachvollziehen zu können, welcher Wecheldatenträger welches ist, ist es " +"ratsam \"B\" in der Lieblingsshell auszuführen." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "RÃœCKGABEWERTE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "Zugriff wurde gewährt." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "Ein Fehler ist aufgetreten. Dieses Modul wird ignoriert." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "Der Wechseldatenträger wurde nicht erkannt." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "DATEIEN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "Dieses PAM-Modul, welches für alles zuständig ist." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "Programm zum Setzen und Verändern der Passwörter." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "BUGS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können " +"hier eingereicht werden: Ehttps://github.com/pampanic/pam_panicE." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "SIEHE AUCH" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTOREN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "pam_panic wurde von Bandie Ebandie@chaospott.deE entwickelt." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE" +msgstr "" +"Diese man page wurde von Bandie Ebandie@chaospott.deE " +"ins Deutsche übersetzt." + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-09-28" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "pam_panic_pw - Setzen der Passwörter für das B(8) PAM-Modul." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "B setzt die Passwörter für das B(8) PAM-Modul." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein " +"\"Schlüsselpasswort\" und ein \"Panikpasswort\" festgelegt. " +"Das Panikpasswort wird hierbei die I aufrufen." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "Passwörter erfolgreich gesetzt." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "Keine Berechtigungen." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "Konnte Passwortdatei nicht öffnen." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PPASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "Die Passwortdatei." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." diff --git a/po4a/pam_panic.pot b/po4a/pam_panic.pot new file mode 100644 index 0000000..1ed7bc5 --- /dev/null +++ b/po4a/pam_panic.pot @@ -0,0 +1,493 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2018-09-28 22:37+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like " +"\"12345678-9ABC-DEF0-1234-56789ABCDEF0\"." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are " +"specified." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this " +"function." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to " +"Ehttps://github.com/pampanic/pam_panicE." +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson " +"Ejordy.dickinson@icloud.comE" +msgstr "" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "" diff --git a/po4a/po4a.cfg b/po4a/po4a.cfg new file mode 100644 index 0000000..3b88896 --- /dev/null +++ b/po4a/po4a.cfg @@ -0,0 +1,5 @@ +[po_directory] . + +[type: man] ../src/pam_panic/man/man8/pam_panic.8 $lang:../src/pam_panic/man/$lang/man8/pam_panic.8 +[type: man] ../src/pam_panic_pw/man/man1/pam_panic_pw.1 $lang:../src/pam_panic_pw/man/$lang/man1/pam_panic_pw.1 + From 4caa5b0ded0ef480b7da388d5c338bff29a6785d Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 28 Sep 2018 23:00:49 +0200 Subject: [PATCH 15/48] Making things more clear; po4a compatible. --- src/pam_panic/man/man8/pam_panic.8 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pam_panic/man/man8/pam_panic.8 b/src/pam_panic/man/man8/pam_panic.8 index 70c8b18..816f18b 100644 --- a/src/pam_panic/man/man8/pam_panic.8 +++ b/src/pam_panic/man/man8/pam_panic.8 @@ -103,7 +103,7 @@ See \fBHOW TO DETERMINE MY UUIDS\fR for details. \fBreboot\fR (recommended) .RS 4 -Indicates that the system should reboot upon encountering the device specified with \fBreject=UUID(GPT)\fR. +Indicates that the system should reboot when the \fIpanic function\fR is triggered. .PD 0 .PP This option is recommended. @@ -115,14 +115,14 @@ If \fBpoweroff\fR is also specified, \fBreboot\fR will be ignored. \fBpoweroff\fR .RS 4 -Indicates that the system should shut down upon encountering the device specified with \fBreject=UUID(GPT)\fR. +Indicates that the system should shut down when the \fIpanic function\fR is triggered. This option is discouraged for security reasons. .RE .PP \fBserious=\fR\fB\fIUUID\fR\fR .RS 4 -The UUID of the device containing the LUKS header to erase upon encountering the device specified with \fBreject\fR or with the panic password you've set. Erasing the LUKS header will render the data unreadable. +The UUID of the device containing the LUKS header to erase when the \fIpanic function\fR is triggered. Erasing the LUKS header will render the data unreadable. .PD 0 .PP The internal command which will be executed is "\fBcryptsetup luksErase [UUID]\fR". @@ -168,7 +168,7 @@ Access was granted. .PP PAM_IGNORE .RS 4 -An error has occured. The module will be ignored.. +An error has occured. The module will be ignored. .RE .PP PAM_MAXTRIES From 4d53e9c25885bffcd70b59fdacee76859893daa7 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 28 Sep 2018 23:01:47 +0200 Subject: [PATCH 16/48] Making it po4a compatible --- src/pam_panic_pw/man/man1/pam_panic_pw.1 | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/pam_panic_pw/man/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/man1/pam_panic_pw.1 index fcb9756..f2f4ce1 100644 --- a/src/pam_panic_pw/man/man1/pam_panic_pw.1 +++ b/src/pam_panic_pw/man/man1/pam_panic_pw.1 @@ -7,8 +7,8 @@ .\" Language: English .\" .TH "PAM_PANIC_PW" "8" "2018-03-31" "PAM Panic Manual" "PAM Panic Manual" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' +.\".ie \n(.g .ds Aq \(aq +.\".el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -21,7 +21,7 @@ .\" ----------------------------------------------------------------- .SH "NAME" -pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM module\&. +pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM module. .SH "SYNOPSIS" @@ -31,28 +31,28 @@ pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM modu .SH "DESCRIPTION" .PP -\fBpam_panic_pw\fR sets the passwords for the \fBpam_panic\fR(8) PAM module\&. +\fBpam_panic_pw\fR sets the passwords for the \fBpam_panic\fR(8) PAM module. .PP -There are two passwords: the "key password" and the "panic password"\&. +There are two passwords: the "key password" and the "panic password". The "key password" is used for the normal authentication -whereas the "panic password" will execute the panic function\&. +whereas the "panic password" will execute the panic function. .SH "RETURN VALUES" .PP 0 .RS 4 -Passwords set successfully\&. +Passwords set successfully. .RE .PP 1 .RS 4 -Access denied\&. +Access denied. .RE .PP 2 .RS 4 -Could not open the password file\&. +Could not open the password file. .RE @@ -60,33 +60,33 @@ Could not open the password file\&. .PP __PAMPANICPW__ .RS 4 -Program to set and change the passwords\&. +Program to set and change the passwords. .RE .PP __PPASSFILE__ .RS 4 -The password file\&. +The password file. .RE .SH "BUGS" .PP -Please report bugs and send pull requests to \&. +Please report bugs and send pull requests to . .SH "SEE ALSO" .PP \fBpam_panic\fR(8), \fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. +\fBpam.conf\fR(5), +\fBpam\fR(8). .SH "AUTHORS" .PD 0 .PP -pam_panic was written by Bandie \&. +pam_panic was written by Bandie . .PP -This man page has been revised by Jordy Dickinson +This man page has been revised by Jordy Dickinson From 8e8ee8742c0c904a375b7af180e20c9835596a40 Mon Sep 17 00:00:00 2001 From: Bandie Date: Fri, 28 Sep 2018 23:02:13 +0200 Subject: [PATCH 17/48] Let po4a translate it --- src/pam_panic/man/de/man8/pam_panic.8 | 219 +++++++++++--------- src/pam_panic_pw/man/de/man1/pam_panic_pw.1 | 65 +++--- 2 files changed, 160 insertions(+), 124 deletions(-) diff --git a/src/pam_panic/man/de/man8/pam_panic.8 b/src/pam_panic/man/de/man8/pam_panic.8 index 5862a77..d2efd52 100644 --- a/src/pam_panic/man/de/man8/pam_panic.8 +++ b/src/pam_panic/man/de/man8/pam_panic.8 @@ -1,14 +1,19 @@ '\" t .\" Title: pam_panic .\" Author: [see the "AUTHORS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: German +.\" Date: 2018-03-26 +.\" Manual: Linux-PAM Panic Manual +.\" Source: Linux-PAM Panic Manual +.\" Language: English .\" -.TH "PAM_PANIC" "8" "2018-03-31" "PAM Panic Handbuch" "PAM Panic Handbuch" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH PAM_PANIC 8 2018\-09\-28 "PAM Panic Handbuch" "PAM Panic Handbuch" +.\".ie \n(.g .ds Aq \(aq +.\".el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -16,153 +21,177 @@ .nh .\" disable justification (adjust text to left margin only) .ad l + + .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- - -.SH "NAME" -pam_panic \- PAM-Modul mit Panik-Funktion zum Sch\(:utzen von wichtigen Daten in Notsituationen +.SH NAME +pam_panic \- PAM\-Module mit Panik\-Funktion zum Schützen von wichtigen Daten +in Notsituationen. -.SH "\(:UBERSICHT" +.SH ÃœBERSICHT .HP \w'\fBpam_panic.so\fR\ 'u -\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] +\fBpam_panic.so\fP [password] [allow=\fIUUID(GPT)\fP] [reject=\fIUUID(GPT)\fP] +[reboot] [poweroff] [serious=\fIUUID\fP] -.SH "BESCHREIBUNG" +.SH BESCHREIBUNG .PP -Das pam_panic PAM Modul wurde mit dem Hintergedanken entwickelt, Personen mit wichtigen Daten zu sch\(:utzen. Es bietet eine Panik-Funktion. +Das pam_panic PAM\-Modul schützt wichtige Daten durch das Anbieten einer +Panik\-Funktion .PP -Es gibt zwei M\(:oglichkeiten der Verwendung: +Es gibt zwei Möglichkeiten der Verwendung: .PD 0 .PP -Erste M\(:oglichkeit: +Erste Möglichkeit: .RS 2 -Man verwendet zwei Wecheldatentr\(:ager, die als Schl\(:ussel dienen. -Hierbei funktioniert eines als Authentifizierungsschl\(:ussel und eines als Panikschl\(:ussel. -Der Panikschl\(:ussel f\(:uhrt die \fIPanikfunktion\fR aus. +Man verwendet zwei Wecheldatenträger, die als Schlüssel dienen. Hierbei +funktioniert eines als Authentifizierungsschlüssel und eines als +Panikschlüssel. Der Panikschlüssel führt die \fIPanikfunktion\fP aus. .PD 0 .PP -Siehe dazu die Optionen \fBallow\fR und \fBreject\fR. +Sie dazu die Optionen \fBallow\fP und \fBreject\fP. .RE .PP -Zweite M\(:oglichkeit: +Zweite Möglichkeit: .RS 2 -Man verwendet zwei Passw\(:orter, die als Schl\(:ussel dienen. -Dabei wird ein Schl\(:usselpasswort (Key password) und ein Panikpasswort (Panic password) festgelegt. -Das Panikpasswort wird hierbei die \fIPanikfunktion\fR aufrufen. +Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein +Schlüsselpasswort (Key password) und ein Panikpasswort (Panic password) +festgelegt.Das Panikpasswort wird hierbei die \fIPanikfunktion\fP aufrufen. .PD 0 .PP -Siehe dazu die Option \fBpassword\fR. +Siehe dazu die Option \fBpassword\fP. .RE .PD 1 .PP Die Panikfunktion: .RS 2 -Das Verhalten der Panikfunktion wird durch die Argumente \fBreboot\fR, \fBpoweroff\fR und/oder \fBserious\fR definiert. +Das Verhalten der Panikfunktion wird durch die Argumente \fBreboot\fP, +\fBpoweroff\fP und/oder \fBserious\fP definiert. Siehe dazu den Abschnitt +\fBOPTIONEN\fP. .RE -.SH "OPTIONEN" +.SH OPTIONEN .PP -\fBpassword\fR +\fBpassword\fP .RS 4 -Diese Option aktiviert die Passwortfunktion mit einem Panikpasswort und einem Schl\(:usselpasswort. Wenn \fBallow\fR und \fBreject\fR gesetzt sind, wird diese Option ignoriert. +Aktiviert die Passwortfunktion mit einem Panik\- und Schlüsselpasswort. Wenn +\fBallow\fP und \fBreject\fP gesetzt sind, wird diese Option ignoriert. +.PD 0 +.PP +Diese Passwörter können mit dem \fBpam_panic_pw\fP(1) Programm gesetzt werden. +.RE +.PD 1 +.PP + +\fBallow=\fP\fIUUID(GPT)\fP +.RS 4 +Diese Geräte\-UUID wird zur Authentifizierung benutzt +(Authentifierungsschlüssel). .PD 0 .PP .PD 1 -Um die Passw\(:orter zu setzen steht das Programm \fBpam_panic_pw\fR(1) zur Verf\(:ugung. -.RE - +Der Wechseldatenträger muss GPT\-formatiert sein und mindestens eine +Partition enthalten.Die UUID eines GPT\-formatierten Gerätes sieht +beispielsweise so aus: "12345678\-9ABC\-DEF0\-1234\-56789ABCDEF0". .PP -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR +Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fP. +.RE +.PP + +\fBreject=\fP\fIUUID(GPT)\fP .RS 4 -Diese Ger\(:ate-UUID wird zur Authentifizierung benutzt (Authentifierungsschl\(:ussel). +Diese Geräte\-UUID, welches in Notfällen benutzt wird. Die Verwendung des +Gerätes wird \fBreboot\fP, \fBpoweroff\fP und/oder die Panikfunktion auslösen, +sofern \fBreboot\fP \fBpoweroff\fP und/oder \fBserious\fP angegeben wurden. .PD 0 .PP .PD 1 -Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird. -Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0". +Der Wechseldatenträger muss GPT\-formatiert sein und mindestens eine +Partition enthalten.Die UUID eines GPT\-formatierten Gerätes sieht +beispielsweise so aus: "12345678\-9ABC\-DEF0\-1234\-56789ABCDEF0". .PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR. +Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fP. .RE .PP -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR +\fBreboot\fP (empfohlen) .RS 4 -Diese Ger\(:ate-UUID wird \fBreboot\fR, \fBpoweroff\fR und/oder die Panik-Funktion \fBserious\fR, sofern als Argument angegeben, aufrufen.(Panikschl\(:ussel). +Sorgt für ein Neustart des Systems, sobald die \fIPanikfunktion\fP ausgelöst +wird. .PD 0 .PP -.PD 1 -Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird. -Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0". -.PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR. -.RE -.PP - -\fBreboot\fR (empfohlen) -.RS 4 -Wenn dieses Argument angegeben wird, wird das System neu gestartet, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde. -Diese Option wird empfohlen. -.PP -Wenn \fBpoweroff\fR ebenfalls als Argument angegeben wird, wird \fBreboot\fR ignoriert. -.RE -.PP - -\fBpoweroff\fR -.RS 4 -Wenn dieses Argument angegeben wird, wird das System heruntergefahren, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde. -Aus Sicherheitsgr\(:unden wird von dieser Option abgeraten. -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -Die Ger\(:ate-UUID, dessen luksHeaders zerst\(:ort werden w\(:urde, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde. -Das hei\(sst, dass die Daten auf den in den Optionen angegebenen Datentr\(:ager f\(:ur niemanden mehr lesbar sein werden. -.PD 0 -.PP -Intern wird das Programm "\fBcryptsetup luksErase [UUID]\fR" ausgef\(:uhrt. +Diese Option ist empfohlen. .PD 1 .PP -(Eine Erinnerung daran, ein luksHeader-Backup zu machen bevor diese Funktion benutzt wird..) +Wenn \fBpoweroff\fP ebenfalls angegeben worden ist, wird \fBreboot\fP ignoriert. +.RE +.PP + +\fBpoweroff\fP +.RS 4 +Sorgt für ein Herunterfahren des Systems, sobald die \fIPanikfunktion\fP +ausgeführt wird. Diese Option ist aus Sicherheitsgründen nicht +empfehlenswert. +.RE +.PP + +\fBserious=\fP\fIUUID\fP +.RS 4 +Die Geräte\-UUID, dessen LUKS\-Header zerstört werden soll, sobald die +\fIPanikfunktion\fP ausgelöst wurde. Das Zerstören der LUKS\-Header hat zu +Folge, dass die Daten nicht mehr lesbar sein werden. +.PD 0 +.PP +Der interne Befehl, der ausgeführt werden wird ist "\fBcryptsetup luksErase +[UUID]\fP". +.PD 1 +.PP +HINWEIS: Ein Backup des LUKS\-Headers wäre vor Verwendung dieser Funktion +sinnvoll. .RE .PP -.SH "ANWENDUNG" +.SH ANWENDUNG .PP -Um das Modul zu aktivieren, muss PAM konfiguriert werden. Siehe dazu \fBpam.conf(5)\fR. +Um dieses Modul zu aktivieren, musst du PAM konfigurieren. Siehe +\fBpam.conf(5)\fP. .PP -Man f\(:uge folgende beispielhafte Zeilen am Anfang einer Konfigurationsdatei hinzu: +In allgemeinen Worten gefasst möchte man folgende Zeilen am Anfang einer +PAM\-Konfigurationsdatei hinzufügen: .PD 0 .RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= +auth requisite __PAMPANICSO__ auth= reject= +reboot serious= .PP -account requisite __PAMPANICSO__ +account requisite __PAMPANICSO__ .RE Oder auch: .RS 4 -auth requisite __PAMPANICSO__ password reboot serious= +auth requisite __PAMPANICSO__ password reboot serious= .PP -account requisite __PAMPANICSO__ +account requisite __PAMPANICSO__ .RE .PD 1 .SH "WIE BESTIMME ICH MEINE UUIDS" .PP -Die UUIDs k\(:onnen unter \fI/dev/disk/by-partuuid\fR gefunden werden. -Um nachvollziehen zu k\(:onnen, welcher Wecheldatentr\(:ager welches ist, ist es ratsam "\fBls -l /dev/disk/by-partuuid/\fR" in der Lieblingsshell auszuf\(:uhren. +Die UUIDs können unter \fI/dev/disk/by\-partuuid\fP gefunden werden. Um +nachvollziehen zu können, welcher Wecheldatenträger welches ist, ist es +ratsam "\fBls \-l /dev/disk/by\-partuuid/\fP" in der Lieblingsshell auszuführen. -.SH "R\(:UCKGABEWERTE" +.SH RÃœCKGABEWERTE .PP PAM_SUCCESS .RS 4 -Zugriff wurde gew\(:ahrt. +Zugriff wurde gewährt. .RE .PP PAM_IGNORE @@ -172,38 +201,38 @@ Ein Fehler ist aufgetreten. Dieses Modul wird ignoriert. .PP PAM_MAXTRIES .RS 4 -Der Wecheldatentr\(:ager wurde nicht erkannt. +Der Wechseldatenträger wurde nicht erkannt. .RE -.SH "DATEIEN" +.SH DATEIEN .PP __PAMPANICSO__ .RS 4 -Shared object-Datei, die f\(:ur alles zust\(:andig ist. +Dieses PAM\-Modul, welches für alles zuständig ist. .RE .PP __PAMPANICPW__ .RS 4 -Programm zum Setzen und Ver\(:andern der Passw\(:orter. +Programm zum Setzen und Verändern der Passwörter. .RE -.SH "BUGS" +.SH BUGS .PP -Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: +Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können hier +eingereicht werden: . .SH "SIEHE AUCH" .PP -\fBpam_panic_pw\fR(1), -\fBcryptsetup\fR(8), -\fBpam.conf\fR(5), -\fBpam\fR(8). +\fBpam_panic_pw\fP(1), \fBcryptsetup\fP(8), \fBpam\fP(8), \fBpam.conf\fP(5) -.SH "AUTOREN" - +.SH AUTOREN .PD 0 .PP -Dieses pam_panic PAM Modul wurde durch Bandie entwickelt. +pam_panic wurde von Bandie entwickelt. +.PP +Diese man page wurde von Bandie ins Deutsche +übersetzt. diff --git a/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 index 740092c..a2345bd 100644 --- a/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 +++ b/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 @@ -4,11 +4,16 @@ .\" Date: 2018-03-31 .\" Manual: PAM Panic Manual .\" Source: PAM Panic Manual -.\" Language: German +.\" Language: English .\" -.TH "PAM_PANIC_PW" "8" "2018-03-31" "PAM Panic Handbuch" "PAM Panic Handbuch" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH PAM_PANIC_PW 8 2018\-09\-28 "PAM Panic Handbuch" "PAM Panic Handbuch" +.\".ie \n(.g .ds Aq \(aq +.\".el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -16,74 +21,76 @@ .nh .\" disable justification (adjust text to left margin only) .ad l + .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- - -.SH "NAME" -pam_panic_pw \- Setzen der Passw\(:orter f\(:ur das \fBpam_panic\fR(8) PAM Modul\&. +.SH NAME +pam_panic_pw \- Setzen der Passwörter für das \fBpam_panic\fP(8) PAM\-Modul. -.SH "\(:UBERSICHT" +.SH ÃœBERSICHT .HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR +\fBpam_panic_pw\fP -.SH "BESCHREIBUNG" +.SH BESCHREIBUNG .PP -Es setzt die Passw\(:orter f\(:ur das \fBpam_panic\fR(8) PAM Modul\&. +\fBpam_panic_pw\fP setzt die Passwörter für das \fBpam_panic\fP(8) PAM\-Modul. .PP -Dabei gibt es das "Key password" und das "Panic password"\&. -Das "Key password" dient zur normalen Authentifizierung -w\(:ahrend das "Panic password" die Panikfunktion ausf\(:uhrt\&. +Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein +"Schlüsselpasswort" und ein "Panikpasswort" festgelegt. Das Panikpasswort +wird hierbei die \fIPanikfunktion\fP aufrufen. -.SH "R\(:UCKGABEWERTE" +.SH RÃœCKGABEWERTE .PP 0 .RS 4 -Passw\(:orter erfolgreich gesetzt\&. +Passwörter erfolgreich gesetzt. .RE .PP 1 .RS 4 -Keine Berechtigung\&. +Keine Berechtigungen. .RE .PP 2 .RS 4 -Die Passwortdatei konnte nicht ge\(:offnet werden\&. +Konnte Passwortdatei nicht öffnen. .RE -.SH "DATEIEN" +.SH DATEIEN .PP __PAMPANICPW__ .RS 4 -Programm zum Setzen und Ver\(:andern der Passw\(:orter\&. +Programm zum Setzen und Verändern der Passwörter. .RE .PP __PPASSFILE__ .RS 4 -Die Passwortdatei\&. +Die Passwortdatei. .RE -.SH "BUGS" +.SH BUGS .PP -Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: +Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können hier +eingereicht werden: . .SH "SIEHE AUCH" .PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. +\fBpam_panic\fP(8), \fBcryptsetup\fP(8), \fBpam.conf\fP(5), \fBpam\fP(8). -.SH "AUTOREN" +.SH AUTOREN .PD 0 .PP -Dieses pam_panic PAM Modul wurde durch Bandie entwickelt\&. +pam_panic wurde von Bandie entwickelt. +.PP +Diese man page wurde von Bandie ins Deutsche +übersetzt. + From 62b0782251f737d1f5933d17dca58d5ca0ca7434 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 00:08:58 +0200 Subject: [PATCH 18/48] Ayayayayayayay --- po4a/es.po | 553 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 553 insertions(+) create mode 100644 po4a/es.po diff --git a/po4a/es.po b/po4a/es.po new file mode 100644 index 0000000..310a21e --- /dev/null +++ b/po4a/es.po @@ -0,0 +1,553 @@ +# Spanish translations for po package +# Traducciones al español para el paquete po +# Copyright (C) 2018 Free Software Foundation, Inc. +# This file is distributed under the same license as the po package. +# , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: po 4a\n" +"POT-Creation-Date: 2018-09-28 22:37+0200\n" +"PO-Revision-Date: 2018-09-28 23:12+0200\n" +"Last-Translator: \n" +"Language-Team: Spanish\n" +"Language: es\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" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-03-28" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "PAM Panic Manual" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "NAME" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" +"pam_panic - un módulo de PAM para controlar acceso usando media removible (con función " +"pánica)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "SINOPSIS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"El módulo pam_panic protege los datos delicados y proporcióna una función pánica para " +"emergencias." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "Hay dos opciones posibles para utilizar este modulo de PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "Primera opción posible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"Hay dos medias removibles que están usando como claves: La clave de autenticación y " +"la clave de pánico. La clave para autenticación se permite ingresar su contraseña " +"mientras la clave para pánico va a llamar la I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "Vea la sección de B y B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "Segunda opción posible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"Hay dos contraseñas: La contraseña para autenticación y la contraseña de pánico. La " +"contrasenña clave le permitirá pasar al mensaje de contrasenña original, mientras " +"que la contrasenña de pánico llamará a la I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "Vea la sección de B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "La función de pánico:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"El comportamiento de esta función se define a través de los argumentos B, " +"B o B. Vea la sección de B para más detalles." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "OPCIÓNES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"Activa la función de contraseã con pánico y contraseña clave. Si las opciones" +"B y B son provistas esta opción será ignorada." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "Estas contraseñas se pueden configurar con el comando B(1)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "Es el UUID del dispositivo para autenticación." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"El dispositivo debe estar formateado por GPT y contener al menos una partición. " +"El UUID de un dispositivo se ve como «12345678-9ABC-DEF0-1234-56789ABCDEF0»." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "Vea B para detalles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"Es el UUID del dispositivo para emergencias. Cuando este dispositivo está " +"presente, se disparará un reinicio, un apagado, y / o la función pánica, según si " +"B, B, y / o B han sido especificados." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (recomendado)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" +"Indica que la sistema debe reiniciarse cuando se active la I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "Esta opción es recomendada." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "Si B está especificado también, B estará ignorado." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"Indica que la sistema debe apagarse cuando se active la I." +"Esta opción no se recomienda por razones de seguridad." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"Es el UUID del dispositivo que contene el encabezamiento de LUKS que estará " +"borrado cuando se active la I. Borrar el encabezado LUKS " +"hará que los datos sean ilegibles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" +"El comando interno que se ejecutará es \"B\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"NOTA: Se deberiá hacer una copia del encabezamiento de LUKS antes de usar esta función." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "USAR" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"Para activar el módulo se tiene que configurar PAM. Vea B para detalles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" +"En general, se necesita agregar lo siguiente al comienzo de un archivo de " +"configuración PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "O:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "CÓMO DETERMINAR MIS UUIDS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"Se puede encontrar sus UUIDs en /dev/disk/by-partuuid. Es posible que desee ejecutar " +"«ls -l /dev/disk/by-partuuid» en su shell favorito para encontrar cuál UUID es su " +"dispositivo." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "VALORES DE RETORNO" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "Indica que acceso fue permitido." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "Indica que se ha producido un error. El módulo estará ignorado." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "El media removible no fue detectados." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "ARCHIVOS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "Este módulo PAM." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "Cambiador de contraseña." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "ERRORES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Por favor reportar errores y enviar pull requests a Ehttps://github.com/pampanic/pam_panicE." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "VER TAMBIÉN" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTORES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "pam_panic fue escrito por Bandie Ebandie@chaospott.deE." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE" +msgstr "" +"Este página man fue traducido al español por Jordy Dickinson " +"Ejordy.dickinson@icloud.comE y dangered wolf Ed@ngeredwolf.meE." + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-03-31" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" +"pam_panic_pw - Establecer y cambiar las contraseñas para el módulo PAM de " +"B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "B establece las contraseñas para el módulo PAM de B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"Hay dos contraseñas: La \"contraseña clave\" y la \"contraseña de pánico\". " +"La \"contraseña clave\" se usa para autenticación normal mientras la \"contraseña de pánico\" ""ejecutará la función de pánico." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "Contraseñas establecidas con éxito." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "Acceso denegado." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "No se pudo abrir el archivo de contraseña." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PPASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "El archivo de contraseña." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." From 60bde22cbeb8bf2b37da03390fa8f216e26b64cb Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 16:48:38 +0200 Subject: [PATCH 19/48] Gitignore for po4a --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index 41ba4df..d507745 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,12 @@ po/*.header po/*.sed po/*.sin po/*.gmo +src/pam_panic/man/* +!src/pam_panic/man/Makefile.am +!src/pam_panic/man/man8 src/pam_panic_pw/pam_panic_pw +src/pam_panic_pw/man/* +!src/pam_panic_pw/man/Makefile.am +!src/pam_panic_pw/man/man1 stamp-h1 test/test From c7907d9d1a5676a40532d1d076990a38c4452eca Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 16:50:09 +0200 Subject: [PATCH 20/48] Translations + po4a config --- po4a/de.po | 42 ++-- po4a/es.po | 92 ++++---- po4a/fr.po | 569 +++++++++++++++++++++++++++++++++++++++++++++ po4a/ja.po | 557 ++++++++++++++++++++++++++++++++++++++++++++ po4a/pam_panic.pot | 11 +- po4a/po4a.cfg | 3 + 6 files changed, 1211 insertions(+), 63 deletions(-) create mode 100644 po4a/fr.po create mode 100644 po4a/ja.po diff --git a/po4a/de.po b/po4a/de.po index f79a036..f075301 100644 --- a/po4a/de.po +++ b/po4a/de.po @@ -1,21 +1,23 @@ -# German translations for po package -# German translation for po -# Copyright (C) 2018 Free Software Foundation, Inc. -# This file is distributed under the same license as the po package. -# , 2018. +# German translations for pam_panic package +# German translation for pam_panic +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Bandie , 2018. # msgid "" msgstr "" "Project-Id-Version: po 4a\n" -"POT-Creation-Date: 2018-09-28 22:37+0200\n" -"PO-Revision-Date: 2018-09-22 22:57+0200\n" -"Last-Translator: \n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:02+0200\n" +"Last-Translator: bandie@chaospott.de\n" "Language-Team: German\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-Generator: Poedit 2.1.1\n" #. type: TH #: ../src/pam_panic/man/man8/pam_panic.8:9 @@ -53,7 +55,7 @@ msgid "" "emergency situations" msgstr "" "pam_panic - PAM-Module mit Panik-Funktion zum Schützen von wichtigen Daten " -"in Notsituationen." +"in Notsituationen" #. type: SH #: ../src/pam_panic/man/man8/pam_panic.8:28 @@ -85,7 +87,7 @@ msgid "" "function for emergency situations." msgstr "" "Das pam_panic PAM-Modul schützt wichtige Daten durch das Anbieten einer " -"Panik-Funktion" +"Panik-Funktion." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:38 @@ -440,8 +442,8 @@ msgid "" "Please report bugs and send pull requests to Ehttps://github.com/" "pampanic/pam_panicE." msgstr "" -"Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können " -"hier eingereicht werden: Ehttps://github.com/pampanic/pam_panicE." +"Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können hier " +"eingereicht werden: Ehttps://github.com/pampanic/pam_panicE." #. type: SH #: ../src/pam_panic/man/man8/pam_panic.8:198 @@ -473,10 +475,10 @@ msgstr "pam_panic wurde von Bandie Ebandie@chaospott.deE entwickelt." #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 msgid "" "This man page has been revised by Jordy Dickinson Ejordy." -"dickinson@icloud.comE" +"dickinson@icloud.comE." msgstr "" -"Diese man page wurde von Bandie Ebandie@chaospott.deE " -"ins Deutsche übersetzt." +"Diese man page wurde von Bandie Ebandie@chaospott.deE ins Deutsche " +"übersetzt." #. type: TH #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 @@ -495,7 +497,8 @@ msgstr "2018-09-28" msgid "" "pam_panic_pw - Set and change the passwords for the B(8) PAM " "module." -msgstr "pam_panic_pw - Setzen der Passwörter für das B(8) PAM-Modul." +msgstr "" +"pam_panic_pw - Setzen der Passwörter für das B(8) PAM-Modul." #. type: Plain text #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 @@ -505,7 +508,8 @@ msgstr "B" #. type: Plain text #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 msgid "B sets the passwords for the B(8) PAM module." -msgstr "B setzt die Passwörter für das B(8) PAM-Modul." +msgstr "" +"B setzt die Passwörter für das B(8) PAM-Modul." #. type: Plain text #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 @@ -515,8 +519,8 @@ msgid "" "\"panic password\" will execute the panic function." msgstr "" "Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein " -"\"Schlüsselpasswort\" und ein \"Panikpasswort\" festgelegt. " -"Das Panikpasswort wird hierbei die I aufrufen." +"\"Schlüsselpasswort\" und ein \"Panikpasswort\" festgelegt. Das " +"Panikpasswort wird hierbei die I aufrufen." #. type: Plain text #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 diff --git a/po4a/es.po b/po4a/es.po index 310a21e..a67b54d 100644 --- a/po4a/es.po +++ b/po4a/es.po @@ -1,21 +1,23 @@ -# Spanish translations for po package -# Traducciones al español para el paquete po -# Copyright (C) 2018 Free Software Foundation, Inc. -# This file is distributed under the same license as the po package. -# , 2018. +# Spanish translations for pam_panic package +# Traducciones al español para el paquete pam_panic +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Dangered wolf , 2018. # msgid "" msgstr "" "Project-Id-Version: po 4a\n" -"POT-Creation-Date: 2018-09-28 22:37+0200\n" -"PO-Revision-Date: 2018-09-28 23:12+0200\n" -"Last-Translator: \n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:02+0200\n" +"Last-Translator: d@angeredwolf.me\n" "Language-Team: Spanish\n" "Language: es\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: Poedit 2.1.1\n" #. type: TH #: ../src/pam_panic/man/man8/pam_panic.8:9 @@ -52,8 +54,8 @@ msgid "" "pam_panic - PAM module with panic function to protect sensitive data in " "emergency situations" msgstr "" -"pam_panic - un módulo de PAM para controlar acceso usando media removible (con función " -"pánica)" +"pam_panic - un módulo de PAM para controlar acceso usando media removible " +"(con función pánica)" #. type: SH #: ../src/pam_panic/man/man8/pam_panic.8:28 @@ -84,8 +86,8 @@ msgid "" "The pam_panic PAM module protects sensitive data and provides a panic " "function for emergency situations." msgstr "" -"El módulo pam_panic protege los datos delicados y proporcióna una función pánica para " -"emergencias." +"El módulo pam_panic protege los datos delicados y proporcióna una función " +"pánica para emergencias." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:38 @@ -104,9 +106,10 @@ msgid "" "key. The auth key will let you pass to the password prompt whereas the " "panic key will call the I." msgstr "" -"Hay dos medias removibles que están usando como claves: La clave de autenticación y " -"la clave de pánico. La clave para autenticación se permite ingresar su contraseña " -"mientras la clave para pánico va a llamar la I." +"Hay dos medias removibles que están usando como claves: La clave de " +"autenticación y la clave de pánico. La clave para autenticación se permite " +"ingresar su contraseña mientras la clave para pánico va a llamar la " +"I." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:47 @@ -125,9 +128,10 @@ msgid "" "password will let you pass to the original password prompt whereas the panic " "password will call the I." msgstr "" -"Hay dos contraseñas: La contraseña para autenticación y la contraseña de pánico. La " -"contrasenña clave le permitirá pasar al mensaje de contrasenña original, mientras " -"que la contrasenña de pánico llamará a la I." +"Hay dos contraseñas: La contraseña para autenticación y la contraseña de " +"pánico. La contrasenña clave le permitirá pasar al mensaje de contrasenña " +"original, mientras que la contrasenña de pánico llamará a la I." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:55 @@ -145,8 +149,9 @@ msgid "" "The behaviour of this function is defined through the arguments B, " "B and/or B. See the B section for details." msgstr "" -"El comportamiento de esta función se define a través de los argumentos B, " -"B o B. Vea la sección de B para más detalles." +"El comportamiento de esta función se define a través de los argumentos " +"B, B o B. Vea la sección de B para más " +"detalles." #. type: SH #: ../src/pam_panic/man/man8/pam_panic.8:65 @@ -165,13 +170,14 @@ msgid "" "Activates the password function having a panic and key password. If the " "options B and B are provided this option will be ignored." msgstr "" -"Activa la función de contraseã con pánico y contraseña clave. Si las opciones" -"B y B son provistas esta opción será ignorada." +"Activa la función de contraseã con pánico y contraseña clave. Si las " +"opcionesB y B son provistas esta opción será ignorada." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:74 msgid "These passwords can be set with the B(1) command." -msgstr "Estas contraseñas se pueden configurar con el comando B(1)." +msgstr "" +"Estas contraseñas se pueden configurar con el comando B(1)." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:79 @@ -191,8 +197,9 @@ msgid "" "UUID of a GPT-formatted device looks like \"12345678-9ABC-" "DEF0-1234-56789ABCDEF0\"." msgstr "" -"El dispositivo debe estar formateado por GPT y contener al menos una partición. " -"El UUID de un dispositivo se ve como «12345678-9ABC-DEF0-1234-56789ABCDEF0»." +"El dispositivo debe estar formateado por GPT y contener al menos una " +"partición. El UUID de un dispositivo se ve como «12345678-9ABC-" +"DEF0-1234-56789ABCDEF0»." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:88 @@ -213,8 +220,8 @@ msgid "" "depending on whether B, B, and/or B are specified." msgstr "" "Es el UUID del dispositivo para emergencias. Cuando este dispositivo está " -"presente, se disparará un reinicio, un apagado, y / o la función pánica, según si " -"B, B, y / o B han sido especificados." +"presente, se disparará un reinicio, un apagado, y / o la función pánica, " +"según si B, B, y / o B han sido especificados." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:105 @@ -227,7 +234,8 @@ msgid "" "Indicates that the system should reboot when the I is " "triggered." msgstr "" -"Indica que la sistema debe reiniciarse cuando se active la I." +"Indica que la sistema debe reiniciarse cuando se active la I." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:110 @@ -282,7 +290,8 @@ msgstr "" msgid "" "NOTE: You should make a backup of the LUKS header before using this function." msgstr "" -"NOTA: Se deberiá hacer una copia del encabezamiento de LUKS antes de usar esta función." +"NOTA: Se deberiá hacer una copia del encabezamiento de LUKS antes de usar " +"esta función." #. type: SH #: ../src/pam_panic/man/man8/pam_panic.8:136 @@ -296,7 +305,8 @@ msgid "" "To activate the module you have to configure PAM. See B for " "details." msgstr "" -"Para activar el módulo se tiene que configurar PAM. Vea B para detalles." +"Para activar el módulo se tiene que configurar PAM. Vea B para " +"detalles." #. type: Plain text #: ../src/pam_panic/man/man8/pam_panic.8:141 @@ -345,9 +355,9 @@ msgid "" "execute \"B\" in your favourite shell to find " "out which UUID is which device." msgstr "" -"Se puede encontrar sus UUIDs en /dev/disk/by-partuuid. Es posible que desee ejecutar " -"«ls -l /dev/disk/by-partuuid» en su shell favorito para encontrar cuál UUID es su " -"dispositivo." +"Se puede encontrar sus UUIDs en /dev/disk/by-partuuid. Es posible que desee " +"ejecutar «ls -l /dev/disk/by-partuuid» en su shell favorito para encontrar " +"cuál UUID es su dispositivo." #. type: SH #: ../src/pam_panic/man/man8/pam_panic.8:162 @@ -429,7 +439,8 @@ msgid "" "Please report bugs and send pull requests to Ehttps://github.com/" "pampanic/pam_panicE." msgstr "" -"Por favor reportar errores y enviar pull requests a Ehttps://github.com/pampanic/pam_panicE." +"Por favor reportar errores y enviar pull requests a Ehttps://github.com/" +"pampanic/pam_panicE." #. type: SH #: ../src/pam_panic/man/man8/pam_panic.8:198 @@ -461,10 +472,10 @@ msgstr "pam_panic fue escrito por Bandie Ebandie@chaospott.deE." #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 msgid "" "This man page has been revised by Jordy Dickinson Ejordy." -"dickinson@icloud.comE" +"dickinson@icloud.comE." msgstr "" -"Este página man fue traducido al español por Jordy Dickinson " -"Ejordy.dickinson@icloud.comE y dangered wolf Ed@ngeredwolf.meE." +"Este página man fue traducido al español por Jordy Dickinson Ejordy." +"dickinson@icloud.comE y dangered wolf Ed@ngeredwolf.meE." #. type: TH #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 @@ -495,7 +506,9 @@ msgstr "B" #. type: Plain text #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 msgid "B sets the passwords for the B(8) PAM module." -msgstr "B establece las contraseñas para el módulo PAM de B(8)." +msgstr "" +"B establece las contraseñas para el módulo PAM de " +"B(8)." #. type: Plain text #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 @@ -505,7 +518,8 @@ msgid "" "\"panic password\" will execute the panic function." msgstr "" "Hay dos contraseñas: La \"contraseña clave\" y la \"contraseña de pánico\". " -"La \"contraseña clave\" se usa para autenticación normal mientras la \"contraseña de pánico\" ""ejecutará la función de pánico." +"La \"contraseña clave\" se usa para autenticación normal mientras la " +"\"contraseña de pánico\" ejecutará la función de pánico." #. type: Plain text #: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 diff --git a/po4a/fr.po b/po4a/fr.po new file mode 100644 index 0000000..4b4596f --- /dev/null +++ b/po4a/fr.po @@ -0,0 +1,569 @@ +# French translations for pam_panic package +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the po package. +# Dashie , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: po 4a\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:01+0200\n" +"Last-Translator: Dashie \n" +"Language-Team: French\n" +"Language: fr\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: Poedit 2.1.1\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-03-26" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "Manuel de PAM Panic" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "NOM" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "" +"pam_panic - Module PAM pour un contrôle d'accès via l'utilisation d'un " +"périphérique amovible (avec une fonction panique)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "SYNOPSIS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"Le module PAM pam_panic protège les données sensibles et fournit une " +"fonction de panique pour les situations d'urgence." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "Il-y-à deux options possibles pour utiliser ce module PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "Première option possible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé " +"d'authentification et la clé de panique. La clé d'authentification permet de " +"passer à la demande de mot de passe alors que la clé de panique appellera la " +"I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "Voir l'options B et B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "Seconde option possible:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"Il-y-à deux mots de passe: le mot de pass de clé et celui de panique. Le mot " +"de passe de clé permet de passer a la demande de mot de passe alors que " +"celui de panique appellera la I." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "Voir l'option B." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "La fonction de panique:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"Le comportement de cette fonction est défini via les arguments B, " +"B et/ou B. Voir la section B pour plus de " +"détails." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"Active la fonction de mot de passe avec un mot de passe de clé et de " +"panique. Si les options options B et B sont fournies, cette " +"option sera ignorée." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "" +"Ces mots de passe peuvent être définis via le programme B(1)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "" +"L'UUID du péripherique à utiliser pour l'authentification (la clé " +"d'authentification)." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"Le périphérique doit être formatté en GPT avec au moins une partition. " +"L'UUID du périphérique formatté en GPT ressemble à \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "Lisez COMMENT DÉTERMINER MES UUIDS pour plus de détails." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"L'UUID du périphérique à utiliser en cas d'urgence. La présence de ce " +"périphérique entrainera un B, B et/ou la fonction de " +"panique, selon si B, B, et/ou B sont spécifiés." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (recommendé)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "" +"Indique que le système doit redémarrer lorsque la I est " +"déclenchée." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "Cette option est recommandée." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "Si B est aussi spécifié, B sera ignoré." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"Indique que le système doit s’éteindre lorsque la I est " +"déclenchée. Cette option est déconseillée pour des raisons de sécurité." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"L'UUID du périphérique contenant l'en-tête LUKS à effacer lorsque la " +"I est déclenchée. Effacer l'en-tête LUKS rendra les " +"données illisibles." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "" +"La commande interne qui sera exécutée est la suivante: \"B\"." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser " +"cette fonction." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "UTILISATION" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"Pour activer ce module vous devez configurer PAM. Lisez B pour " +"plus de détails." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "" +"En général, vous voudrez ajouter ce qui suit au début du fichier de " +"configuration PAM:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "Ou:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "COMMENT DÉTERMINER MES UUIDS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"Vous trouverz vos UUIDs dans /dev/disk/by-partuuid. Vous voudriez peut-être " +"executer \"ls -l /dev/disk/by-partuuid/\" dans votre shell favoris pour " +"trouver quel UUID correspond à quel périphérique." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "VALEURS DE RETOUR" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "Accès autorisé." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "Une erreur est survenue. Le module sera ignoré." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "Le péripherique amovible n'a pas été détécté." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "FICHIERS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "Ce module PAM." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "Programme pour configurer les mots de passe." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "BUGS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Veuillez reporter les bugs ou envoyer une demande de correction à " +"Ehttps://github.com/pampanic/pam_panicE." + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTEURS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "pam_panic à été écris par Bandie Ebandie@chaospott.deE." + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE." +msgstr "" +"La version Française à été traduite par Dashie Edashie@otter.shE." + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-03-31" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" +"pam_panic_pw - Configurer et changer les mots de passe pour le module PAM " +"B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" +"B configure les mots de passe pour le module PAM " +"B(8)." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"Il-y-à deux mots de passe: le \"mot de passe de clé\" et le \"mot de passe " +"de panique\". Le \"mot de passe de clé\" est utilisé pour une " +"authentification normale alors que le \"mot de passe de panique\" executera " +"la fonction de panique." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "Mots de passe configurés avec succès." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "Accès refusé." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "Impossible d'ouvrir le fichier de mots de passe." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "Le fichier de mots de passe." + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." diff --git a/po4a/ja.po b/po4a/ja.po new file mode 100644 index 0000000..c168f84 --- /dev/null +++ b/po4a/ja.po @@ -0,0 +1,557 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Bandie +# This file is distributed under the same license as the pam_panic package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" +"PO-Revision-Date: 2018-09-29 16:41+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.1.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "PAM_PANIC" +msgstr "PAM_PANIC" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#, no-wrap +msgid "2018-03-26" +msgstr "2018-05-31" + +#. type: TH +#: ../src/pam_panic/man/man8/pam_panic.8:9 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM Panic Manual" +msgstr "PAM Panic マニュアル" + +#. ----------------------------------------------------------------- +#. * MAIN CONTENT STARTS HERE * +#. ----------------------------------------------------------------- +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:24 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23 +#, no-wrap +msgid "NAME" +msgstr "åå‰" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:26 +msgid "" +"pam_panic - PAM module with panic function to protect sensitive data in " +"emergency situations" +msgstr "pam_panic - 緊急時ã«æ©Ÿå¯†ãƒ‡ãƒ¼ã‚¿ã‚’ä¿è­·ã™ã‚‹PAMモジュール" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:28 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27 +#, no-wrap +msgid "SYNOPSIS" +msgstr "概è¦" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:31 +msgid "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" +msgstr "" +"B [password] [allow=I] [reject=I] " +"[reboot] [poweroff] [serious=I]" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:33 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32 +#, no-wrap +msgid "DESCRIPTION" +msgstr "説明" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:36 +msgid "" +"The pam_panic PAM module protects sensitive data and provides a panic " +"function for emergency situations." +msgstr "" +"pam_panic PAMモジュールã¯ã€ç·Šæ€¥æ™‚ã«ãƒ‡ãƒ¼ã‚¿ã‚’ä¿è­·ã™ã‚‹ãŸã‚ã®ãƒ‘ニック機能を実装ã—" +"ã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:38 +msgid "There are two possible options in how to use this PAM module:" +msgstr "ã“ã®PAMモジュールを使用ã™ã‚‹ã«ã¯ã€æ¬¡ã®2ã¤ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:41 +msgid "First possible option:" +msgstr "方法1:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:44 +msgid "" +"There are two removable media which work as keys: the auth key and the panic " +"key. The auth key will let you pass to the password prompt whereas the " +"panic key will call the I." +msgstr "" +"èªè¨¼ã‚­ãƒ¼ã¨ãƒ‘ニックキーã®2ã¤ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’キーã¨ã—ã¦ä½¿ç”¨ã—ã¾ã™ã€‚\n" +"èªè¨¼ã‚­ãƒ¼ã§ã¯ãƒ‘スワードèªè¨¼ã‚’スキップã—ã€ãƒ‘ニックキーã§ã¯ãƒ‘ニック機能ãŒèµ·å‹•ã—" +"ã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:47 +msgid "See options B and B." +msgstr "オプションBã¨Bã‚’å‚ç…§ã—ã¦ãã ã•ã„。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:50 +msgid "Second possible option:" +msgstr "方法2:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:52 +msgid "" +"There are two passwords: the key password and the panic password. The key " +"password will let you pass to the original password prompt whereas the panic " +"password will call the I." +msgstr "" +"パスワードを2ã¤ç”¨æ„ã—ã¾ã™ã€‚èªè¨¼ãƒ‘スワードã¨ãƒ‘ニックパスワードã§ã™ã€‚èªè¨¼ãƒ‘ス" +"ワードã§ã¯é€šå¸¸é€šã‚Šèªè¨¼ãŒè¡Œã‚ã‚Œã€ãƒ‘ニックパスワードã§ã¯ãƒ‘ニック機能ãŒèµ·å‹•ã—ã¾" +"ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:55 +msgid "See option B." +msgstr "オプションBã‚’å‚ç…§ã—ã¦ãã ã•ã„。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:60 +msgid "The panic function:" +msgstr "パニック機能:" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:62 +msgid "" +"The behaviour of this function is defined through the arguments B, " +"B and/or B. See the B section for details." +msgstr "" +"ã“ã®æ©Ÿèƒ½ã®å‹•ä½œã¯æ¬¡ã®å¼•æ•°ã«ã‚ˆã£ã¦æŒ‡å®šã•ã‚Œã¾ã™: B, B ã¾ãŸã¯ " +"B 。詳細ã«ã¤ã„ã¦ã¯ã€ B<オプション> セクションを確èªã—ã¦ãã ã•ã„。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:65 +#, no-wrap +msgid "OPTIONS" +msgstr "オプション" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:68 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:71 +msgid "" +"Activates the password function having a panic and key password. If the " +"options B and B are provided this option will be ignored." +msgstr "" +"パスワードをèªè¨¼ã«ä½¿ç”¨ã—ã¾ã™ã€‚ 引数㫠B 㨠B ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹" +"å ´åˆã€ã“ã®ã‚ªãƒ—ションã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:74 +msgid "These passwords can be set with the B(1) command." +msgstr "パスワード㯠B(1) コマンドã«ã‚ˆã£ã¦æŒ‡å®šã§ãã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:79 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:81 +msgid "The UUID of the device to be used for authentication (the auth key)." +msgstr "デãƒã‚¤ã‚¹ã®UUIDã‚’èªè¨¼ã«ä½¿ç”¨ã—ã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:86 +#: ../src/pam_panic/man/man8/pam_panic.8:99 +msgid "" +"The device must be GPT-formatted and contain at least one partition. The " +"UUID of a GPT-formatted device looks like \"12345678-9ABC-" +"DEF0-1234-56789ABCDEF0\"." +msgstr "" +"デãƒã‚¤ã‚¹ã¯GPTã§ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã€æœ€ä½Ž1ã¤ã®ãƒ‘ーティションをå«" +"ã‚“ã§ã„ã‚‹\n" +"å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚GPTã§ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ã®UUIDã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™: " +"\"12345678-9ABC-DEF0-1234-56789ABCDEF0\"。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:88 +#: ../src/pam_panic/man/man8/pam_panic.8:101 +msgid "See B for details." +msgstr "詳細ã«ã¤ã„ã¦ã¯ B を確èªã—ã¦ãã ã•ã„。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:92 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:94 +msgid "" +"The UUID of the device to be used in emergencies. The presence of this " +"device will trigger B, B and/or the panic function, " +"depending on whether B, B, and/or B are specified." +msgstr "" +"緊急時ã«ä½¿ç”¨ã™ã‚‹ãƒ‡ãƒã‚¤ã‚¹ã®UUIDを指定ã—ã¾ã™ã€‚ã“ã®ãƒ‡ãƒã‚¤ã‚¹ãŒå­˜åœ¨ã™ã‚‹å ´åˆã€" +"B, B ã¾ãŸã¯ãƒ‘ニック機能ãŒç™ºå‹•ã—ã¾ã™ã€‚ パニック機能㯠" +"B, B, B ã®ã†ã¡ã€ã„ãšã‚Œã‹1ã¤ä»¥ä¸Šã§æŒ‡å®šã•ã‚Œã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:105 +msgid "B (recommended)" +msgstr "B (推奨)" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:107 +msgid "" +"Indicates that the system should reboot when the I is " +"triggered." +msgstr "I<パニック機能>ãŒèµ·å‹•ã—ãŸã¨ãã«ã‚·ã‚¹ãƒ†ãƒ ãŒå†èµ·å‹•ã™ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:110 +msgid "This option is recommended." +msgstr "ã“ã®ã‚ªãƒ—ションãŒæŽ¨å¥¨ã•ã‚Œã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:113 +msgid "If B is also specified, B will be ignored." +msgstr "B ãŒåŒæ™‚ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ B ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:117 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:120 +msgid "" +"Indicates that the system should shut down when the I is " +"triggered. This option is discouraged for security reasons." +msgstr "" +"I<パニック機能>ãŒèµ·å‹•ã—ãŸã¨ãã«ã‚·ã‚¹ãƒ†ãƒ ãŒã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³ã™ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚ " +"セキュリティ上ã®ç†ç”±ã‹ã‚‰ã€ã“ã®ã‚ªãƒ—ションã¯ãŠå‹§ã‚ã§ãã¾ã›ã‚“。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:124 +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:126 +msgid "" +"The UUID of the device containing the LUKS header to erase when the I is triggered. Erasing the LUKS header will render the data " +"unreadable." +msgstr "" +"LUKSヘッダーを消去ã™ã‚‹ãŸã‚ã®éµã¨ãªã‚‹ãƒ‡ãƒã‚¤ã‚¹ã®UUIDを指定ã—ã¾ã™LUKSヘッダーを" +"消去ã—ãŸå ´åˆã€ãƒ‡ãƒ¼ã‚¿ã¯å¾©å…ƒã§ããªããªã‚Šã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:129 +msgid "" +"The internal command which will be executed is \"B\"." +msgstr "実行ã•ã‚Œã‚‹å†…部コマンド㯠\"B\"ã§ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:132 +msgid "" +"NOTE: You should make a backup of the LUKS header before using this function." +msgstr "" +"注æ„: ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹å‰ã«ã€LUKSヘッダーをãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã—ã¦ãŠãã“ã¨ã‚’ãŠã™ã™" +"ã‚ã—ã¾ã™ã€‚" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:136 +#, no-wrap +msgid "USAGE" +msgstr "使用法" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:139 +msgid "" +"To activate the module you have to configure PAM. See B for " +"details." +msgstr "" +"ジュールを使用ã™ã‚‹ãŸã‚ã«ã¯ã€PAMを設定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€\n" +"B ã‚’å‚ç…§ã—ã¦ãã ã•ã„。" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:141 +msgid "" +"In general, you will want to add the following to the top of a PAM " +"configuration file:" +msgstr "多ãã®å ´åˆã€PAM設定ファイルã®å…ˆé ­ã«æ¬¡ã®å†…容を設定ã™ã‚‹ã°ã‚ã„ã§ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:144 +msgid "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" +msgstr "" +"auth requisite __PAMPANICSO__ auth=EUUIDE reject=EUUIDE " +"reboot serious=EUUIDE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:146 +#: ../src/pam_panic/man/man8/pam_panic.8:152 +msgid "account requisite __PAMPANICSO__" +msgstr "account requisite __PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:148 +msgid "Or:" +msgstr "ã¾ãŸã¯ï¼š" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:150 +msgid "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" +msgstr "auth requisite __PAMPANICSO__ password reboot serious=EUUIDE" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:156 +#, no-wrap +msgid "HOW TO DETERMINE MY UUIDS" +msgstr "UUIDを調ã¹ã‚‹æ–¹æ³•" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:160 +msgid "" +"You will find your UUIDs in I. You might want to " +"execute \"B\" in your favourite shell to find " +"out which UUID is which device." +msgstr "" +"/dev/disk/by-partuuid ã§UUIDを調ã¹ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ \"ls -l /dev/disk/by-" +"partuuid/\"\n" +"ã‚’ä»»æ„ã®ã‚·ã‚§ãƒ«ã§å®Ÿè¡Œã—ã¦ã€ã©ã®ãƒ‡ãƒã‚¤ã‚¹ãŒã©ã®UUIDã‹ã‚’調ã¹ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œ" +"ã¾ã›ã‚“。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:162 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41 +#, no-wrap +msgid "RETURN VALUES" +msgstr "返り値" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:165 +msgid "PAM_SUCCESS" +msgstr "PAM_SUCCESS" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:167 +msgid "Access was granted." +msgstr "アクセスã¯è¨±å¯ã•ã‚Œã¾ã—ãŸã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:170 +msgid "PAM_IGNORE" +msgstr "PAM_IGNORE" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:172 +msgid "An error has occured. The module will be ignored." +msgstr "エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚モジュールã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:175 +msgid "PAM_MAXTRIES" +msgstr "PAM_MAXTRIES" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:177 +msgid "The removable media was not detected." +msgstr "リムーãƒãƒ–ルメディアãŒæ¤œçŸ¥ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:180 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59 +#, no-wrap +msgid "FILES" +msgstr "ファイル" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:183 +msgid "__PAMPANICSO__" +msgstr "__PAMPANICSO__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:185 +msgid "This PAM module, which does everything of this above." +msgstr "ã“ã®PAMモジュールã§ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:188 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62 +msgid "__PAMPANICPW__" +msgstr "__PAMPANICPW__" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:190 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64 +msgid "Program to set and change the passwords." +msgstr "パスワードã®è¨­å®šãŠã‚ˆã³å¤‰æ›´ã‚’è¡Œã†ãŸã‚ã®ãƒ—ログラムã§ã™ã€‚" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:193 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72 +#, no-wrap +msgid "BUGS" +msgstr "ãƒã‚°å ±å‘Š" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:196 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75 +msgid "" +"Please report bugs and send pull requests to Ehttps://github.com/" +"pampanic/pam_panicE." +msgstr "" +"Ehttps://github.com/pampanic/pam_panicE ã§ã€ãƒã‚°ã®å ±å‘Šã‚„プルリクエス" +"トを行ã£ã¦ãã ã•ã„。" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:198 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77 +#, no-wrap +msgid "SEE ALSO" +msgstr "関連項目" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:204 +msgid "B(1), B(8), B(8), B(5)" +msgstr "B(1), B(8), B(8), B(5)" + +#. type: SH +#: ../src/pam_panic/man/man8/pam_panic.8:206 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85 +#, no-wrap +msgid "AUTHORS" +msgstr "著者" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:210 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90 +msgid "pam_panic was written by Bandie Ebandie@chaospott.deE." +msgstr "" +"pam_panic 㯠Bandie Ebandie@chaospott.deE ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚" + +#. type: Plain text +#: ../src/pam_panic/man/man8/pam_panic.8:211 +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 +msgid "" +"This man page has been revised by Jordy Dickinson Ejordy." +"dickinson@icloud.comE." +msgstr "" +"ã“ã®ç¿»è¨³ã¯ Chromium Neptune Echromium@neplanet.comE ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œ" +"ã¦ã„ã¾ã™ã€‚" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "PAM_PANIC_PW" +msgstr "PAM_PANIC_PW" + +#. type: TH +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9 +#, no-wrap +msgid "2018-03-31" +msgstr "2018-05-31" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25 +msgid "" +"pam_panic_pw - Set and change the passwords for the B(8) PAM " +"module." +msgstr "" +"pam_panic_pw - B(8) PAM モジュールã§ä½¿ç”¨ã™ã‚‹ãƒ‘スワードã®è¨­å®šã¨å¤‰æ›´" +"ã‚’è¡Œã†ã€‚" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30 +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35 +msgid "B sets the passwords for the B(8) PAM module." +msgstr "" +"B 㯠B(8) PAM\n" +" モジュールã§ä½¿ç”¨ã™ã‚‹ãƒ‘スワードã®è¨­å®šãŠã‚ˆã³å¤‰æ›´ã‚’è¡Œã„ã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39 +msgid "" +"There are two passwords: the \"key password\" and the \"panic password\". " +"The \"key password\" is used for the normal authentication whereas the " +"\"panic password\" will execute the panic function." +msgstr "" +"èªè¨¼ãƒ‘スワードã¨ãƒ‘ニックパスワードã®2ã¤ã®ãƒ‘スワードを用æ„ã—ã¾ã™ã€‚\n" +"èªè¨¼ãƒ‘スワードã¯ã€é€šå¸¸ã®èªè¨¼ã«ä½¿ç”¨ã—ã¾ã™ã€‚\n" +"パニックパスワードã¯ã€ãƒ‘ニック機能ã®ç™ºå‹•ã«ä½¿ç”¨ã—ã¾ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44 +msgid "0" +msgstr "0" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46 +msgid "Passwords set successfully." +msgstr "パスワードã¯æ­£ã—ã設定ã•ã‚Œã¾ã—ãŸã€‚" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49 +msgid "1" +msgstr "1" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51 +msgid "Access denied." +msgstr "アクセスãŒæ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54 +msgid "2" +msgstr "2" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56 +msgid "Could not open the password file." +msgstr "パスワードファイルを開ã‘ã¾ã›ã‚“。" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67 +msgid "__PPASSFILE__" +msgstr "__PPASSFILE__" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69 +msgid "The password file." +msgstr "パスワードファイルã§ã™ã€‚" + +#. type: Plain text +#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83 +msgid "B(8), B(8), B(5), B(8)." +msgstr "B(8), B(8), B(5), B(8)." diff --git a/po4a/pam_panic.pot b/po4a/pam_panic.pot index 1ed7bc5..69ce13d 100644 --- a/po4a/pam_panic.pot +++ b/po4a/pam_panic.pot @@ -1,13 +1,14 @@ # SOME DESCRIPTIVE TITLE -# Copyright (C) YEAR Free Software Foundation, Inc. -# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR Bandie +# This file is distributed under the same license as the pam_panic package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2018-09-28 22:37+0200\n" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: Bandie \n" +"POT-Creation-Date: 2018-09-29 16:00+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -407,7 +408,7 @@ msgstr "" #: ../src/pam_panic/man/man8/pam_panic.8:211 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92 msgid "" "This man page has been revised by Jordy Dickinson " -"Ejordy.dickinson@icloud.comE" +"Ejordy.dickinson@icloud.comE." msgstr "" #. type: TH diff --git a/po4a/po4a.cfg b/po4a/po4a.cfg index 3b88896..0c8f3be 100644 --- a/po4a/po4a.cfg +++ b/po4a/po4a.cfg @@ -1,3 +1,6 @@ +[options] opt:"--copyright-holder 'Bandie ' --package-name 'pam_panic' --msgid-bugs-address 'Bandie ' --package-version '0.2.0'" + + [po_directory] . [type: man] ../src/pam_panic/man/man8/pam_panic.8 $lang:../src/pam_panic/man/$lang/man8/pam_panic.8 From 6cef8d96be6f12b149a05189c033697972617ecc Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 16:51:03 +0200 Subject: [PATCH 21/48] Dot! --- src/pam_panic/man/man8/pam_panic.8 | 2 +- src/pam_panic_pw/man/man1/pam_panic_pw.1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pam_panic/man/man8/pam_panic.8 b/src/pam_panic/man/man8/pam_panic.8 index 816f18b..1dc943b 100644 --- a/src/pam_panic/man/man8/pam_panic.8 +++ b/src/pam_panic/man/man8/pam_panic.8 @@ -208,4 +208,4 @@ Please report bugs and send pull requests to . .PP -This man page has been revised by Jordy Dickinson +This man page has been revised by Jordy Dickinson . diff --git a/src/pam_panic_pw/man/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/man1/pam_panic_pw.1 index f2f4ce1..db3dbb7 100644 --- a/src/pam_panic_pw/man/man1/pam_panic_pw.1 +++ b/src/pam_panic_pw/man/man1/pam_panic_pw.1 @@ -88,5 +88,5 @@ Please report bugs and send pull requests to . .PP -This man page has been revised by Jordy Dickinson +This man page has been revised by Jordy Dickinson . From a3920dcb11d1cd12db6b309607827aeddf6a4fbd Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 16:52:11 +0200 Subject: [PATCH 22/48] Slashes? --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d507745..47d6df8 100644 --- a/.gitignore +++ b/.gitignore @@ -29,10 +29,10 @@ po/*.sin po/*.gmo src/pam_panic/man/* !src/pam_panic/man/Makefile.am -!src/pam_panic/man/man8 +!src/pam_panic/man/man8/ src/pam_panic_pw/pam_panic_pw src/pam_panic_pw/man/* !src/pam_panic_pw/man/Makefile.am -!src/pam_panic_pw/man/man1 +!src/pam_panic_pw/man/man1/ stamp-h1 test/test From d3fcbb8c61b4aee3aa1d193135a7a6b717db66c7 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 16:57:33 +0200 Subject: [PATCH 23/48] Remove all translations since they're going to be build by po4a --- m4/.gitignore | 5 - src/pam_panic/man/de/man8/pam_panic.8 | 238 -------------------- src/pam_panic/man/es/man8/pam_panic.8 | 187 --------------- src/pam_panic/man/fr/man8/pam_panic.8 | 198 ---------------- src/pam_panic/man/ja/man8/pam_panic.8 | 196 ---------------- src/pam_panic_pw/man/de/man1/pam_panic_pw.1 | 96 -------- src/pam_panic_pw/man/es/man1/pam_panic_pw.1 | 93 -------- src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 | 93 -------- src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 | 91 -------- 9 files changed, 1197 deletions(-) delete mode 100644 m4/.gitignore delete mode 100644 src/pam_panic/man/de/man8/pam_panic.8 delete mode 100644 src/pam_panic/man/es/man8/pam_panic.8 delete mode 100644 src/pam_panic/man/fr/man8/pam_panic.8 delete mode 100644 src/pam_panic/man/ja/man8/pam_panic.8 delete mode 100644 src/pam_panic_pw/man/de/man1/pam_panic_pw.1 delete mode 100644 src/pam_panic_pw/man/es/man1/pam_panic_pw.1 delete mode 100644 src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 delete mode 100644 src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 diff --git a/m4/.gitignore b/m4/.gitignore deleted file mode 100644 index 38066dd..0000000 --- a/m4/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -libtool.m4 -ltoptions.m4 -ltsugar.m4 -ltversion.m4 -lt~obsolete.m4 diff --git a/src/pam_panic/man/de/man8/pam_panic.8 b/src/pam_panic/man/de/man8/pam_panic.8 deleted file mode 100644 index d2efd52..0000000 --- a/src/pam_panic/man/de/man8/pam_panic.8 +++ /dev/null @@ -1,238 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-03-26 -.\" Manual: Linux-PAM Panic Manual -.\" Source: Linux-PAM Panic Manual -.\" Language: English -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH PAM_PANIC 8 2018\-09\-28 "PAM Panic Handbuch" "PAM Panic Handbuch" -.\".ie \n(.g .ds Aq \(aq -.\".el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l - - -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH NAME -pam_panic \- PAM\-Module mit Panik\-Funktion zum Schützen von wichtigen Daten -in Notsituationen. - - -.SH ÃœBERSICHT -.HP \w'\fBpam_panic.so\fR\ 'u -\fBpam_panic.so\fP [password] [allow=\fIUUID(GPT)\fP] [reject=\fIUUID(GPT)\fP] -[reboot] [poweroff] [serious=\fIUUID\fP] - - -.SH BESCHREIBUNG -.PP -Das pam_panic PAM\-Modul schützt wichtige Daten durch das Anbieten einer -Panik\-Funktion -.PP -Es gibt zwei Möglichkeiten der Verwendung: -.PD 0 -.PP -Erste Möglichkeit: -.RS 2 -Man verwendet zwei Wecheldatenträger, die als Schlüssel dienen. Hierbei -funktioniert eines als Authentifizierungsschlüssel und eines als -Panikschlüssel. Der Panikschlüssel führt die \fIPanikfunktion\fP aus. -.PD 0 -.PP -Sie dazu die Optionen \fBallow\fP und \fBreject\fP. -.RE -.PP -Zweite Möglichkeit: -.RS 2 -Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein -Schlüsselpasswort (Key password) und ein Panikpasswort (Panic password) -festgelegt.Das Panikpasswort wird hierbei die \fIPanikfunktion\fP aufrufen. -.PD 0 -.PP -Siehe dazu die Option \fBpassword\fP. -.RE - -.PD 1 -.PP -Die Panikfunktion: -.RS 2 -Das Verhalten der Panikfunktion wird durch die Argumente \fBreboot\fP, -\fBpoweroff\fP und/oder \fBserious\fP definiert. Siehe dazu den Abschnitt -\fBOPTIONEN\fP. -.RE - - -.SH OPTIONEN -.PP -\fBpassword\fP -.RS 4 -Aktiviert die Passwortfunktion mit einem Panik\- und Schlüsselpasswort. Wenn -\fBallow\fP und \fBreject\fP gesetzt sind, wird diese Option ignoriert. -.PD 0 -.PP -Diese Passwörter können mit dem \fBpam_panic_pw\fP(1) Programm gesetzt werden. -.RE -.PD 1 -.PP - -\fBallow=\fP\fIUUID(GPT)\fP -.RS 4 -Diese Geräte\-UUID wird zur Authentifizierung benutzt -(Authentifierungsschlüssel). -.PD 0 -.PP -.PD 1 -Der Wechseldatenträger muss GPT\-formatiert sein und mindestens eine -Partition enthalten.Die UUID eines GPT\-formatierten Gerätes sieht -beispielsweise so aus: "12345678\-9ABC\-DEF0\-1234\-56789ABCDEF0". -.PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fP. -.RE -.PP - -\fBreject=\fP\fIUUID(GPT)\fP -.RS 4 -Diese Geräte\-UUID, welches in Notfällen benutzt wird. Die Verwendung des -Gerätes wird \fBreboot\fP, \fBpoweroff\fP und/oder die Panikfunktion auslösen, -sofern \fBreboot\fP \fBpoweroff\fP und/oder \fBserious\fP angegeben wurden. -.PD 0 -.PP -.PD 1 -Der Wechseldatenträger muss GPT\-formatiert sein und mindestens eine -Partition enthalten.Die UUID eines GPT\-formatierten Gerätes sieht -beispielsweise so aus: "12345678\-9ABC\-DEF0\-1234\-56789ABCDEF0". -.PP -Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fP. -.RE -.PP - -\fBreboot\fP (empfohlen) -.RS 4 -Sorgt für ein Neustart des Systems, sobald die \fIPanikfunktion\fP ausgelöst -wird. -.PD 0 -.PP -Diese Option ist empfohlen. -.PD 1 -.PP -Wenn \fBpoweroff\fP ebenfalls angegeben worden ist, wird \fBreboot\fP ignoriert. -.RE -.PP - -\fBpoweroff\fP -.RS 4 -Sorgt für ein Herunterfahren des Systems, sobald die \fIPanikfunktion\fP -ausgeführt wird. Diese Option ist aus Sicherheitsgründen nicht -empfehlenswert. -.RE -.PP - -\fBserious=\fP\fIUUID\fP -.RS 4 -Die Geräte\-UUID, dessen LUKS\-Header zerstört werden soll, sobald die -\fIPanikfunktion\fP ausgelöst wurde. Das Zerstören der LUKS\-Header hat zu -Folge, dass die Daten nicht mehr lesbar sein werden. -.PD 0 -.PP -Der interne Befehl, der ausgeführt werden wird ist "\fBcryptsetup luksErase -[UUID]\fP". -.PD 1 -.PP -HINWEIS: Ein Backup des LUKS\-Headers wäre vor Verwendung dieser Funktion -sinnvoll. -.RE -.PP - - -.SH ANWENDUNG -.PP -Um dieses Modul zu aktivieren, musst du PAM konfigurieren. Siehe -\fBpam.conf(5)\fP. -.PP -In allgemeinen Worten gefasst möchte man folgende Zeilen am Anfang einer -PAM\-Konfigurationsdatei hinzufügen: -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= -reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Oder auch: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - - -.SH "WIE BESTIMME ICH MEINE UUIDS" -.PP -Die UUIDs können unter \fI/dev/disk/by\-partuuid\fP gefunden werden. Um -nachvollziehen zu können, welcher Wecheldatenträger welches ist, ist es -ratsam "\fBls \-l /dev/disk/by\-partuuid/\fP" in der Lieblingsshell auszuführen. - - -.SH RÃœCKGABEWERTE -.PP -PAM_SUCCESS -.RS 4 -Zugriff wurde gewährt. -.RE -.PP -PAM_IGNORE -.RS 4 -Ein Fehler ist aufgetreten. Dieses Modul wird ignoriert. -.RE -.PP -PAM_MAXTRIES -.RS 4 -Der Wechseldatenträger wurde nicht erkannt. -.RE - - -.SH DATEIEN -.PP -__PAMPANICSO__ -.RS 4 -Dieses PAM\-Modul, welches für alles zuständig ist. -.RE -.PP -__PAMPANICPW__ -.RS 4 -Programm zum Setzen und Verändern der Passwörter. -.RE - - -.SH BUGS -.PP -Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können hier -eingereicht werden: . - - -.SH "SIEHE AUCH" -.PP -\fBpam_panic_pw\fP(1), \fBcryptsetup\fP(8), \fBpam\fP(8), \fBpam.conf\fP(5) - - -.SH AUTOREN -.PD 0 -.PP -pam_panic wurde von Bandie entwickelt. -.PP -Diese man page wurde von Bandie ins Deutsche -übersetzt. diff --git a/src/pam_panic/man/es/man8/pam_panic.8 b/src/pam_panic/man/es/man8/pam_panic.8 deleted file mode 100644 index 65d2f52..0000000 --- a/src/pam_panic/man/es/man8/pam_panic.8 +++ /dev/null @@ -1,187 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [vea la secci\('on "AUTORES"] -.\" Date: 2018-03-28 -.\" Manual: Linux-PAM Panic Manual -.\" Source: Linux-PAM Panic Manual -.\" Language: Spanish -.\" -.TH "PAM_PANIC" "8" "2018-03-28" "PAM Panic Manual" "PAM Panic Manual" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - - -.SH "NOMBRE" -pam_panic \- un m\('odulo de PAM para controlar acceso usando media removible (con funci\('on p\('anica) - - -.SH "SINOPSIS" -.HP \w'\fBpam_panic.so\fR\ 'u -\fBpam_panic.so\fR [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] - - -.SH "DESCRIPCI\('ON" -.PP -El m\('odulo pam_panic protege los datos delicados y proporci\('ona una funci\('on p\('anica para emergencias. -.PP -Hay dos opciones posibles para utilizar este modulo de PAM: -.PD 0 -.PP -Primera opci\('on posible: -.RS 2 -Hay dos medias removibles que est\('an usando como claves: La clave de autenticaci\('on y la clave de p\('anico. -La clave para autenticaci\('on se permite ingresar su contrase\(~na mientras la clave para p\('anico va a llamar la funci\('on de p\('anico. -.RE -Segunda opci\('on posible: -.RS 2 -Hay dos contrase\(~nas: La contrase\(~na para autenticaci\('on y la contrase\(~na de p\('anico. La contrasen\(~na clave le permitir\('a pasar al mensaje de contrasen\(~na original, mientras que la contrasen\(~na de p\('anico llamar\('a a la funci\('on de p\('anico. -.RE - -.PD 1 -.PP -La funci\('on de p\('anico: -.RS 2 -El comportamiento de esta función se define a través de los argumentos \fBreboot\fR, \fBpoweroff\fR o \fBserious\fR. Vea la secci\('on de \fBOPCI\('ONES\fR para m\('as detalles. -.RE -.SH "OPCI\('ONES" -.PP -\fBpassword\fR -.RS 4 -Activa la funci\('on de contrase\(~a con p\('anico y contrase\(~na clave. -Si las opciones \fBpermitir\fR y \fBrechazar\fR son provistas esta opci\('on ser\('a ignorada. -.PD 0 -.PP -Estas contraseñas se pueden configurar con el comando \fBpam_panic_pw\fR(1). -.RE -.PD 1 -.PP - -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR (necesario) -.RS 4 -Es el UUID del dispositivo para autenticaci\('on. -.PD 0 -.PP -.PD 1 -El dispositivo debe estar formateado por GPT y contener al menos una partici\('on. -El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]. -.PP -Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles. -.RE -.PP - -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR (necesario) -.RS 4 -Es el UUID del dispositivo para emergencias. Cuando este dispositivo est\('a presente, se disparar\('a un reinicio, un apagado, y / o la funci\('on p\('anica, seg\('un si \fBreboot\fR, \fBpoweroff\fR, y / o \fBserious\fR han sido especificados. -.PD 0 -.PP -.PD 1 -El dispositivo debe estar formateado por GPT y contener al menos una partici\('on. -El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]. -.PP -Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles. -.RE -.PP - -\fBreboot\fR (recomendado) -.RS 4 -Indica que la sistema debe reiniciarse cuando se encontra el dispositivo especificado por \fBreject\fR. -.PP -Si \fBpoweroff\fR est\('a especificado tambi\('en, \fBreboot\fR estar\('a ignorado. -.RE -.PP - -\fBpoweroff\fR -.RS 4 -Indica que la sistema debe apagarse cuando se encontra el dispositivo especificado por \fBreject\fR. -Esta opci\('on no se recomienda por razones de seguridad. -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -Es el UUID del dispositivo que contene el encabezamiento de LUKS que estar\('a borrado cuando encuentra el dispositivo especificado por \fBreject\fR. -.PP -NOTA: Se deberi\('a hacer una copia del encabezamiento de LUKS antes de usar esta funci\('on. -.RE -.PP - - -.SH "USAR" -.PP -Para activar el m\('odulo se tiene que configurar PAM. Vea \fBpam.conf(5)\fR para detalles. -.PP -En general, se necesita agregar lo siguiente al comienzo de un archivo de configuraci\('on PAM: -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Or: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - -.SH "C\('OMO DETERMINAR MIS UUIDS" -.PP -Se puede encontrar sus UUIDs en \fI/dev/disk/by-partuuid\fR. -Es posible que desee ejecutar \[Fo]\fBls -l /dev/disk/by-partuuid\fR\[Fc] en su shell favorito para encontrar cu\('al UUID es su dispositivo. - -.SH "VALORES DE RETORNO" -.PP -PAM_SUCCESS -.RS 4 -Indica que acceso fue permitido. -.RE -.PP -PAM_IGNORE -.RS 4 -Indica que se ha producido un error. El m\('odulo estar\('a ignorado. -.RE -.PP -PAM_MAXTRIES -.RS 4 -El media removible no fue detectados. -.RE - -.SH "ARCHIVOS" -.PP -__PAMPANICSO__ -.RS 4 -Este m\('odulo PAM. -.RE -.PP -__PAMPANICPW__ -.RS 4 -Cambiador de contraseña -.RE - -.SH "ERRORES" -.PP -Por favor reportar errores y enviar pull requests a . - - -.SH "VER TAMBI\('EN" -.PP -\fBcryptsetup\fR(8), \fBpam\fR(8), \fBpam.conf\fR(5) - - -.SH "AUTORES" -.PD 0 -.PP -pam_panic fue escrito por Bandie . -.PP -Este p\('agina man fue traducido al espa\(~nol por Jordy Dickinson y dangered wolf . diff --git a/src/pam_panic/man/fr/man8/pam_panic.8 b/src/pam_panic/man/fr/man8/pam_panic.8 deleted file mode 100644 index a5524b8..0000000 --- a/src/pam_panic/man/fr/man8/pam_panic.8 +++ /dev/null @@ -1,198 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [see the "AUTEURS" section] -.\" Date: 2018-03-28 -.\" Manual: Linux-PAM Panic Manual -.\" Source: Linux-PAM Panic Manual -.\" Language: French -.\" -.TH "PAM_PANIC" "8" "2018-03-26" "Manuel de PAM Panic" "Manuel de PAM Panic" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - - -.SH "NOM" -pam_panic \- Module PAM pour un contrôle d'accès via l'utilisation d'un périphérique amovible (avec une fonction panique) - - -.SH "SYNOPSIS" -.HP \w'\fBpam_panic.so\fR\ 'u -\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] - - -.SH "DESCRIPTION" -.PP -Le module PAM pam_panic protège les données sensibles et fournit une fonction de panique pour les situations d'urgence. -.PP -Il-y-à deux options possibles pour utiliser ce module PAM: -.PD 0 -.PP -Première option possible: -.RS 2 -Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé d'authentification et la clé de panique. -La clé d'authentification permet de passer à la demande de mot de passe alors que la clé de panique appellera la fonction de panique. -.RE -Seconde option possible: -.RS 2 -Il-y-à deux mots de passe: le mot de pass de clé et celui de panique. Le mot de passe de clé permet de passer a la demande de mot de passe alors que celui de panique appellera la fonction de panique. -.RE - -.PD 1 -.PP -La fonction de panique: -.RS 2 -Le comportement de cette fonction est défini via les arguments \fBreboot\fR, \fBpoweroff\fR et/ou \fBserious\fR. Voir la section \fBOPTIONS\fR pour plus de détails. -.RE - -.SH "OPTIONS" -.PP -\fBpassword\fR -.RS 4 -Active la fonction de mot de passe avec un mot de passe de clé et de panique.\& -Si les options options \fBallow\fR et \fBreject\fR sont fournies, cette option sera ignorée. -.PD 0 -.PP -Ces mots de passe peuvent être définis via le programme \fBpam_panic_pw\fR(1). -.RE -.PD 1 -.PP - -.PP -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR (requis) -.RS 4 -L'UUID du péripherique à utiliser pour l'authentification (la clé d'authentification). -.PD 0 -.PP -.PD 1 -Le périphérique doit être formatté en GPT avec au moins une partition. -L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0". -.PP -Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails. -.RE -.PP - -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR (requis) -.RS 4 -L'UUID du périphérique à utiliser en cas d'urgence. La présence de ce périphérique entrainera un \fBreboot\fR, \fBpoweroff\fR et/ou la fonction de panique, selon si \fBreboot\fR, \fBpoweroff\fR, et/ou \fBserious\fR sont spécifiés. -.PD 0 -.PP -.PD 1 -Le périphérique doit être formatté en GPT avec au moins une partition. -L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0". -.PP -Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails. -.RE -.PP - -\fBreboot\fR (recommendé) -.RS 4 -Indique que le système doit redémarrer lorsqu'il détecte le périphérique spécifié avec \fBreject\fR. -.PP -Si \fBpoweroff\fR est aussi spécifié, \fBreboot\fR sera ignoré. -.RE -.PP - -\fBpoweroff\fR -.RS 4 -Indique que le système doit s'éteindre lorsqu'il détecte le périphérique spécifié avec \fBreject\fR. -Cette option est déconseillée pour des raisons de sécurité. -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -L'UUID du périphérique contenant l'entête LUKS à éffacer lors de la détéction du périphérique spécifié avec \fBreject\fR. -.PP -NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser cette fonction. -.RE -.PP - - -.SH "UTILISATION" -.PP -Pour activer ce module vous devez configurer PAM. Lisez \fBpam.conf(5)\fR pour plus de détails. -.PP -En général, vous voudrez ajouter ce qui suit au début du fichier de configuration PAM: -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Ou: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - - -.SH "COMMENT DÉTERMINER MES UUIDS" -.PP -Vous trouverz vos UUIDs dans \fI/dev/disk/by-partuuid\fR. -Vous voudriez peut-être executer "\fBls -l /dev/disk/by-partuuid/\fR" dans votre shell favoris pour trouver quel UUID correspond à quel périphérique. - - -.SH "VALEURS DE RETOUR" -.PP -PAM_SUCCESS -.RS 4 -Accès autorisé. -.RE -.PP -PAM_IGNORE -.RS 4 -Une erreur est survenue. Le module sera ignoré. -.RE -.PP -PAM_MAXTRIES -.RS 4 -Le péripherique amovible n'a pas été détécté. -.RE - - -.SH "FICHIERS" -.PP -__PAMPANICSO__ -.RS 4 -Ce module PAM. -.RE -.PP -__PAMPANICPW__ -.RS 4 -Programme pour configurer les mots de passe. -.RE - - -.SH "BUGS" -.PP -Veuillez reporter les bugs ou envoyer une demande de correction à . - - -.SH "VOIR AUSSI" -.PP -\fBpam_panic_pw\fR(1), -\fBcryptsetup\fR(8), -\fBpam\fR(8), -\fBpam.conf\fR(5) - - -.SH "AUTEURS" -.PD 0 -.PP -pam_panic à été écris par Bandie . -.PP -La page de manuel Anglaise à été révisée par Jordy Dickinson . -.PP -La version Française à été traduite par Dashie . diff --git a/src/pam_panic/man/ja/man8/pam_panic.8 b/src/pam_panic/man/ja/man8/pam_panic.8 deleted file mode 100644 index 526da6c..0000000 --- a/src/pam_panic/man/ja/man8/pam_panic.8 +++ /dev/null @@ -1,196 +0,0 @@ -'\" t -.\" Title: pam_panic -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-05-31 -.\" Manual: Linux-PAM Panic Manual -.\" Source: Linux-PAM Panic Manual -.\" Language: Japanese -.\" -.TH "PAM_PANIC" "8" "2018-05-31" "PAM Panic マニュアル" "PAM Panic マニュアル" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - - -.SH "åå‰" -pam_panic \- 緊急時ã«æ©Ÿå¯†ãƒ‡ãƒ¼ã‚¿ã‚’ä¿è­·ã™ã‚‹PAMモジュール - - -.SH "概è¦" -.HP \w'\fBpam_panic.so\fR\ 'u -\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR] - - -.SH "説明" -.PP -pam_panic PAMモジュールã¯ã€ç·Šæ€¥æ™‚ã«ãƒ‡ãƒ¼ã‚¿ã‚’ä¿è­·ã™ã‚‹ãŸã‚ã®ãƒ‘ニック機能を実装ã—ã¾ã™ã€‚ -.PP -ã“ã®PAMモジュールを使用ã™ã‚‹ã«ã¯ã€æ¬¡ã®2ã¤ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚ -.PD 0 -.PP -方法1: -.RS 2 -èªè¨¼ã‚­ãƒ¼ã¨ãƒ‘ニックキーã®2ã¤ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’キーã¨ã—ã¦ä½¿ç”¨ã—ã¾ã™ã€‚ -èªè¨¼ã‚­ãƒ¼ã§ã¯ãƒ‘スワードèªè¨¼ã‚’スキップã—ã€ãƒ‘ニックキーã§ã¯ãƒ‘ニック機能ãŒèµ·å‹•ã—ã¾ã™ã€‚ -.RE -方法2: -.RS 2 -パスワードを2ã¤ç”¨æ„ã—ã¾ã™ã€‚èªè¨¼ãƒ‘スワードã¨ãƒ‘ニックパスワードã§ã™ã€‚èªè¨¼ãƒ‘スワードã§ã¯é€šå¸¸é€šã‚Šèªè¨¼ãŒè¡Œã‚ã‚Œã€ãƒ‘ニックパスワードã§ã¯ãƒ‘ニック機能ãŒèµ·å‹•ã—ã¾ã™ã€‚ -.RE - -.PD 1 -.PP -パニック機能: -.RS 2 -ã“ã®æ©Ÿèƒ½ã®å‹•ä½œã¯æ¬¡ã®å¼•æ•°ã«ã‚ˆã£ã¦æŒ‡å®šã•ã‚Œã¾ã™: \fBreboot\fR, \fBpoweroff\fR ã¾ãŸã¯ \fBserious\fR\ 。詳細ã«ã¤ã„ã¦ã¯ã€ \fBOPTIONS\fR セクションを確èªã—ã¦ãã ã•ã„。 -.RE - - -.SH "オプション" -.PP -\fBpassword\fR -.RS 4 -パスワードをèªè¨¼ã«ä½¿ç”¨ã—ã¾ã™ã€‚ -引数㫠\fBallow\fR 㨠\fBreject\fR ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ã“ã®ã‚ªãƒ—ションã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚ -.PD 0 -.PP -パスワード㯠\fBpam_panic_pw\fR(1) コマンドã«ã‚ˆã£ã¦æŒ‡å®šã§ãã¾ã™ã€‚ -.RE -.PD 1 -.PP - -\fBallow=\fR\fB\fIUUID(GPT)\fR\fR -.RS 4 -デãƒã‚¤ã‚¹ã®UUIDã‚’èªè¨¼ã«ä½¿ç”¨ã—ã¾ã™ã€‚ -.PD 0 -.PP -.PD 1 -デãƒã‚¤ã‚¹ã¯GPTã§ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã€æœ€ä½Ž1ã¤ã®ãƒ‘ーティションをå«ã‚“ã§ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -GPTã§ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ã®UUIDã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™: "12345678-9ABC-DEF0-1234-56789ABCDEF0"。 -.PP -詳細ã«ã¤ã„ã¦ã¯ \fBUUIDを調ã¹ã‚‹æ–¹æ³•\fR を確èªã—ã¦ãã ã•ã„。 -.RE -.PP - -\fBreject=\fR\fB\fIUUID(GPT)\fR\fR -.RS 4 -緊急時ã«ä½¿ç”¨ã™ã‚‹ãƒ‡ãƒã‚¤ã‚¹ã®UUIDを指定ã—ã¾ã™ã€‚ã“ã®ãƒ‡ãƒã‚¤ã‚¹ãŒå­˜åœ¨ã™ã‚‹å ´åˆã€\fBreboot\fR, \fBpoweroff\fR ã¾ãŸã¯ãƒ‘ニック機能ãŒç™ºå‹•ã—ã¾ã™ã€‚ パニック機能㯠\fBreboot\fR, \fBpoweroff\fR, \fBserious\fR ã®ã†ã¡ã€ã„ãšã‚Œã‹1ã¤ä»¥ä¸Šã§æŒ‡å®šã•ã‚Œã¾ã™ã€‚ -.PD 0 -.PP -.PD 1 -デãƒã‚¤ã‚¹ã¯GPTã§ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã€æœ€ä½Ž1ã¤ã®ãƒ‘ーティションをå«ã‚“ã§ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ -GPTã§ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ã®UUIDã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™: "12345678-9ABC-DEF0-1234-56789ABCDEF0"。 -.PP -詳細ã«ã¤ã„ã¦ã¯ \fBUUIDを調ã¹ã‚‹æ–¹æ³•\fR を確èªã—ã¦ãã ã•ã„。 -.RE -.PP - -\fBreboot\fR (推奨) -.RS 4 -\fBreject\fR ã§æŒ‡å®šã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ãŒæ¤œçŸ¥ã•ã‚ŒãŸå ´åˆã€å†èµ·å‹•ã—ã¾ã™ã€‚ -.PP -\fBpoweroff\fR ãŒåŒæ™‚ã«æŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ \fBreboot\fR ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚ -.RE -.PP - -\fBpoweroff\fR -.RS 4 -\fBreject\fR ã§æŒ‡å®šã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ãŒæ¤œçŸ¥ã•ã‚ŒãŸå ´åˆã€ã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³ã—ã¾ã™ã€‚ -セキュリティ上ã®ç†ç”±ã‹ã‚‰ã€ã“ã®ã‚ªãƒ—ションã¯æŽ¨å¥¨ã•ã‚Œã¾ã›ã‚“。 -.RE -.PP - -\fBserious=\fR\fB\fIUUID\fR\fR -.RS 4 -LUKSヘッダーを消去ã™ã‚‹ãŸã‚ã®éµã¨ãªã‚‹ãƒ‡ãƒã‚¤ã‚¹ã®UUIDを指定ã—ã¾ã™ã€‚ -LUKSヘッダーを消去ã—ãŸå ´åˆã€ãƒ‡ãƒ¼ã‚¿ã¯å¾©å…ƒã§ããªããªã‚Šã¾ã™ã€‚ -.PP -注æ„: ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹å‰ã«ã€LUKSヘッダーをãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã—ã¦ãŠãã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚ -.RE -.PP - - -.SH "USAGE" -.PP -モジュールを使用ã™ã‚‹ãŸã‚ã«ã¯ã€PAMを設定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€ \fBpam.conf(5)\fR ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 -.PP -多ãã®å ´åˆã€PAM設定ファイルã®å…ˆé ­ã«æ¬¡ã®å†…容を設定ã™ã‚Œã°ã‚ˆã„ã§ã—ょã†ã€‚ -.PD 0 -.RS 4 -auth requisite __PAMPANICSO__ auth= reject= reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -Or: -.RS 4 -auth requisite __PAMPANICSO__ password reboot serious= -.PP -account requisite __PAMPANICSO__ -.RE -.PD 1 - - -.SH "UUIDを調ã¹ã‚‹æ–¹æ³•" -.PP -\fI/dev/disk/by-partuuid\fR ã§UUIDを調ã¹ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -"\fBls -l /dev/disk/by-partuuid/\fR" ã‚’ä»»æ„ã®ã‚·ã‚§ãƒ«ã§å®Ÿè¡Œã—ã¦ã€ã©ã®ãƒ‡ãƒã‚¤ã‚¹ãŒã©ã®UUIDã‹ã‚’調ã¹ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。 - -.SH "返り値" -.PP -PAM_SUCCESS -.RS 4 -アクセスã¯è¨±å¯ã•ã‚Œã¾ã—ãŸã€‚ -.RE -.PP -PAM_IGNORE -.RS 4 -エラーãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚モジュールã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚ -.RE -.PP -PAM_MAXTRIES -.RS 4 -リムーãƒãƒ–ルメディアãŒæ¤œçŸ¥ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚ -.RE - - -.SH "ファイル" -.PP -__PAMPANICSO__ -.RS 4 -ã“ã®PAMモジュールã§ã™ã€‚ -.RE -.PP -__PAMPANICPW__ -.RS 4 -パスワードã®è¨­å®šãŠã‚ˆã³å¤‰æ›´ã‚’è¡Œã†ãŸã‚ã®ãƒ—ログラムã§ã™ã€‚ -.RE - - -.SH "ãƒã‚°å ±å‘Š" -.PP - ã§ã€ãƒã‚°ã®å ±å‘Šã‚„プルリクエストを行ã£ã¦ãã ã•ã„。 - - -.SH "関連項目" -.PP -\fBpam_panic_pw\fR(1), -\fBcryptsetup\fR(8), -\fBpam\fR(8), -\fBpam.conf\fR(5) - - -.SH "著者" -.PD 0 -.PP -pam_panic 㯠Bandie ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚ -.PP -ã“ã®ç¿»è¨³ã¯ Chromium Neptune ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¦ã„ã¾ã™ã€‚ diff --git a/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 deleted file mode 100644 index a2345bd..0000000 --- a/src/pam_panic_pw/man/de/man1/pam_panic_pw.1 +++ /dev/null @@ -1,96 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: English -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH PAM_PANIC_PW 8 2018\-09\-28 "PAM Panic Handbuch" "PAM Panic Handbuch" -.\".ie \n(.g .ds Aq \(aq -.\".el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l - -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH NAME -pam_panic_pw \- Setzen der Passwörter für das \fBpam_panic\fP(8) PAM\-Modul. - - -.SH ÃœBERSICHT -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fP - - -.SH BESCHREIBUNG -.PP -\fBpam_panic_pw\fP setzt die Passwörter für das \fBpam_panic\fP(8) PAM\-Modul. -.PP -Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein -"Schlüsselpasswort" und ein "Panikpasswort" festgelegt. Das Panikpasswort -wird hierbei die \fIPanikfunktion\fP aufrufen. - - -.SH RÃœCKGABEWERTE -.PP -0 -.RS 4 -Passwörter erfolgreich gesetzt. -.RE -.PP -1 -.RS 4 -Keine Berechtigungen. -.RE -.PP -2 -.RS 4 -Konnte Passwortdatei nicht öffnen. -.RE - - -.SH DATEIEN -.PP -__PAMPANICPW__ -.RS 4 -Programm zum Setzen und Verändern der Passwörter. -.RE -.PP -__PPASSFILE__ -.RS 4 -Die Passwortdatei. -.RE - - -.SH BUGS -.PP -Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können hier -eingereicht werden: . - - -.SH "SIEHE AUCH" -.PP -\fBpam_panic\fP(8), \fBcryptsetup\fP(8), \fBpam.conf\fP(5), \fBpam\fP(8). - - -.SH AUTOREN - -.PD 0 -.PP -pam_panic wurde von Bandie entwickelt. -.PP -Diese man page wurde von Bandie ins Deutsche -übersetzt. - diff --git a/src/pam_panic_pw/man/es/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/es/man1/pam_panic_pw.1 deleted file mode 100644 index b4e55e4..0000000 --- a/src/pam_panic_pw/man/es/man1/pam_panic_pw.1 +++ /dev/null @@ -1,93 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: Spanish -.\" -.TH "PAM_PANIC_PW" "8" "2018-03-31" "Manual de PAM Panic" "Manual de PAM Panic" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "NOMBRE" -pam_panic_pw \- Establecer y cambiar las contrase\(~nas para el m\('odulo PAM de \fBpam_panic\fR(8)\&. - - -.SH "SINOPSIS" -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR - - -.SH "DESCRIPCI\('ON" -.PP -\fBpam_panic_pw\fR establece las contrase\(~nas para el m\('odulo PAM de \fBpam_panic\fR(8)\&. -.PP -Hay dos contrase\(~nas: La "contrase\(~na clave" y la "contraseña de p\('anico"\&. -La "contrase\(~na clave" se usa para autenticaci\('on normal -mientras la "contrase\(~na de p\('anico" ejecutar\('a la funci\('on de p\('anico\&. - - -.SH "VALORES DEVUELTOS" -.PP -0 -.RS 4 -Contrase\(~nas establecidas con \('exito\&. -.RE -.PP -1 -.RS 4 -Acceso denegado\&. -.RE -.PP -2 -.RS 4 -No se pudo abrir el archivo de contrase\(~na\&. -.RE - - -.SH "ARCHIVOS" -.PP -__PAMPANICPW__ -.RS 4 -Programa para establecer y cambiar las contrase\(~nas\&. -.RE -.PP -__PPASSFILE__ -.RS 4 -El archivo de contrase\(~na\&. -.RE - - -.SH "PROBLEMAS" -.PP -Por favor repuerta errores y enviar pull requests a \&. - - -.SH "VER TAMBI\('EN" -.PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "AUTORES" - -.PD 0 -.PP -pam_panic fue escrito por Bandie \&. -.PP -Esta p\('agina de man ha sido revisada por Jordy Dickinson -.PP -Este p\('agina man fue traducido al español por dangered wolf diff --git a/src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 deleted file mode 100644 index 7551068..0000000 --- a/src/pam_panic_pw/man/fr/man1/pam_panic_pw.1 +++ /dev/null @@ -1,93 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTEURS" section] -.\" Date: 2018-03-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: French -.\" -.TH "PAM_PANIC_PW" "8" "2018-03-31" "Manuel de PAM Panic" "Manuel de PAM Panic" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "NAME" -pam_panic_pw \- Configurer et changer les mots de passe pour le module PAM \fBpam_panic\fR(8)\&. - - -.SH "SYNOPSIS" -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR - - -.SH "DESCRIPTION" -.PP -\fBpam_panic_pw\fR configure les mots de passe pour le module PAM \fBpam_panic\fR(8)\&. -.PP -Il-y-à deux mots de passe: le "Key password" (mot de passe de clé) et le "Panic password" (mot de passe de panique)\&. -Le "Key password" (mot de passe de clé) est utilisé pour une authentification normale alors que le "Panic password" (mot de passe de panique) executera la fonction de panique\&. - - -.SH "VALEURS DE RETOUR" -.PP -0 -.RS 4 -Mots de passe configurés avec succès\&. -.RE -.PP -1 -.RS 4 -Accès refusé\&. -.RE -.PP -2 -.RS 4 -Impossible d'ouvrir le fichier de mots de passe\&. -.RE - - -.SH "FICHIERS" -.PP -__PAMPANICPW__ -.RS 4 -Programme pour changer les mots de passe\&. -.RE -.PP -__PPASSFILE__ -.RS 4 -Le fichier de mots de passe\&. -.RE - - -.SH "BUGS" -.PP -Veuillez reporter les bugs ou envoyer une demande de correction à \&. - - -.SH "VOIR AUSSI" -.PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "AUTEURS" - -.PD 0 -.PP -pam_panic à été écris par Bandie \&. -.PP -La page de manuel Anglaise à été révisée par Jordy Dickinson \&. -.PP -La version Française à été traduite par Dashie \&. - diff --git a/src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 b/src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 deleted file mode 100644 index 6b127f9..0000000 --- a/src/pam_panic_pw/man/ja/man1/pam_panic_pw.1 +++ /dev/null @@ -1,91 +0,0 @@ -'\" t -.\" Title: pam_panic_pw -.\" Author: [see the "AUTHORS" section] -.\" Date: 2018-05-31 -.\" Manual: PAM Panic Manual -.\" Source: PAM Panic Manual -.\" Language: Japanese -.\" -.TH "PAM_PANIC_PW" "8" "2018-05-31" "PAM Panic マニュアル" "PAM Panic マニュアル" -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- - -.SH "åå‰" -pam_panic_pw \- \fBpam_panic\fR(8) PAM モジュールã§ä½¿ç”¨ã™ã‚‹ãƒ‘スワードã®è¨­å®šã¨å¤‰æ›´ã‚’行ㆠ- - -.SH "概è¦" -.HP \w'\fBpam_panic_pw\fR\ 'u -\fBpam_panic_pw\fR - - -.SH "説明" -.PP -\fBpam_panic_pw\fR 㯠\fBpam_panic\fR(8) PAM モジュールã§ä½¿ç”¨ã™ã‚‹ãƒ‘スワードã®è¨­å®šãŠã‚ˆã³å¤‰æ›´ã‚’è¡Œã„ã¾ã™ã€‚ -.PP -èªè¨¼ãƒ‘スワードã¨ãƒ‘ニックパスワードã®2ã¤ã®ãƒ‘スワードを用æ„ã—ã¾ã™ã€‚ -èªè¨¼ãƒ‘スワードã¯ã€é€šå¸¸ã®èªè¨¼ã«ä½¿ç”¨ã—ã¾ã™ã€‚ -パニックパスワードã¯ã€ãƒ‘ニック機能ã®ç™ºå‹•ã«ä½¿ç”¨ã—ã¾ã™ã€‚ - - -.SH "返り値" -.PP -0 -.RS 4 -パスワードã¯æ­£ã—ã設定ã•ã‚Œã¾ã—ãŸã€‚ -.RE -.PP -1 -.RS 4 -アクセスãŒæ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ -.RE -.PP -2 -.RS 4 -パスワードファイルを開ã‘ã¾ã›ã‚“。 -.RE - - -.SH "ファイル" -.PP -__PAMPANICPW__ -.RS 4 -パスワードã®è¨­å®šãŠã‚ˆã³å¤‰æ›´ã‚’è¡Œã†ãŸã‚ã®ãƒ—ログラムã§ã™ã€‚ -.RE -.PP -__PPASSFILE__ -.RS 4 -パスワードファイルã§ã™ã€‚ -.RE - - -.SH "ãƒã‚°å ±å‘Š" -.PP - ã§ã€ãƒã‚°ã®å ±å‘Šã‚„プルリクエストを行ã£ã¦ãã ã•ã„。 - - -.SH "関連項目" -.PP -\fBpam_panic\fR(8), -\fBcryptsetup\fR(8), -\fBpam\&.conf\fR(5), -\fBpam\fR(8)\&. - - -.SH "著者" - -.PD 0 -.PP -pam_panic 㯠Bandie ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚ -.PP -ã“ã®ç¿»è¨³ã¯ Chromium Neptune ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¦ã„ã¾ã™ã€‚ From 4db2b8d8a74c9542aa32dfb7b1b2178a2abc0e86 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 19:02:11 +0200 Subject: [PATCH 24/48] po4a into autotools --- Makefile.am | 2 +- configure.ac | 12 ++++++++++++ src/pam_panic/man/Makefile.am | 4 +++- src/pam_panic_pw/man/Makefile.am | 4 +++- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 278224a..11a4460 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,7 @@ ACLOCAL_AMFLAGS = -I m4 AM_CFLAGS = -I src -SUBDIRS = po src/pam_panic src/pam_panic_pw +SUBDIRS = po po4a src/pam_panic src/pam_panic_pw .PHONY: all test clean diff --git a/configure.ac b/configure.ac index e38eabe..76749c5 100644 --- a/configure.ac +++ b/configure.ac @@ -23,6 +23,13 @@ AM_PROG_AR AM_GNU_GETTEXT_VERSION(0.19.8) AM_GNU_GETTEXT([external]) +AC_PATH_PROG([PO4A],po4a) +if test -z "$PO4A" ; then + AC_MSG_ERROR([Please install po4a before building pam_panic.]) +fi +AC_DEFINE_UNQUOTED([PO4A], "$PO4A", + [path to po4a]) + AC_PATH_PROG([REBOOT], [reboot]) AC_DEFINE_UNQUOTED([REBOOT], "$REBOOT", [path to the reboot command]) @@ -33,6 +40,10 @@ AC_PATH_PROG([CRYPTSETUP], [cryptsetup]) AC_DEFINE_UNQUOTED([CRYPTSETUP], "$CRYPTSETUP", [path to the cryptsetup command]) +AC_PATH_PROG([FIND], [find]) +AC_DEFINE_UNQUOTED([FIND], "$FIND", + [path to the find command]) + AC_ARG_ENABLE(securedir, AS_HELP_STRING([--enable-securedir=DIR], [path to location of PAMs @<:@default=LIBDIR/security@:>@]), @@ -54,6 +65,7 @@ AC_ENABLE_SHARED([yes]) AC_CONFIG_FILES([ Makefile po/Makefile.in + po4a/Makefile src/pam_panic/Makefile src/pam_panic/man/Makefile src/pam_panic_pw/Makefile diff --git a/src/pam_panic/man/Makefile.am b/src/pam_panic/man/Makefile.am index bd95e7a..3627aa5 100644 --- a/src/pam_panic/man/Makefile.am +++ b/src/pam_panic/man/Makefile.am @@ -10,7 +10,9 @@ nobase_dist_cant_believe_its_not_man_DATA = \ %.gz: % { sldr=$$(echo "$(securelibdir)" | $(SED) 's/\//\\\//g') ; bdr=$$(echo "$(bindir)" | $(SED) 's/\//\\\//g') ; $(SED) "s/__PAMPANICSO__/$$sldr\/pam_panic\\\\\&.so/; s/__PAMPANICPW__/$$bdr\/pam_panic_pw/" $< >$<.tmp ; } gzip -c $<.tmp >$@ + rm $<.tmp clean-local: - rm ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.gz + $(RM) ./*/*.gz + $(FIND) . -type d -not -name man8 -not -path . -exec rm -rf {} + diff --git a/src/pam_panic_pw/man/Makefile.am b/src/pam_panic_pw/man/Makefile.am index c505b09..56b7d87 100644 --- a/src/pam_panic_pw/man/Makefile.am +++ b/src/pam_panic_pw/man/Makefile.am @@ -9,7 +9,9 @@ nobase_dist_cant_believe_its_not_man_DATA = \ %.gz: % { ppf=$$(echo "$(PPASSFILE)" | $(SED) 's/\//\\\//g') ; bdr=$$(echo "$(bindir)" | $(SED) 's/\//\\\//g') ; $(SED) "s/__PPASSFILE__/$$ppf/; s/__PAMPANICPW__/$$bdr\/pam_panic\\\\\&.so/" $< >$<.tmp ; } gzip -c $<.tmp >$@ + rm $<.tmp clean-local: - rm -f ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.gz + $(RM) -f ./*/*.gz + $(FIND) . -type d -not -name man1 -not -path . -exec rm -rf {} + From 27c8ebd8082737c200a81ea6c8b6b443913b411a Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 19:03:57 +0200 Subject: [PATCH 25/48] po4a Makefile --- po4a/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 po4a/Makefile.am diff --git a/po4a/Makefile.am b/po4a/Makefile.am new file mode 100644 index 0000000..e409e61 --- /dev/null +++ b/po4a/Makefile.am @@ -0,0 +1,3 @@ +all: + @printf "Building po4a man page translations...\n" + $(PO4A) ./po4a.cfg From 514ba311678d88996e3100d46812cc8520e5c4ac Mon Sep 17 00:00:00 2001 From: Bandie Date: Sat, 29 Sep 2018 19:07:55 +0200 Subject: [PATCH 26/48] Changed strings and additional translations --- po/LINGUAS | 2 +- po/de.po | 30 ++++----- po/es.po | 100 +++++++++++++++++++++++++++++ po/fr.po | 98 ++++++++++++++++++++++++++++ po/ja.po | 97 ++++++++++++++++++++++++++++ po/pam_panic.pot | 26 ++++---- src/pam_panic/pam_panic_password.c | 2 +- src/pam_panic_pw/pam_panic_pw.c | 4 +- 8 files changed, 327 insertions(+), 32 deletions(-) create mode 100644 po/es.po create mode 100644 po/fr.po create mode 100644 po/ja.po diff --git a/po/LINGUAS b/po/LINGUAS index be1f722..1b08136 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,2 +1,2 @@ # Languages -de +de es fr ja diff --git a/po/de.po b/po/de.po index cbb234b..c81cde1 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-21 22:52+0200\n" +"POT-Creation-Date: 2018-09-29 18:17+0200\n" "PO-Revision-Date: 2018-09-20 21:03+0200\n" "Last-Translator: \n" "Language-Team: German\n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/pam_panic/pam_panic.c:39 +#: src/pam_panic/pam_panic.c:41 msgid "CRITICAL: Problem with regcomp." msgstr "CRITICAL: Problem mit regcomp." -#: src/pam_panic/pam_panic.c:116 +#: src/pam_panic/pam_panic.c:118 msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." @@ -30,31 +30,31 @@ msgstr "" "ERROR: Argument ungültig. Hinweis: \"allow\" und \"reject\" müssen eine " "valide GPT UUID aufweisen." -#: src/pam_panic/pam_panic.c:152 +#: src/pam_panic/pam_panic.c:154 msgid "ALERT for argument \"serious\": Device doesn't exist." msgstr "ALERT für Argument \"serious\": Gerät existiert nicht." -#: src/pam_panic/pam_panic_authdevice.c:37 +#: src/pam_panic/pam_panic_authdevice.c:35 msgid "Key? " msgstr "Schlüssel? " -#: src/pam_panic/pam_panic_authdevice.c:39 +#: src/pam_panic/pam_panic_authdevice.c:37 msgid "Couldn't identify any key after 3 tries." msgstr "Konnte keinen Schlüssel nach 3 Versuchen identifizieren." -#: src/pam_panic/pam_panic_password.c:31 -msgid "ALERT for passwort option: No password file detected." +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." msgstr "ALERT für Passwort-Option: Keine Passwort-Datei gefunden." -#: src/pam_panic/pam_panic_password.c:36 +#: src/pam_panic/pam_panic_password.c:34 msgid "ERROR: Couldn't open password file." msgstr "ERROR: Konnte Passwort-Datei nicht öffnen." -#: src/pam_panic/pam_panic_password.c:48 +#: src/pam_panic/pam_panic_password.c:46 msgid "CRITICAL: Password file is corrupt!" msgstr "CRITICAL: Passwort-Datei ist beschädigt!" -#: src/pam_panic/pam_panic_password.c:93 +#: src/pam_panic/pam_panic_password.c:91 msgid "Password: " msgstr "Passwort: " @@ -72,12 +72,12 @@ msgid "Panic password: " msgstr "Panikpasswort: " #: src/pam_panic_pw/pam_panic_pw.c:66 -msgid "Retype key password: " -msgstr "Schlüsselpasswort wiederholen: " +msgid "Confirm key password: " +msgstr "Schlüsselpasswort bestätigen: " #: src/pam_panic_pw/pam_panic_pw.c:67 -msgid "Retype panic password: " -msgstr "Panikpasswort wiederholen: " +msgid "Confirm panic password: " +msgstr "Panikpasswort bestätigen: " #: src/pam_panic_pw/pam_panic_pw.c:73 #, c-format diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..b560489 --- /dev/null +++ b/po/es.po @@ -0,0 +1,100 @@ +# Spanish translations for pam_panic package +# Traducciones al español para el paquete pam_panic. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Dangered wolf >, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-29 18:17+0200\n" +"PO-Revision-Date: 2018-09-29 18:19+0200\n" +"Last-Translator: Dangered wolf \n" +"Language-Team: Spanish\n" +"Language: es\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: Poedit 2.1.1\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "CRITICAL: Problema con regcomp." + +#: src/pam_panic/pam_panic.c:118 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"ERROR: Argumentos inválidos. Tenga en cuenta que \"allow\" y \"reject\" " +"deben tener un UUID de GPT válido." + +#: src/pam_panic/pam_panic.c:154 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "ALERT para el argumento \"serious\": El dispositivo no existe." + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "¿Código? " + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "No se pudo identificar ninguna clave después de 3 intentos." + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "" +"ALERT para la opción de contraseña: No se ha detectado ningún archivo de " +"contraseña." + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "ERROR: No se pudo abrir el archivo de contraseña." + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "CRITICAL: Archivo de contraseña está dañado!" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "Contraseña: " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "ERROR al abrir el archivo!\n" + +#: src/pam_panic_pw/pam_panic_pw.c:64 +msgid "Key password: " +msgstr "Contraseña clave: " + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Panic password: " +msgstr "Contraseña de pánico: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Confirm key password: " +msgstr "Confirmar contraseña clave: " + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm panic password: " +msgstr "Confirmar contraseña de pánico: " + +#: src/pam_panic_pw/pam_panic_pw.c:73 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"Ejecute este programa con acceso root. El acceso de escritura a %s es " +"obligatorio.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:96 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "No funcionó. Adiós.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:99 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "La contraseña no coincide. Inténtalo de nuevo.\n" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..b16acd6 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,98 @@ +# French translations for pam_panic package. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Dashie , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-29 18:17+0200\n" +"PO-Revision-Date: 2018-09-29 18:33+0200\n" +"Last-Translator: Dashie \n" +"Language-Team: French\n" +"Language: fr\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: Poedit 2.1.1\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "CRITICAL: Problème avec regcomp." + +#: src/pam_panic/pam_panic.c:118 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"ERROR: Arguments invalides. Notez que \"allow\" et \"reject\" doivent avoir " +"un GPU UUID valide." + +#: src/pam_panic/pam_panic.c:154 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "ALERT pour l'argument \"serious\": Le périphérique n'existe pas." + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "Clé?" + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "Impossible d'identifier une clé après 3 essais." + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "" +"ALERT pour l'option de mot de passe: Aucun fichier de mot de passe détecté." + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "ERROR: Impossible d'ouvrir le fichier de mot de passe." + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "CRITICAL: Le fichier de mot de passe est corrompu!" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "Mot de passe: " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "ERROR en ouvrant le fichier.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:64 +msgid "Key password: " +msgstr "Mot de passe clé: " + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Panic password: " +msgstr "Mot de passe panique: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Confirm key password: " +msgstr "Confirmer le mot de passe de clé:" + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm panic password: " +msgstr "Confirmer le mot de passe de panique: " + +#: src/pam_panic_pw/pam_panic_pw.c:73 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"Veuillez exécuter ce programme avec les privilèges root. L'accès en écriture " +"à %s est obligatoire.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:96 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "N'a pas fonctionné. Au revoir.\n" + +#: src/pam_panic_pw/pam_panic_pw.c:99 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "Le mot de passe ne correspond pas. Réessayer.\n" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..e761771 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,97 @@ +# Japanese translations for pam_panic package. +# Copyright (C) 2018 Bandie +# This file is distributed under the same license as the pam_panic package. +# Chromium Neptune , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: pam_panic 0.2.0\n" +"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" +"POT-Creation-Date: 2018-09-29 18:17+0200\n" +"PO-Revision-Date: 2018-09-29 18:51+0200\n" +"Last-Translator: Chromium Neptune \n" +"Language-Team: Japanese\n" +"Language: ja\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-Generator: Poedit 2.1.1\n" + +#: src/pam_panic/pam_panic.c:41 +msgid "CRITICAL: Problem with regcomp." +msgstr "クリティカル: \"regcomp\"ã®å•é¡Œ" + +#: src/pam_panic/pam_panic.c:118 +msgid "" +"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " +"valid GPT UUID." +msgstr "" +"エラー: 引ãæ•°ãŒç„¡åŠ¹ã§ã™ã€‚ \"allow\"㨠\"reject\"ã«ã¯æœ‰åŠ¹ãªGPT UUIDãŒå¿…è¦ã§" +"ã™ã€‚" + +#: src/pam_panic/pam_panic.c:154 +msgid "ALERT for argument \"serious\": Device doesn't exist." +msgstr "引数 \"serious\"ã®ã‚¢ãƒ©ãƒ¼ãƒˆï¼šãƒ‡ãƒã‚¤ã‚¹ãŒå­˜åœ¨ã—ã¾ã›ã‚“。" + +#: src/pam_panic/pam_panic_authdevice.c:35 +msgid "Key? " +msgstr "キー? " + +#: src/pam_panic/pam_panic_authdevice.c:37 +msgid "Couldn't identify any key after 3 tries." +msgstr "3回ã®è©¦è¡Œå¾Œã«ã‚­ãƒ¼ã‚’特定ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." +msgstr "パスワードオプションã®è­¦å‘Šï¼šãƒ‘スワードファイルãŒæ¤œå‡ºã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: src/pam_panic/pam_panic_password.c:34 +msgid "ERROR: Couldn't open password file." +msgstr "エラー:パスワードファイルを開ãã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: src/pam_panic/pam_panic_password.c:46 +msgid "CRITICAL: Password file is corrupt!" +msgstr "å±é™ºï¼šãƒ‘スワードファイルãŒå£Šã‚Œã¦ã„ã¾ã™ï¼" + +#: src/pam_panic/pam_panic_password.c:91 +msgid "Password: " +msgstr "パスワード: " + +#: src/pam_panic_pw/pam_panic_pw.c:28 +#, c-format +msgid "ERROR opening file!\n" +msgstr "ファイルを開ãéš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿ\n" + +#: src/pam_panic_pw/pam_panic_pw.c:64 +msgid "Key password: " +msgstr "キーã®ãƒ‘スワード: " + +#: src/pam_panic_pw/pam_panic_pw.c:65 +msgid "Panic password: " +msgstr "パニックパスワード: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Confirm key password: " +msgstr "キーã®ãƒ‘スワードを確èªï¼š " + +#: src/pam_panic_pw/pam_panic_pw.c:67 +msgid "Confirm panic password: " +msgstr "パニックパスワードを確èªã™ã‚‹ï¼š " + +#: src/pam_panic_pw/pam_panic_pw.c:73 +#, c-format +msgid "Please run this program under root. Write access to %s is mandatory.\n" +msgstr "" +"root権é™ã§ã“ã®ãƒ—ログラムを実行ã—ã¦ãã ã•ã„。 %sã¸ã®æ›¸ãè¾¼ã¿ã‚¢ã‚¯ã‚»ã‚¹ã¯å¿…é ˆã§" +"ã™ã€‚\n" + +#: src/pam_panic_pw/pam_panic_pw.c:96 +#, c-format +msgid "Didn't work. Bye.\n" +msgstr "ã†ã¾ãã„ãã¾ã›ã‚“ã§ã—ãŸã€‚ ã•ã‚ˆã†ãªã‚‰ã€‚\n" + +#: src/pam_panic_pw/pam_panic_pw.c:99 +#, c-format +msgid "Password didn't match. Try again.\n" +msgstr "パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“ã§ã—ãŸã€‚ å†è©¦è¡Œã™ã‚‹ã€‚\n" diff --git a/po/pam_panic.pot b/po/pam_panic.pot index 1c6941a..8aaf6fc 100644 --- a/po/pam_panic.pot +++ b/po/pam_panic.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-21 22:55+0200\n" +"POT-Creation-Date: 2018-09-29 18:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,41 +17,41 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/pam_panic/pam_panic.c:39 +#: src/pam_panic/pam_panic.c:41 msgid "CRITICAL: Problem with regcomp." msgstr "" -#: src/pam_panic/pam_panic.c:116 +#: src/pam_panic/pam_panic.c:118 msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." msgstr "" -#: src/pam_panic/pam_panic.c:152 +#: src/pam_panic/pam_panic.c:154 msgid "ALERT for argument \"serious\": Device doesn't exist." msgstr "" -#: src/pam_panic/pam_panic_authdevice.c:37 +#: src/pam_panic/pam_panic_authdevice.c:35 msgid "Key? " msgstr "" -#: src/pam_panic/pam_panic_authdevice.c:39 +#: src/pam_panic/pam_panic_authdevice.c:37 msgid "Couldn't identify any key after 3 tries." msgstr "" -#: src/pam_panic/pam_panic_password.c:31 -msgid "ALERT for passwort option: No password file detected." +#: src/pam_panic/pam_panic_password.c:29 +msgid "ALERT for password option: No password file detected." msgstr "" -#: src/pam_panic/pam_panic_password.c:36 +#: src/pam_panic/pam_panic_password.c:34 msgid "ERROR: Couldn't open password file." msgstr "" -#: src/pam_panic/pam_panic_password.c:48 +#: src/pam_panic/pam_panic_password.c:46 msgid "CRITICAL: Password file is corrupt!" msgstr "" -#: src/pam_panic/pam_panic_password.c:93 +#: src/pam_panic/pam_panic_password.c:91 msgid "Password: " msgstr "" @@ -69,11 +69,11 @@ msgid "Panic password: " msgstr "" #: src/pam_panic_pw/pam_panic_pw.c:66 -msgid "Retype key password: " +msgid "Confirm key password: " msgstr "" #: src/pam_panic_pw/pam_panic_pw.c:67 -msgid "Retype panic password: " +msgid "Confirm panic password: " msgstr "" #: src/pam_panic_pw/pam_panic_pw.c:73 diff --git a/src/pam_panic/pam_panic_password.c b/src/pam_panic/pam_panic_password.c index ee36dc6..6230986 100644 --- a/src/pam_panic/pam_panic_password.c +++ b/src/pam_panic/pam_panic_password.c @@ -26,7 +26,7 @@ int readPassword(pam_handle_t *pamh, char pw[2][99]){ // Open file if(access(PPASSFILE, F_OK) == -1){ - pam_syslog(pamh, LOG_ALERT, _("ALERT for passwort option: No password file detected.")); + pam_syslog(pamh, LOG_ALERT, _("ALERT for password option: No password file detected.")); return 2; } FILE *f = fopen(PPASSFILE, "r"); diff --git a/src/pam_panic_pw/pam_panic_pw.c b/src/pam_panic_pw/pam_panic_pw.c index e626e92..460a280 100644 --- a/src/pam_panic_pw/pam_panic_pw.c +++ b/src/pam_panic_pw/pam_panic_pw.c @@ -63,8 +63,8 @@ int main(void){ char *prompt[4] = { _("Key password: "), _("Panic password: "), - _("Retype key password: "), - _("Retype panic password: ") + _("Confirm key password: "), + _("Confirm panic password: ") }; int i; From d5eb8529898e3b8e188829ce1ca3b1f0a446a608 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 01:32:28 +0200 Subject: [PATCH 27/48] *.gmo must be included --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 47d6df8..d294d5b 100644 --- a/.gitignore +++ b/.gitignore @@ -26,7 +26,6 @@ po/stamp-po po/*.header po/*.sed po/*.sin -po/*.gmo src/pam_panic/man/* !src/pam_panic/man/Makefile.am !src/pam_panic/man/man8/ From e37472d6c0bb48a5a980f89a7104896c0efea103 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 01:33:38 +0200 Subject: [PATCH 28/48] Translating stuff --- po/de.gmo | Bin 0 -> 2141 bytes po/de.po | 22 ++++++++--------- po/es.gmo | Bin 0 -> 2182 bytes po/es.po | 62 +++++++++++++++++++++++------------------------ po/fr.gmo | Bin 0 -> 2208 bytes po/fr.po | 38 ++++++++++++++--------------- po/ja.gmo | Bin 0 -> 2432 bytes po/ja.po | 22 ++++++++--------- po/pam_panic.pot | 20 +++++++-------- 9 files changed, 82 insertions(+), 82 deletions(-) create mode 100644 po/de.gmo create mode 100644 po/es.gmo create mode 100644 po/fr.gmo create mode 100644 po/ja.gmo diff --git a/po/de.gmo b/po/de.gmo new file mode 100644 index 0000000000000000000000000000000000000000..6a0a03317f302d2ae4c526292da9a42beee72492 GIT binary patch literal 2141 zcmZ{k%WvI86vhpd*X7v?A*Av+xd_p!*l`jSrA|Z1t8J8ogv$+&1uApxx%Loy#+n%? z4I6~So)rtWsDe$AU{kTk?(X1!K;0nz0FYS1H}-v`C0LsL;<@uU-{*7AZ)Z+@?cq6t z@gl};jF&JjKY%}Yegx;hpTLXY@8GN8*#|xE74Qo9Ja_|q0o(`AfnR~{%%8#Mz+b^G zco%g0FFxdXPlF$U4}%%_EGWS?_&L}DzXjL8AHXkg_n+XKc(1T20&j!o!9T#4!PAd; z9)Tfv7JL`H1Qwt>_j~XS@E7nC@Ne(}_~D~XoL_=Z;{6-&8Sp!B5xfJsc>V%E2LAyO zjt4p3Qy8Z)MvvQ%Fuliy6K>y0kJI}E29Bz|Kq$2r!1!@7JdWYKJmqGWHrF~`>MKo5 zr&YnFrMBT(sLHe>TIKs9=9DOI)otxxu!X?T5uD1tD;^8EqehiAM&8(t#vxv9SGx6 z$dp{DQ^U!KmWEy#5^|sAA_<_}ak)Ykk{=xYD>^<6gyhy+Yp3{d&jFCXJqg**FWRt06pPLPFMP32fWR zIWwGeB@sA2L#b7&SwWRd;Eh(w2K0dz(8c1I8$(vnYmjWHfHr28K6D3aE`s~k&4x5P6NPilx=m)R z-_=Z-+-Zo2F882E@VDcPDN`zIgM`1;+GH}VSjzn_XGKKUxQ6WUY=qQqZLM#uO;pc7 zDKgX|)%@;Zi9jvCX{XB^&My!S*M{50-R@O?ezMNR(dXJi{R9w+AUB1YhYTf^cNTw6ksWRo&>+lEPD z{q12LZ*U>`WZKy-DCK>Z8uEl%wzcB|xnZftO`HvGB_chsq6=Xs1^r%}<%1(*cwRP5 zq26v0uShxiNuA<*|MT01k}w zTxL0AP$({Pgfl9Cbii8qUUO5kCFO%V{l4Uu4!DLL|7{DXpmcDQLqkBYvT+g\n" "Language-Team: German\n" @@ -22,7 +22,7 @@ msgstr "" msgid "CRITICAL: Problem with regcomp." msgstr "CRITICAL: Problem mit regcomp." -#: src/pam_panic/pam_panic.c:118 +#: src/pam_panic/pam_panic.c:122 msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." @@ -30,7 +30,7 @@ msgstr "" "ERROR: Argument ungültig. Hinweis: \"allow\" und \"reject\" müssen eine " "valide GPT UUID aufweisen." -#: src/pam_panic/pam_panic.c:154 +#: src/pam_panic/pam_panic.c:158 msgid "ALERT for argument \"serious\": Device doesn't exist." msgstr "ALERT für Argument \"serious\": Gerät existiert nicht." @@ -61,37 +61,37 @@ msgstr "Passwort: " #: src/pam_panic_pw/pam_panic_pw.c:28 #, c-format msgid "ERROR opening file!\n" -msgstr "" +msgstr "ERROR: Datei konnte nicht geöffnet werden!\n" -#: src/pam_panic_pw/pam_panic_pw.c:64 +#: src/pam_panic_pw/pam_panic_pw.c:66 msgid "Key password: " msgstr "Schlüsselpasswort: " -#: src/pam_panic_pw/pam_panic_pw.c:65 +#: src/pam_panic_pw/pam_panic_pw.c:67 msgid "Panic password: " msgstr "Panikpasswort: " -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:68 msgid "Confirm key password: " msgstr "Schlüsselpasswort bestätigen: " -#: src/pam_panic_pw/pam_panic_pw.c:67 +#: src/pam_panic_pw/pam_panic_pw.c:69 msgid "Confirm panic password: " msgstr "Panikpasswort bestätigen: " -#: src/pam_panic_pw/pam_panic_pw.c:73 +#: src/pam_panic_pw/pam_panic_pw.c:75 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "Dieses Programm muss als root ausgeführt werden. Schreibrechte auf %s sind " "dabei notwendig.\n" -#: src/pam_panic_pw/pam_panic_pw.c:96 +#: src/pam_panic_pw/pam_panic_pw.c:98 #, c-format msgid "Didn't work. Bye.\n" msgstr "Hat nicht funktioniert. Tschüss.\n" -#: src/pam_panic_pw/pam_panic_pw.c:99 +#: src/pam_panic_pw/pam_panic_pw.c:101 #, c-format msgid "Password didn't match. Try again.\n" msgstr "Passwort stimmt nicht überein. Bitte noch einmal versuchen.\n" diff --git a/po/es.gmo b/po/es.gmo new file mode 100644 index 0000000000000000000000000000000000000000..df4a0e08e0f7d9d385be5433e567c394b220314d GIT binary patch literal 2182 zcmZvd&2QX97{(2hucdrd2q6{3n?)5tU}txuNQskB(qyStBxJSO@^L`b#GdsI_0E`? z@uqt~{0TjA;lP0-0ts$N91v%&+>k1A;Lu|gRY;t8#@;xaq?VlD+MapmecrF!y>#Jg z57#B!uj2jz_iMP<9>E`6KY@$j&)^dH5BLUn`BBe%9lQ#@4BiA^0mtAxcn5Sge*s?t z{{Z{o-=N#S^qA*82Yw1Z4i3Q=Knd2tufQ7k9oPnc1i#1GN8lQszr`kJ?=SEju<=Cc z&u5_1@g+#$H{dGxE9m_A7rYE!eA4p<;5^s_?|{zV-@&KBKS8JKF1P?b055`9p7Ojs zum!>$4|2R`aleTB_;TyuriUfP<#aska(bV^4bw#|;93z2pt_#NFXxZ*?Sgx|vEAxrF0LL#9=t*@$u(BQ{zo8_>sEKo^T5ZVXvPS0LHY2-=ucdg2UfSQL7e3=l3TWT(;Q zvT5717#1MnKZ(Plp)+`D!|YJlc-R6&)*e#K?!(eUrUP?_pPLR$&-g@9il#f65vM=G zo9qxX1I6fJbiwy5htJb#AtJ1H{^t@WIXiIQWcfYgWGtfhU4j+H2lftf8KLry0@{eh zk*Nj;$=pO3OXvs;Qw$_- O2>&cZ;!0k)1O5lEbay5I literal 0 HcmV?d00001 diff --git a/po/es.po b/po/es.po index b560489..948b274 100644 --- a/po/es.po +++ b/po/es.po @@ -1,5 +1,5 @@ # Spanish translations for pam_panic package -# Traducciones al español para el paquete pam_panic. +# Traducciones al español para el paquete pam_panic. # Copyright (C) 2018 Bandie # This file is distributed under the same license as the pam_panic package. # Dangered wolf >, 2018. @@ -8,13 +8,13 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-29 18:17+0200\n" +"POT-Creation-Date: 2018-09-30 00:30+0200\n" "PO-Revision-Date: 2018-09-29 18:19+0200\n" "Last-Translator: Dangered wolf \n" "Language-Team: Spanish\n" "Language: es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.1.1\n" @@ -23,78 +23,78 @@ msgstr "" msgid "CRITICAL: Problem with regcomp." msgstr "CRITICAL: Problema con regcomp." -#: src/pam_panic/pam_panic.c:118 +#: src/pam_panic/pam_panic.c:122 msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." msgstr "" -"ERROR: Argumentos inválidos. Tenga en cuenta que \"allow\" y \"reject\" " -"deben tener un UUID de GPT válido." +"ERROR: Argumentos inválidos. Tenga en cuenta que \"allow\" y \"reject\" " +"deben tener un UUID de GPT válido." -#: src/pam_panic/pam_panic.c:154 +#: src/pam_panic/pam_panic.c:158 msgid "ALERT for argument \"serious\": Device doesn't exist." msgstr "ALERT para el argumento \"serious\": El dispositivo no existe." #: src/pam_panic/pam_panic_authdevice.c:35 msgid "Key? " -msgstr "¿Código? " +msgstr "¿Código? " #: src/pam_panic/pam_panic_authdevice.c:37 msgid "Couldn't identify any key after 3 tries." -msgstr "No se pudo identificar ninguna clave después de 3 intentos." +msgstr "No se pudo identificar ninguna clave después de 3 intentos." #: src/pam_panic/pam_panic_password.c:29 msgid "ALERT for password option: No password file detected." msgstr "" -"ALERT para la opción de contraseña: No se ha detectado ningún archivo de " -"contraseña." +"ALERT para la opción de contraseña: No se ha detectado ningún archivo de " +"contraseña." #: src/pam_panic/pam_panic_password.c:34 msgid "ERROR: Couldn't open password file." -msgstr "ERROR: No se pudo abrir el archivo de contraseña." +msgstr "ERROR: No se pudo abrir el archivo de contraseña." #: src/pam_panic/pam_panic_password.c:46 msgid "CRITICAL: Password file is corrupt!" -msgstr "CRITICAL: Archivo de contraseña está dañado!" +msgstr "CRITICAL: Archivo de contraseña está dañado!" #: src/pam_panic/pam_panic_password.c:91 msgid "Password: " -msgstr "Contraseña: " +msgstr "Contraseña: " #: src/pam_panic_pw/pam_panic_pw.c:28 #, c-format msgid "ERROR opening file!\n" msgstr "ERROR al abrir el archivo!\n" -#: src/pam_panic_pw/pam_panic_pw.c:64 -msgid "Key password: " -msgstr "Contraseña clave: " - -#: src/pam_panic_pw/pam_panic_pw.c:65 -msgid "Panic password: " -msgstr "Contraseña de pánico: " - #: src/pam_panic_pw/pam_panic_pw.c:66 -msgid "Confirm key password: " -msgstr "Confirmar contraseña clave: " +msgid "Key password: " +msgstr "Contraseña clave: " #: src/pam_panic_pw/pam_panic_pw.c:67 -msgid "Confirm panic password: " -msgstr "Confirmar contraseña de pánico: " +msgid "Panic password: " +msgstr "Contraseña de pánico: " -#: src/pam_panic_pw/pam_panic_pw.c:73 +#: src/pam_panic_pw/pam_panic_pw.c:68 +msgid "Confirm key password: " +msgstr "Confirmar contraseña clave: " + +#: src/pam_panic_pw/pam_panic_pw.c:69 +msgid "Confirm panic password: " +msgstr "Confirmar contraseña de pánico: " + +#: src/pam_panic_pw/pam_panic_pw.c:75 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "Ejecute este programa con acceso root. El acceso de escritura a %s es " "obligatorio.\n" -#: src/pam_panic_pw/pam_panic_pw.c:96 +#: src/pam_panic_pw/pam_panic_pw.c:98 #, c-format msgid "Didn't work. Bye.\n" -msgstr "No funcionó. Adiós.\n" +msgstr "No funcionó. Adiós.\n" -#: src/pam_panic_pw/pam_panic_pw.c:99 +#: src/pam_panic_pw/pam_panic_pw.c:101 #, c-format msgid "Password didn't match. Try again.\n" -msgstr "La contraseña no coincide. Inténtalo de nuevo.\n" +msgstr "La contraseña no coincide. Inténtalo de nuevo.\n" diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..73b7f3c7a8a54d38da70b3a94efab98c0fdb2cfb GIT binary patch literal 2208 zcmZ{l&5zqe7{(2hukc+EAOY&TsZffLz4=gK>+N>C-H$3F+eT5gfH+jM_QV-#d(6x@ z+w{U;fZ&3}fdk^SkwAhQN2GA$#E}c-!ao29t~}#>Y<9a?n*1DlKHle@cOL(7_RN^SGZb?{~IHux$y055=_gLclJz?Z;Z z!7lhGXvbfC#BrVlKLj5I`{46n3YNi7!4mi_xD9>}evP&N0k7i!7Z|h){sz{;bB{UB z64(LHg9faCUx797XOO_ZL96e@#~tS*um-*Zeg@h&e*tYgzk{!U_rYcGU+_7w@&sZ9 z-vtql13At!XfL46uBUN>FdcL$F013T%j$g!4O17nKxoC?dB#57Xl-}8 z)RT&sit>b~hRT{NA#+{!X^Rg;z$uhmrxio|uF%F?7?Uxr52Ol7W=6==ryG*y&w3)p zP;Pi&c<4Esoo2VWxzX~eJsVZ@5Sjw1RGyio#Xd^z$2_3}Vfv(a6v!mQ95U?*mCzkN zoUh~4{Bg!o5gdP!$Dxf}git1WLt^Q$7|nWyD{7EYf@{y&5=A#?x#Q8bA@@qocBgZ* z17SQBX+$>ErRhVTHm14KB+>zkMd(4f;bi&@`D1Y`56W07q_W~4Lw}i)TpQ}M0VhVq z2)f?x(%xQk%bTp^)25sTYuB8sC|35I_l_&Z-*s}@C-u%V8&32j%mjUpx(dQ0CQ`_n zbwS$NF=v{S%2Nc6ZOD|26iX;iL*zzDX*_yg3Fu-$z_lhL=}k!1lt3FZQVs2dN?M6- zGjwlprHeAiSaN%^8C9?DRZAV7NoCw!9f{DrmPgv{N}u}1WZGX|jESJ z?)H)H8nmKD4T{a}4l{&m_+7J{#mN0C1%0M8H*0&{9e3rZpN*u)mAjn=GDNNUw6ZTu zsU7Ev#qN$&iS{YYiobfTzDkqZwF@a-q1s!kr4QWeJmqR4rY(6W4As4wS1V1AY9@0< zapklV-r|&vM@nRU`};}GDXkR89M2gJ#>5|{6HHDy&NL;`SfGoB$c;Qe4fRBTG^&%Y zDIAZi2aHFH9)NZKuRq60v5tTfpFdy;7gB7f!(r}wcH zXO-hfG?PqfEnqzqR;H$5HRb7aDwe77p@wnbJTQR--Ka2|23Tks*b+^l6A3|h11Z$p zM{uHLKEPHR8|75`?CmLr0#hn1WoJ=WkVdT((!qa z_FFs`am?@G3o{-CxwU3|cBXzb+whoMixLA7j}If\n" "Language-Team: French\n" @@ -22,7 +22,7 @@ msgstr "" msgid "CRITICAL: Problem with regcomp." msgstr "CRITICAL: Problème avec regcomp." -#: src/pam_panic/pam_panic.c:118 +#: src/pam_panic/pam_panic.c:122 msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." @@ -30,7 +30,7 @@ msgstr "" "ERROR: Arguments invalides. Notez que \"allow\" et \"reject\" doivent avoir " "un GPU UUID valide." -#: src/pam_panic/pam_panic.c:154 +#: src/pam_panic/pam_panic.c:158 msgid "ALERT for argument \"serious\": Device doesn't exist." msgstr "ALERT pour l'argument \"serious\": Le périphérique n'existe pas." @@ -57,42 +57,42 @@ msgstr "CRITICAL: Le fichier de mot de passe est corrompu!" #: src/pam_panic/pam_panic_password.c:91 msgid "Password: " -msgstr "Mot de passe: " +msgstr "Mot de passe : " #: src/pam_panic_pw/pam_panic_pw.c:28 #, c-format msgid "ERROR opening file!\n" msgstr "ERROR en ouvrant le fichier.\n" -#: src/pam_panic_pw/pam_panic_pw.c:64 -msgid "Key password: " -msgstr "Mot de passe clé: " - -#: src/pam_panic_pw/pam_panic_pw.c:65 -msgid "Panic password: " -msgstr "Mot de passe panique: " - #: src/pam_panic_pw/pam_panic_pw.c:66 -msgid "Confirm key password: " -msgstr "Confirmer le mot de passe de clé:" +msgid "Key password: " +msgstr "Mot de passe clé : " #: src/pam_panic_pw/pam_panic_pw.c:67 -msgid "Confirm panic password: " -msgstr "Confirmer le mot de passe de panique: " +msgid "Panic password: " +msgstr "Mot de passe panique : " -#: src/pam_panic_pw/pam_panic_pw.c:73 +#: src/pam_panic_pw/pam_panic_pw.c:68 +msgid "Confirm key password: " +msgstr "Confirmer le mot de passe de clé :" + +#: src/pam_panic_pw/pam_panic_pw.c:69 +msgid "Confirm panic password: " +msgstr "Confirmer le mot de passe de panique : " + +#: src/pam_panic_pw/pam_panic_pw.c:75 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "Veuillez exécuter ce programme avec les privilèges root. L'accès en écriture " "à %s est obligatoire.\n" -#: src/pam_panic_pw/pam_panic_pw.c:96 +#: src/pam_panic_pw/pam_panic_pw.c:98 #, c-format msgid "Didn't work. Bye.\n" msgstr "N'a pas fonctionné. Au revoir.\n" -#: src/pam_panic_pw/pam_panic_pw.c:99 +#: src/pam_panic_pw/pam_panic_pw.c:101 #, c-format msgid "Password didn't match. Try again.\n" msgstr "Le mot de passe ne correspond pas. Réessayer.\n" diff --git a/po/ja.gmo b/po/ja.gmo new file mode 100644 index 0000000000000000000000000000000000000000..a88cc3217d5b46537a143ca167f0442d57cc918d GIT binary patch literal 2432 zcmai!-)|IE6vszJ#l@e57!x&KYKSIgrn_xO%0NZv4^nNRX%>Gxkzx0CcVKsBbLVcM zPcSoBXlYYGE0#8v0x6}?0>MP64g3NA1-=-Q>-5JH4<7 zbI!~kTQ?19xVB=whjj<*eXKpt;Rn|}uok=z?gS(7L-5__HSGg%FZeci1bheV0zU=^ zLFw}$xDEUbOoD%c^8C&hH0^cp8}LOi3%&_DU=?@@jDgp{CU6>@MC`x8X8a$;AsZCn z9XQC8x}@GMSV%$D0;#H60F~hRB|K}PepW8$ zo~S~oG^t|r81z?>e9_}1Yjsg#5p{wbXit*Ehg%wrQY4c!xaDMJ%!&#X+0edNs~CUx z60Lo`-b!WDB|UkIr?Lh~G6>IDwgXwqCMa8bj#?fitmq(dw4uP<472j2=%i5_=DOS< zUojiHtW=769^o$80m&Z8Lz~52)-4?}S4z}d()yQ_d1?#_R{lt-8F8b=h{rl;!DU=; z^D=f?-(SpldeSvXmh*yVR##`xvb!3GPh33^d=|erZIgcsXJ=(SbMI> zteoELvb<*!r=b3N^@-i2bXyDALG&(8#%ff#w{1Fj+Cr$^N2rtUV;azpC zR|HccyexuWM0it#58!lhdLp{mr`)Zz42MK8F1?4h;eGzbXmoZ~_}J`U3EIfQ=taR|$Z}PQgG)<4oEQG!(v=YvezM$Z zzkgwPcH#RmmD<^e`&Q}e>S^}-|9W_O@$AoQ zrhe5>lBj2()YVeA%VjSO#E=N@$XN\n" "Language-Team: Japanese\n" @@ -22,7 +22,7 @@ msgstr "" msgid "CRITICAL: Problem with regcomp." msgstr "クリティカル: \"regcomp\"ã®å•é¡Œ" -#: src/pam_panic/pam_panic.c:118 +#: src/pam_panic/pam_panic.c:122 msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." @@ -30,7 +30,7 @@ msgstr "" "エラー: 引ãæ•°ãŒç„¡åŠ¹ã§ã™ã€‚ \"allow\"㨠\"reject\"ã«ã¯æœ‰åŠ¹ãªGPT UUIDãŒå¿…è¦ã§" "ã™ã€‚" -#: src/pam_panic/pam_panic.c:154 +#: src/pam_panic/pam_panic.c:158 msgid "ALERT for argument \"serious\": Device doesn't exist." msgstr "引数 \"serious\"ã®ã‚¢ãƒ©ãƒ¼ãƒˆï¼šãƒ‡ãƒã‚¤ã‚¹ãŒå­˜åœ¨ã—ã¾ã›ã‚“。" @@ -56,42 +56,42 @@ msgstr "å±é™ºï¼šãƒ‘スワードファイルãŒå£Šã‚Œã¦ã„ã¾ã™ï¼" #: src/pam_panic/pam_panic_password.c:91 msgid "Password: " -msgstr "パスワード: " +msgstr "パスフレーズ: " #: src/pam_panic_pw/pam_panic_pw.c:28 #, c-format msgid "ERROR opening file!\n" msgstr "ファイルを開ãéš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿ\n" -#: src/pam_panic_pw/pam_panic_pw.c:64 +#: src/pam_panic_pw/pam_panic_pw.c:66 msgid "Key password: " msgstr "キーã®ãƒ‘スワード: " -#: src/pam_panic_pw/pam_panic_pw.c:65 +#: src/pam_panic_pw/pam_panic_pw.c:67 msgid "Panic password: " msgstr "パニックパスワード: " -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:68 msgid "Confirm key password: " msgstr "キーã®ãƒ‘スワードを確èªï¼š " -#: src/pam_panic_pw/pam_panic_pw.c:67 +#: src/pam_panic_pw/pam_panic_pw.c:69 msgid "Confirm panic password: " msgstr "パニックパスワードを確èªã™ã‚‹ï¼š " -#: src/pam_panic_pw/pam_panic_pw.c:73 +#: src/pam_panic_pw/pam_panic_pw.c:75 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "root権é™ã§ã“ã®ãƒ—ログラムを実行ã—ã¦ãã ã•ã„。 %sã¸ã®æ›¸ãè¾¼ã¿ã‚¢ã‚¯ã‚»ã‚¹ã¯å¿…é ˆã§" "ã™ã€‚\n" -#: src/pam_panic_pw/pam_panic_pw.c:96 +#: src/pam_panic_pw/pam_panic_pw.c:98 #, c-format msgid "Didn't work. Bye.\n" msgstr "ã†ã¾ãã„ãã¾ã›ã‚“ã§ã—ãŸã€‚ ã•ã‚ˆã†ãªã‚‰ã€‚\n" -#: src/pam_panic_pw/pam_panic_pw.c:99 +#: src/pam_panic_pw/pam_panic_pw.c:101 #, c-format msgid "Password didn't match. Try again.\n" msgstr "パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“ã§ã—ãŸã€‚ å†è©¦è¡Œã™ã‚‹ã€‚\n" diff --git a/po/pam_panic.pot b/po/pam_panic.pot index 8aaf6fc..d6694c5 100644 --- a/po/pam_panic.pot +++ b/po/pam_panic.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-29 18:17+0200\n" +"POT-Creation-Date: 2018-09-30 00:30+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,13 +21,13 @@ msgstr "" msgid "CRITICAL: Problem with regcomp." msgstr "" -#: src/pam_panic/pam_panic.c:118 +#: src/pam_panic/pam_panic.c:122 msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." msgstr "" -#: src/pam_panic/pam_panic.c:154 +#: src/pam_panic/pam_panic.c:158 msgid "ALERT for argument \"serious\": Device doesn't exist." msgstr "" @@ -60,33 +60,33 @@ msgstr "" msgid "ERROR opening file!\n" msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:64 +#: src/pam_panic_pw/pam_panic_pw.c:66 msgid "Key password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:65 +#: src/pam_panic_pw/pam_panic_pw.c:67 msgid "Panic password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:68 msgid "Confirm key password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:67 +#: src/pam_panic_pw/pam_panic_pw.c:69 msgid "Confirm panic password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:73 +#: src/pam_panic_pw/pam_panic_pw.c:75 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:96 +#: src/pam_panic_pw/pam_panic_pw.c:98 #, c-format msgid "Didn't work. Bye.\n" msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:99 +#: src/pam_panic_pw/pam_panic_pw.c:101 #, c-format msgid "Password didn't match. Try again.\n" msgstr "" From 09fa4f648fa689f98bf2ec62036ee6b603214e4b Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 01:35:25 +0200 Subject: [PATCH 29/48] pam_panic.c should also be able to have translated strings --- src/pam_panic/pam_panic.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pam_panic/pam_panic.c b/src/pam_panic/pam_panic.c index 6face42..873c271 100644 --- a/src/pam_panic/pam_panic.c +++ b/src/pam_panic/pam_panic.c @@ -75,6 +75,10 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons int8_t bPoweroff = 0; int8_t bPassword = 0; + // gettext + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); // Regex for checking arguments regex_t regex; From d1412beb45a9d262bef8479f42ffea80ad864150 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 01:37:34 +0200 Subject: [PATCH 30/48] Making pam_panic_pw cunit ready --- src/pam_panic_pw/pam_panic_pw.c | 11 ++++++----- src/pam_panic_pw/pam_panic_pw.h | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/pam_panic_pw/pam_panic_pw.c b/src/pam_panic_pw/pam_panic_pw.c index 460a280..db9fe2b 100644 --- a/src/pam_panic_pw/pam_panic_pw.c +++ b/src/pam_panic_pw/pam_panic_pw.c @@ -21,9 +21,9 @@ LICENSE : GNU-GPLv3 #define _(String) gettext(String) -int writePasswords(char pw[][99]){ +int writePasswords(char pw[][99], char* pwfile){ - FILE *f = fopen(PPASSFILE, "w"); + FILE *f = fopen(pwfile, "w"); if(f == NULL){ fprintf(stderr, _("ERROR opening file!\n")); return 2; @@ -33,11 +33,12 @@ int writePasswords(char pw[][99]){ fclose(f); - chmod(PPASSFILE, 0644); + chmod(pwfile, 0644); return 0; } +#ifndef TEST int main(void){ @@ -105,6 +106,6 @@ int main(void){ /* Save the results. */ - return writePasswords(pw); + return writePasswords(pw, PPASSFILE); } - +#endif diff --git a/src/pam_panic_pw/pam_panic_pw.h b/src/pam_panic_pw/pam_panic_pw.h index d75a6b3..bfb98c0 100644 --- a/src/pam_panic_pw/pam_panic_pw.h +++ b/src/pam_panic_pw/pam_panic_pw.h @@ -5,4 +5,4 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -int writePassword(char pw[][99]); +int writePasswords(char pw[][99], char* pwfile); From 18a70f2382328392426f771e1d77f76d0e8680dd Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 01:40:17 +0200 Subject: [PATCH 31/48] New test suite for pam_panic_pw --- .gitignore | 1 + test/Makefile.am | 7 ++++-- test/test.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 63 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index d294d5b..fa102f1 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,5 @@ src/pam_panic_pw/man/* !src/pam_panic_pw/man/Makefile.am !src/pam_panic_pw/man/man1/ stamp-h1 +test/pwfile test/test diff --git a/test/Makefile.am b/test/Makefile.am index 01c80fa..8b7587a 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,8 +1,11 @@ AM_CFLAGS = -DTEST bin_PROGRAMS = test -test_SOURCES = ../src/pam_panic/pam_panic_authdevice.c ../src/pam_panic/pam_panic_reject.c test.c -test_LDFLAGS = -lpam -lcunit +test_SOURCES = ../src/pam_panic/pam_panic_authdevice.c ../src/pam_panic/pam_panic_reject.c ../src/pam_panic_pw/pam_panic_pw.c test.c +test_LDFLAGS = -lpam -lcrypt -lcunit all: @printf "Running test...\n" ./test + @printf "Cleaning up...\n" + $(RM) ./pwfile + diff --git a/test/test.c b/test/test.c index 027c21c..18950f2 100644 --- a/test/test.c +++ b/test/test.c @@ -6,12 +6,14 @@ DATE : 2018-05-11T04:13:51+02:00 LICENSE : GNU-GPLv3 */ - #include #include #include + +#include "../lib/gettext.h" #include "../src/pam_panic/pam_panic_authdevice.h" #include "../src/pam_panic/pam_panic_reject.h" +#include "../src/pam_panic_pw/pam_panic_pw.h" #include #define STATE_GOOD 0 @@ -23,9 +25,15 @@ LICENSE : GNU-GPLv3 #define STATE_REJ_POW 2 #define STATE_REJ_NA 3 +#define STATE_PPP_WRITEPASSWORDS 0 + #define GOODUUID "./good" #define BADUUID "./bad" +#define PASSWORDFILE "./pwfile" +#define GOODPASSWORD "yip" +#define BADPASSWORD "69" + char* gU = GOODUUID; char* bU = BADUUID; @@ -85,6 +93,49 @@ void test_rejectNA(void) { } +// pam_panic_pw tests +void test_writePassword(void) { + + char encpw[2][99]; + + strcpy(encpw[0], crypt(GOODPASSWORD, "$6$somesalt")); + strcpy(encpw[1], crypt(BADPASSWORD, "$6$somesalt")); + + int ret = writePasswords(encpw, PASSWORDFILE); + CU_ASSERT_EQUAL(ret, STATE_PPP_WRITEPASSWORDS); +} + +void test_passwordCheckFromFile(void) { + + int ret; + char buf[2][256]; + char* line = NULL; + + FILE *f = fopen(PASSWORDFILE, "r"); + size_t len = 0; + ssize_t read; + + if(f){ + int i = 0; + while(read = getline(&line, &len, f)){ + strncpy(buf[i], line, len); + if(++i > 1) + break; + } + if(ferror(f)) + CU_FAIL("Some error occured with the password file."); + fclose(f); + } + + + ret = strcmp(strtok(buf[0], "\n"), crypt(GOODPASSWORD, buf[0])) == 0; + CU_ASSERT_TRUE(ret); + + ret = strcmp(strtok(buf[1], "\n"), crypt(BADPASSWORD, buf[1])) == 0; + CU_ASSERT_TRUE(ret); + +} + int main(void) { @@ -94,14 +145,16 @@ int main(void) { // init CUnit test registry CU_pSuite pSuiteDevice = NULL; CU_pSuite pSuiteReject = NULL; + CU_pSuite pSuitePasswordWrite = NULL; if (CUE_SUCCESS != CU_initialize_registry()) return CU_get_error(); // Make suits pSuiteDevice = CU_add_suite("Suite pam_panic_authdevice", init_suite, clean_suite); pSuiteReject = CU_add_suite("Suite pam_panic_reject", init_suite, clean_suite); + pSuitePasswordWrite = CU_add_suite("Suite pam_panic_pw", init_suite, clean_suite); if (pSuiteDevice == NULL - || pSuiteReject == NULL) { + || pSuiteReject == NULL || pSuitePasswordWrite == NULL) { CU_cleanup_registry(); return CU_get_error(); } @@ -115,6 +168,8 @@ int main(void) { || (NULL == CU_add_test(pSuiteReject, "Reject: Reboot?", test_rejectReboot)) || (NULL == CU_add_test(pSuiteReject, "Reject: Poweroff?", test_rejectPoweroff)) || (NULL == CU_add_test(pSuiteReject, "Reject: Nothing?", test_rejectNA)) + || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Write password?", test_writePassword)) + || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Passwords from file work?", test_passwordCheckFromFile)) ) { CU_cleanup_registry(); return CU_get_error(); From 24b6adfa8d1e2ee93d9879300e40bb7011c4cf25 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 12:45:06 +0200 Subject: [PATCH 32/48] dirstamp and coredumps --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index fa102f1..158f39c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ *.o *~ .deps +.dirstamp .libs aclocal.m4 autom4te.cache/ @@ -14,6 +15,7 @@ config.h.in config.log config.status configure +core.* libtool m4/ Makefile From 37b11825a7c02b8470801f8952f1dfe056a5ee81 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 12:46:14 +0200 Subject: [PATCH 33/48] Make the array bigger~ --- src/pam_panic_pw/pam_panic_pw.c | 2 +- src/pam_panic_pw/pam_panic_pw.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pam_panic_pw/pam_panic_pw.c b/src/pam_panic_pw/pam_panic_pw.c index db9fe2b..1136996 100644 --- a/src/pam_panic_pw/pam_panic_pw.c +++ b/src/pam_panic_pw/pam_panic_pw.c @@ -21,7 +21,7 @@ LICENSE : GNU-GPLv3 #define _(String) gettext(String) -int writePasswords(char pw[][99], char* pwfile){ +int writePasswords(char pw[][256], char* pwfile){ FILE *f = fopen(pwfile, "w"); if(f == NULL){ diff --git a/src/pam_panic_pw/pam_panic_pw.h b/src/pam_panic_pw/pam_panic_pw.h index bfb98c0..7320d2f 100644 --- a/src/pam_panic_pw/pam_panic_pw.h +++ b/src/pam_panic_pw/pam_panic_pw.h @@ -5,4 +5,4 @@ DATE : 2018-03-27T02:34:08+02:00 LICENSE : GNU-GPLv3 */ -int writePasswords(char pw[][99], char* pwfile); +int writePasswords(char pw[][256], char* pwfile); From e8f8ab39e421ad2177a4ff94712831d17d0a5e98 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 12:46:32 +0200 Subject: [PATCH 34/48] Add another test, remove unnecessary ssize_t var --- test/test.c | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/test/test.c b/test/test.c index 18950f2..1ca3c15 100644 --- a/test/test.c +++ b/test/test.c @@ -96,7 +96,7 @@ void test_rejectNA(void) { // pam_panic_pw tests void test_writePassword(void) { - char encpw[2][99]; + char encpw[2][256]; strcpy(encpw[0], crypt(GOODPASSWORD, "$6$somesalt")); strcpy(encpw[1], crypt(BADPASSWORD, "$6$somesalt")); @@ -113,11 +113,10 @@ void test_passwordCheckFromFile(void) { FILE *f = fopen(PASSWORDFILE, "r"); size_t len = 0; - ssize_t read; if(f){ int i = 0; - while(read = getline(&line, &len, f)){ + while(getline(&line, &len, f)){ strncpy(buf[i], line, len); if(++i > 1) break; @@ -136,6 +135,36 @@ void test_passwordCheckFromFile(void) { } +void test_badPasswordCheckFromFile(void) { + + int ret; + char buf[2][256]; + char* line = NULL; + + FILE *f = fopen(PASSWORDFILE, "r"); + size_t len = 0; + + if(f){ + int i = 0; + while(getline(&line, &len, f)){ + strncpy(buf[i], line, len); + if(++i > 1) + break; + } + if(ferror(f)) + CU_FAIL("Some error occured with the password file."); + fclose(f); + } + + + ret = strcmp(strtok(buf[0], "\n"), crypt(BADPASSWORD, buf[0])) == 0; + CU_ASSERT_FALSE(ret); + + ret = strcmp(strtok(buf[1], "\n"), crypt(GOODPASSWORD, buf[1])) == 0; + CU_ASSERT_FALSE(ret); + +} + int main(void) { @@ -169,7 +198,8 @@ int main(void) { || (NULL == CU_add_test(pSuiteReject, "Reject: Poweroff?", test_rejectPoweroff)) || (NULL == CU_add_test(pSuiteReject, "Reject: Nothing?", test_rejectNA)) || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Write password?", test_writePassword)) - || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Passwords from file work?", test_passwordCheckFromFile)) + || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Check with right password?", test_passwordCheckFromFile)) + || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Check with wrong password?", test_badPasswordCheckFromFile)) ) { CU_cleanup_registry(); return CU_get_error(); From c221ee64c15509de3fbd0370d1e11aaf80f50d08 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 12:52:34 +0200 Subject: [PATCH 35/48] Test descriptions --- test/test.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/test.c b/test/test.c index 1ca3c15..8e2b1df 100644 --- a/test/test.c +++ b/test/test.c @@ -193,13 +193,13 @@ int main(void) { if ( (NULL == CU_add_test(pSuiteDevice, "Authenticate with good device?", test_authDeviceGood)) || (NULL == CU_add_test(pSuiteDevice, "Authenticate with bad device?", test_authDeviceBad)) || (NULL == CU_add_test(pSuiteDevice, "Authenticate with no device?", test_authDeviceNA)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Serious?", test_rejectSerious)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Reboot?", test_rejectReboot)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Poweroff?", test_rejectPoweroff)) - || (NULL == CU_add_test(pSuiteReject, "Reject: Nothing?", test_rejectNA)) - || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Write password?", test_writePassword)) - || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Check with right password?", test_passwordCheckFromFile)) - || (NULL == CU_add_test(pSuitePasswordWrite, "pam_panic_pw: Check with wrong password?", test_badPasswordCheckFromFile)) + || (NULL == CU_add_test(pSuiteReject, "Serious function?", test_rejectSerious)) + || (NULL == CU_add_test(pSuiteReject, "Reboot function?", test_rejectReboot)) + || (NULL == CU_add_test(pSuiteReject, " Poweroff function?", test_rejectPoweroff)) + || (NULL == CU_add_test(pSuiteReject, " Nothing at all function?", test_rejectNA)) + || (NULL == CU_add_test(pSuitePasswordWrite, "Write a password into a file?", test_writePassword)) + || (NULL == CU_add_test(pSuitePasswordWrite, "Check password file with right passwords?", test_passwordCheckFromFile)) + || (NULL == CU_add_test(pSuitePasswordWrite, "Check password file with wrong passwords?", test_badPasswordCheckFromFile)) ) { CU_cleanup_registry(); return CU_get_error(); From 3f24518df0eba3c911b854853fc80a7033e31aa6 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 13:14:12 +0200 Subject: [PATCH 36/48] es.po back to UTF-8 -> xscreensaver's fail to UTF-8 is not my issue; regenerating since pam_panic_pw's code change --- po/de.gmo | Bin 2141 -> 2141 bytes po/de.po | 16 +++++++-------- po/es.gmo | Bin 2182 -> 2201 bytes po/es.po | 52 +++++++++++++++++++++++------------------------ po/fr.gmo | Bin 2208 -> 2208 bytes po/fr.po | 16 +++++++-------- po/ja.gmo | Bin 2432 -> 2432 bytes po/ja.po | 16 +++++++-------- po/pam_panic.pot | 16 +++++++-------- 9 files changed, 58 insertions(+), 58 deletions(-) diff --git a/po/de.gmo b/po/de.gmo index 6a0a03317f302d2ae4c526292da9a42beee72492..32c7fda9c3b0eb7a71223bba05a82ae1e3de45a3 100644 GIT binary patch delta 18 ZcmcaBa93bMAq%Uav6X?z<}#M&%m6-d1|9$a delta 18 ZcmcaBa93bMAq%U4ft9hr<}#M&%m6+~1{nYV diff --git a/po/de.po b/po/de.po index d19f1e2..2d43376 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-30 00:30+0200\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" "PO-Revision-Date: 2018-09-20 21:03+0200\n" "Last-Translator: \n" "Language-Team: German\n" @@ -63,35 +63,35 @@ msgstr "Passwort: " msgid "ERROR opening file!\n" msgstr "ERROR: Datei konnte nicht geöffnet werden!\n" -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:65 msgid "Key password: " msgstr "Schlüsselpasswort: " -#: src/pam_panic_pw/pam_panic_pw.c:67 +#: src/pam_panic_pw/pam_panic_pw.c:66 msgid "Panic password: " msgstr "Panikpasswort: " -#: src/pam_panic_pw/pam_panic_pw.c:68 +#: src/pam_panic_pw/pam_panic_pw.c:67 msgid "Confirm key password: " msgstr "Schlüsselpasswort bestätigen: " -#: src/pam_panic_pw/pam_panic_pw.c:69 +#: src/pam_panic_pw/pam_panic_pw.c:68 msgid "Confirm panic password: " msgstr "Panikpasswort bestätigen: " -#: src/pam_panic_pw/pam_panic_pw.c:75 +#: src/pam_panic_pw/pam_panic_pw.c:74 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "Dieses Programm muss als root ausgeführt werden. Schreibrechte auf %s sind " "dabei notwendig.\n" -#: src/pam_panic_pw/pam_panic_pw.c:98 +#: src/pam_panic_pw/pam_panic_pw.c:97 #, c-format msgid "Didn't work. Bye.\n" msgstr "Hat nicht funktioniert. Tschüss.\n" -#: src/pam_panic_pw/pam_panic_pw.c:101 +#: src/pam_panic_pw/pam_panic_pw.c:100 #, c-format msgid "Password didn't match. Try again.\n" msgstr "Passwort stimmt nicht überein. Bitte noch einmal versuchen.\n" diff --git a/po/es.gmo b/po/es.gmo index df4a0e08e0f7d9d385be5433e567c394b220314d..6b4679b565e4cc655a076697778968fbe23c5cb3 100644 GIT binary patch delta 456 zcmZ9{ze@sP7zgl2?e4@#kRtj?FAZ&;nuaD(gcuajVu4#6cUKD*e96U}oKD+eJoC4<+ea&Z*d9f9gL=xnl}6?W2Dr%LT3u fc3QU1cDXAD+%@XoALA{%E%eyvDCEmtHd^@teZGb_ delta 468 zcmY+<&npCB7zglYVrSNpkX$J5MLDc7i_KaJZ4${II4Os>nRnM{y{~4++~np;y(bR- z0J$lWgZvL}O6^g(Op}z8ug%ZP`+1-D?fE|Md(wT_eSC3nZV)9cL^DKmmLgh*k1z`z zlV}ib!U4Ds89as4@D}#MH`ot5ETRe=hBNEb z@vL9Wek-xryyqvn%gP%Ky=X0C)z-v8%FJ0dgHd~V6vkZBy`3t!xB4ua(%s}(Pws7}CfgkB|diewT`-eFI diff --git a/po/es.po b/po/es.po index 948b274..4b616cf 100644 --- a/po/es.po +++ b/po/es.po @@ -1,5 +1,5 @@ # Spanish translations for pam_panic package -# Traducciones al español para el paquete pam_panic. +# Traducciones al español para el paquete pam_panic. # Copyright (C) 2018 Bandie # This file is distributed under the same license as the pam_panic package. # Dangered wolf >, 2018. @@ -8,13 +8,13 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-30 00:30+0200\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" "PO-Revision-Date: 2018-09-29 18:19+0200\n" "Last-Translator: Dangered wolf \n" "Language-Team: Spanish\n" "Language: es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.1.1\n" @@ -28,8 +28,8 @@ msgid "" "ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a " "valid GPT UUID." msgstr "" -"ERROR: Argumentos inválidos. Tenga en cuenta que \"allow\" y \"reject\" " -"deben tener un UUID de GPT válido." +"ERROR: Argumentos inválidos. Tenga en cuenta que \"allow\" y \"reject\" " +"deben tener un UUID de GPT válido." #: src/pam_panic/pam_panic.c:158 msgid "ALERT for argument \"serious\": Device doesn't exist." @@ -37,64 +37,64 @@ msgstr "ALERT para el argumento \"serious\": El dispositivo no existe." #: src/pam_panic/pam_panic_authdevice.c:35 msgid "Key? " -msgstr "¿Código? " +msgstr "¿Código? " #: src/pam_panic/pam_panic_authdevice.c:37 msgid "Couldn't identify any key after 3 tries." -msgstr "No se pudo identificar ninguna clave después de 3 intentos." +msgstr "No se pudo identificar ninguna clave después de 3 intentos." #: src/pam_panic/pam_panic_password.c:29 msgid "ALERT for password option: No password file detected." msgstr "" -"ALERT para la opción de contraseña: No se ha detectado ningún archivo de " -"contraseña." +"ALERT para la opción de contraseña: No se ha detectado ningún archivo de " +"contraseña." #: src/pam_panic/pam_panic_password.c:34 msgid "ERROR: Couldn't open password file." -msgstr "ERROR: No se pudo abrir el archivo de contraseña." +msgstr "ERROR: No se pudo abrir el archivo de contraseña." #: src/pam_panic/pam_panic_password.c:46 msgid "CRITICAL: Password file is corrupt!" -msgstr "CRITICAL: Archivo de contraseña está dañado!" +msgstr "CRITICAL: Archivo de contraseña está dañado!" #: src/pam_panic/pam_panic_password.c:91 msgid "Password: " -msgstr "Contraseña: " +msgstr "Contraseña: " #: src/pam_panic_pw/pam_panic_pw.c:28 #, c-format msgid "ERROR opening file!\n" msgstr "ERROR al abrir el archivo!\n" -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:65 msgid "Key password: " -msgstr "Contraseña clave: " +msgstr "Contraseña clave: " + +#: src/pam_panic_pw/pam_panic_pw.c:66 +msgid "Panic password: " +msgstr "Contraseña de pánico: " #: src/pam_panic_pw/pam_panic_pw.c:67 -msgid "Panic password: " -msgstr "Contraseña de pánico: " +msgid "Confirm key password: " +msgstr "Confirmar contraseña clave: " #: src/pam_panic_pw/pam_panic_pw.c:68 -msgid "Confirm key password: " -msgstr "Confirmar contraseña clave: " - -#: src/pam_panic_pw/pam_panic_pw.c:69 msgid "Confirm panic password: " -msgstr "Confirmar contraseña de pánico: " +msgstr "Confirmar contraseña de pánico: " -#: src/pam_panic_pw/pam_panic_pw.c:75 +#: src/pam_panic_pw/pam_panic_pw.c:74 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "Ejecute este programa con acceso root. El acceso de escritura a %s es " "obligatorio.\n" -#: src/pam_panic_pw/pam_panic_pw.c:98 +#: src/pam_panic_pw/pam_panic_pw.c:97 #, c-format msgid "Didn't work. Bye.\n" -msgstr "No funcionó. Adiós.\n" +msgstr "No funcionó. Adiós.\n" -#: src/pam_panic_pw/pam_panic_pw.c:101 +#: src/pam_panic_pw/pam_panic_pw.c:100 #, c-format msgid "Password didn't match. Try again.\n" -msgstr "La contraseña no coincide. Inténtalo de nuevo.\n" +msgstr "La contraseña no coincide. Inténtalo de nuevo.\n" diff --git a/po/fr.gmo b/po/fr.gmo index 73b7f3c7a8a54d38da70b3a94efab98c0fdb2cfb..d046e9bec811d6a6218d93a452963461dfd5ce32 100644 GIT binary patch delta 18 ZcmZ1=xIl12Aq%Uav6X?z<}wy7763H<1nK|) delta 18 ZcmZ1=xIl12Aq%U4ft9hr<}wy7763HX1myq# diff --git a/po/fr.po b/po/fr.po index 710dad3..0ddedfe 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-30 00:30+0200\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" "PO-Revision-Date: 2018-09-29 18:33+0200\n" "Last-Translator: Dashie \n" "Language-Team: French\n" @@ -64,35 +64,35 @@ msgstr "Mot de passe : " msgid "ERROR opening file!\n" msgstr "ERROR en ouvrant le fichier.\n" -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:65 msgid "Key password: " msgstr "Mot de passe clé : " -#: src/pam_panic_pw/pam_panic_pw.c:67 +#: src/pam_panic_pw/pam_panic_pw.c:66 msgid "Panic password: " msgstr "Mot de passe panique : " -#: src/pam_panic_pw/pam_panic_pw.c:68 +#: src/pam_panic_pw/pam_panic_pw.c:67 msgid "Confirm key password: " msgstr "Confirmer le mot de passe de clé :" -#: src/pam_panic_pw/pam_panic_pw.c:69 +#: src/pam_panic_pw/pam_panic_pw.c:68 msgid "Confirm panic password: " msgstr "Confirmer le mot de passe de panique : " -#: src/pam_panic_pw/pam_panic_pw.c:75 +#: src/pam_panic_pw/pam_panic_pw.c:74 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "Veuillez exécuter ce programme avec les privilèges root. L'accès en écriture " "à %s est obligatoire.\n" -#: src/pam_panic_pw/pam_panic_pw.c:98 +#: src/pam_panic_pw/pam_panic_pw.c:97 #, c-format msgid "Didn't work. Bye.\n" msgstr "N'a pas fonctionné. Au revoir.\n" -#: src/pam_panic_pw/pam_panic_pw.c:101 +#: src/pam_panic_pw/pam_panic_pw.c:100 #, c-format msgid "Password didn't match. Try again.\n" msgstr "Le mot de passe ne correspond pas. Réessayer.\n" diff --git a/po/ja.gmo b/po/ja.gmo index a88cc3217d5b46537a143ca167f0442d57cc918d..fe028669466fe88c4192f8df1d8c4279b794ea33 100644 GIT binary patch delta 18 ZcmZn=ZV=v3$iix9Y-M1wxr~L26#y{51djj! delta 18 ZcmZn=ZV=v3$iix1U}bEuxr~L26#y`o1d0Fv diff --git a/po/ja.po b/po/ja.po index 5af455a..038253f 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-30 00:30+0200\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" "PO-Revision-Date: 2018-09-29 18:51+0200\n" "Last-Translator: Chromium Neptune \n" "Language-Team: Japanese\n" @@ -63,35 +63,35 @@ msgstr "パスフレーズ: " msgid "ERROR opening file!\n" msgstr "ファイルを開ãéš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿ\n" -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:65 msgid "Key password: " msgstr "キーã®ãƒ‘スワード: " -#: src/pam_panic_pw/pam_panic_pw.c:67 +#: src/pam_panic_pw/pam_panic_pw.c:66 msgid "Panic password: " msgstr "パニックパスワード: " -#: src/pam_panic_pw/pam_panic_pw.c:68 +#: src/pam_panic_pw/pam_panic_pw.c:67 msgid "Confirm key password: " msgstr "キーã®ãƒ‘スワードを確èªï¼š " -#: src/pam_panic_pw/pam_panic_pw.c:69 +#: src/pam_panic_pw/pam_panic_pw.c:68 msgid "Confirm panic password: " msgstr "パニックパスワードを確èªã™ã‚‹ï¼š " -#: src/pam_panic_pw/pam_panic_pw.c:75 +#: src/pam_panic_pw/pam_panic_pw.c:74 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" "root権é™ã§ã“ã®ãƒ—ログラムを実行ã—ã¦ãã ã•ã„。 %sã¸ã®æ›¸ãè¾¼ã¿ã‚¢ã‚¯ã‚»ã‚¹ã¯å¿…é ˆã§" "ã™ã€‚\n" -#: src/pam_panic_pw/pam_panic_pw.c:98 +#: src/pam_panic_pw/pam_panic_pw.c:97 #, c-format msgid "Didn't work. Bye.\n" msgstr "ã†ã¾ãã„ãã¾ã›ã‚“ã§ã—ãŸã€‚ ã•ã‚ˆã†ãªã‚‰ã€‚\n" -#: src/pam_panic_pw/pam_panic_pw.c:101 +#: src/pam_panic_pw/pam_panic_pw.c:100 #, c-format msgid "Password didn't match. Try again.\n" msgstr "パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“ã§ã—ãŸã€‚ å†è©¦è¡Œã™ã‚‹ã€‚\n" diff --git a/po/pam_panic.pot b/po/pam_panic.pot index d6694c5..8f5d423 100644 --- a/po/pam_panic.pot +++ b/po/pam_panic.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pam_panic 0.2.0\n" "Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n" -"POT-Creation-Date: 2018-09-30 00:30+0200\n" +"POT-Creation-Date: 2018-09-30 13:04+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -60,33 +60,33 @@ msgstr "" msgid "ERROR opening file!\n" msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:66 +#: src/pam_panic_pw/pam_panic_pw.c:65 msgid "Key password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:67 +#: src/pam_panic_pw/pam_panic_pw.c:66 msgid "Panic password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:68 +#: src/pam_panic_pw/pam_panic_pw.c:67 msgid "Confirm key password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:69 +#: src/pam_panic_pw/pam_panic_pw.c:68 msgid "Confirm panic password: " msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:75 +#: src/pam_panic_pw/pam_panic_pw.c:74 #, c-format msgid "Please run this program under root. Write access to %s is mandatory.\n" msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:98 +#: src/pam_panic_pw/pam_panic_pw.c:97 #, c-format msgid "Didn't work. Bye.\n" msgstr "" -#: src/pam_panic_pw/pam_panic_pw.c:101 +#: src/pam_panic_pw/pam_panic_pw.c:100 #, c-format msgid "Password didn't match. Try again.\n" msgstr "" From 5790e46ed3d99a6e481cac27ae5667d8ac713f34 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 13:15:32 +0200 Subject: [PATCH 37/48] Make arrays bigger~ pt. 2 --- src/pam_panic_pw/pam_panic_pw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pam_panic_pw/pam_panic_pw.c b/src/pam_panic_pw/pam_panic_pw.c index 1136996..19e895d 100644 --- a/src/pam_panic_pw/pam_panic_pw.c +++ b/src/pam_panic_pw/pam_panic_pw.c @@ -58,8 +58,8 @@ int main(void){ char *password[2]; char *pwvrf[2]; - char pw[2][99]; - char pwv[2][99]; + char pw[2][256]; + char pwv[2][256]; char *prompt[4] = { _("Key password: "), From 372b0954da30c9370e5b92aaf504bb03bc72b921 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 13:42:55 +0200 Subject: [PATCH 38/48] Header --- po4a/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po4a/de.po b/po4a/de.po index f075301..87ec98a 100644 --- a/po4a/de.po +++ b/po4a/de.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: Bandie \n" "POT-Creation-Date: 2018-09-29 16:00+0200\n" "PO-Revision-Date: 2018-09-29 16:02+0200\n" -"Last-Translator: bandie@chaospott.de\n" +"Last-Translator: Bandie \n" "Language-Team: German\n" "Language: de\n" "MIME-Version: 1.0\n" From be5eb0030497f8b85dbe5b2c1dc62465358526b0 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 17:24:19 +0200 Subject: [PATCH 39/48] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 89fe7c5..12ead0a 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,6 @@ There is - [pam_panic](https://aur.archlinux.org/packages/pam_panic/) - Actual [releases](https://github.com/pampanic/pam_panic/releases) and - [pam_panic-git](https://aur.archlinux.org/packages/pam_panic-git/) for this actual git repository. - ### Ubuntu There's a [PPA](https://launchpad.net/~bandie/+archive/ubuntu/pampanic) updating for new [releases](https://github.com/pampanic/pam_panic/releases). From 58194b9480b96468a9276453a0c105fe23947262 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 17:28:11 +0200 Subject: [PATCH 40/48] Travis and gettext --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 46f7699..dce9b3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,3 @@ language: C sudo: enabled -script: sudo apt install libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test +script: sudo apt install autopoint gettext libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test From 4c0150ae1f03f6a9cead181716c462cfce085d6e Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 18:04:32 +0200 Subject: [PATCH 41/48] Changelog change --- ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog b/ChangeLog index 0a28130..09d5e48 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ ## [0.2.0] - Adding gettext for translation capability +- Adding po4a system for man pages ## [0.1.2] - First stable release From 2c68c31df50487116d7008cadc41413f5f8ac3ee Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 18:09:25 +0200 Subject: [PATCH 42/48] travis should use bionic --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index dce9b3b..03e0d01 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,4 @@ language: C +dist: bionic sudo: enabled script: sudo apt install autopoint gettext libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test From 214cf0574d5ff39fd76822ab89b2c8a874bc613b Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 18:14:12 +0200 Subject: [PATCH 43/48] gettext-base? --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 03e0d01..9af3bc8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ language: C dist: bionic sudo: enabled -script: sudo apt install autopoint gettext libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test +script: sudo apt install gettext-base libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test From 3da775a7bce25672efad4a75b64cad86be640634 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 18:47:54 +0200 Subject: [PATCH 44/48] Travis fix --- .gitignore | 1 + .travis.yml | 4 +- ABOUT-NLS | 1379 --------------------------------------------------- 3 files changed, 3 insertions(+), 1381 deletions(-) delete mode 100644 ABOUT-NLS diff --git a/.gitignore b/.gitignore index 158f39c..46b5e70 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ .deps .dirstamp .libs +ABOUT-NLS aclocal.m4 autom4te.cache/ build-aux/ diff --git a/.travis.yml b/.travis.yml index 9af3bc8..91daabe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ language: C -dist: bionic +dist: trusty sudo: enabled -script: sudo apt install gettext-base libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test +script: sudo apt install po4a autopoint gettext libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test diff --git a/ABOUT-NLS b/ABOUT-NLS deleted file mode 100644 index 3cc8286..0000000 --- a/ABOUT-NLS +++ /dev/null @@ -1,1379 +0,0 @@ -1 Notes on the Free Translation Project -*************************************** - -Free software is going international! The Free Translation Project is a -way to get maintainers of free software, translators, and users all -together, so that free software will gradually become able to speak many -languages. A few packages already provide translations for their -messages. - - If you found this 'ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU 'gettext' internally, -itself available at your nearest GNU archive site. But you do _not_ -need to install GNU 'gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - -1.1 INSTALL Matters -=================== - -Some packages are "localizable" when properly installed; the programs -they contain can be made to speak your own native language. Most such -packages use GNU 'gettext'. Other packages have their own ways to -internationalization, predating GNU 'gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system already -provides the GNU 'gettext' functions. Installers may use special -options at configuration time for changing the default behaviour. The -command: - - ./configure --disable-nls - -will _totally_ disable translation of messages. - - When you already have GNU 'gettext' installed on your system and run -configure without an option for your new package, 'configure' will -probably detect the previously built and installed 'libintl' library and -will decide to use it. If not, you may have to to use the -'--with-libintl-prefix' option to tell 'configure' where to look for it. - - Internationalized packages usually have many 'po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at 'configure' time by using the -'--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable 'LINGUAS' -may be set, prior to configuration, to limit the installed set. -'LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -1.2 Using This Package -====================== - -As a user, if your language has been installed for this package, you -only have to set the 'LANG' environment variable to the appropriate -'LL_CC' combination. If you happen to have the 'LC_ALL' or some other -'LC_xxx' environment variables set, you should unset them before setting -'LANG', otherwise the setting of 'LANG' will not have the desired -effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is -an ISO 3166 two-letter country code. For example, let's suppose that -you speak German and live in Germany. At the shell prompt, merely -execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in -'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your -'.login' or '.profile' file, once and for all. - - You might think that the country code specification is redundant. -But in fact, some languages have dialects in different countries. For -example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The -country code serves to distinguish the dialects. - - The locale naming convention of 'LL_CC', with 'LL' denoting the -language and 'CC' denoting the country, is the one use on systems based -on GNU libc. On other systems, some variations of this scheme are used, -such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales -supported by your system for your language by running the command -'locale -a | grep '^LL''. - - Not all programs have translations for all languages. By default, an -English message is shown in place of a nonexistent translation. If you -understand other languages, you can set up a priority list of languages. -This is done through a different environment variable, called -'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' -for the purpose of message handling, but you still need to have 'LANG' -set to the primary language; this is required by other parts of the -system libraries. For example, some Swedish users who would rather read -translations in German than English for when Swedish is not available, -set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. - - Special advice for Norwegian users: The language code for Norwegian -bokma*l changed from 'no' to 'nb' recently (in 2003). During the -transition period, while some message catalogs for this language are -installed under 'nb' and some older ones under 'no', it's recommended -for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and -older translations are used. - - In the 'LANGUAGE' environment variable, but not in the 'LANG' -environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to -denote the language's main dialect. For example, 'de' is equivalent to -'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese -as spoken in Portugal) in this context. - -1.3 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list. The up-to-date list of -teams can be found at the Free Translation Project's homepage, -'http://translationproject.org/', in the "Teams" area. - - If you'd like to volunteer to _work_ at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is _not_ the same as the list itself, it has -'-request' appended. For example, speakers of Swedish can send a -message to 'sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate _actively_ -in translations, or at solving translational difficulties, rather than -merely lurking around. If your team does not exist yet and you want to -start one, or if you are unsure about what to do or how to get started, -please write to 'coordinator@translationproject.org' to reach the -coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.4 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of Jun 2014. -The matrix shows, in regard of each package, for which languages PO -files have been submitted to translation coordination, with a -translation percentage of at least 50%. - - Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs - +---------------------------------------------------+ - a2ps | [] [] [] | - aegis | | - anubis | | - aspell | [] [] [] | - bash | [] [] [] | - bfd | | - binutils | [] | - bison | | - bison-runtime | [] | - buzztrax | [] | - ccd2cue | | - ccide | | - cflow | | - clisp | | - coreutils | [] [] | - cpio | | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | | - denemo | [] [] | - dfarc | [] | - dialog | [] [] [] | - dico | | - diffutils | [] | - dink | [] | - direvent | | - doodle | [] | - dos2unix | | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] | - exif | [] | - fetchmail | [] [] | - findutils | [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | [] | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gjay | | - glunarclock | [] [] [] | - gnubiff | [] | - gnubik | [] | - gnucash | () () [] | - gnuchess | | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] | - gramadoir | | - grep | [] [] [] | - grub | [] | - gsasl | | - gss | | - gst-plugins-bad | [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] | - gst-plugins-ugly | [] [] [] | - gstreamer | [] [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] | - help2man | | - help2man-texi | | - hylafax | | - idutils | | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | | - kbd | [] | - klavaro | [] [] [] [] [] | - ld | [] | - leafpad | [] [] [] [] | - libc | [] [] [] | - libexif | () | - libextractor | | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] [] | - lilypond | [] [] | - lordsawar | [] | - lprng | | - lynx | [] [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] | - man-db | [] [] | - man-db-manpages | | - midi-instruments | [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | [] | - nano | [] [] [] | - opcodes | | - parted | [] | - pies | | - pnmixer | | - popt | [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] | - pushover | [] | - pwdutils | | - pyspread | | - radius | [] | - recode | [] [] [] | - recutils | | - rpm | | - rush | | - sarg | | - sed | [] [] [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] | - sudoers | [] [] | - sysstat | [] | - tar | [] [] [] | - texinfo | [] [] | - texinfo_document | [] [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | | - trader | | - util-linux | [] | - ve | | - vice | | - vmm | | - vorbis-tools | [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] | - wget | [] | - wyslij-po | | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +---------------------------------------------------+ - af am an ar as ast az be bg bn bn_IN bs ca crh cs - 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74 - - da de el en en_GB en_ZA eo es et eu fa fi fr - +--------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] [] [] | - aegis | [] [] [] [] | - anubis | [] [] [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] | - bfd | [] [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] [] [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] [] [] [] | - ccd2cue | [] [] [] [] | - ccide | [] [] [] [] [] [] | - cflow | [] [] [] [] [] | - clisp | [] [] [] [] [] | - coreutils | [] [] [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] [] [] [] [] | - cryptsetup | [] [] [] [] [] | - datamash | [] [] [] [] | - denemo | [] | - dfarc | [] [] [] [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] | - dico | [] [] [] [] | - diffutils | [] [] [] [] [] [] | - dink | [] [] [] [] [] [] | - direvent | [] [] [] [] | - doodle | [] [] [] [] | - dos2unix | [] [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] () [] [] [] [] [] | - findutils | [] [] [] [] [] [] [] [] | - flex | [] [] [] [] [] [] | - freedink | [] [] [] [] [] [] [] [] | - fusionforge | [] [] [] | - gas | [] [] [] | - gawk | [] [] [] [] [] | - gcal | [] [] [] [] | - gcc | [] | - gdbm | [] [] [] [] [] | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] [] | - glunarclock | [] [] [] [] [] | - gnubiff | () [] [] () | - gnubik | [] [] [] [] [] | - gnucash | [] () () () () () () | - gnuchess | [] [] [] [] | - gnulib | [] [] [] [] [] [] [] | - gnunet | [] | - gnunet-gtk | [] | - gold | [] [] [] | - gphoto2 | [] () [] [] | - gprof | [] [] [] [] [] [] | - gramadoir | [] [] [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] () [] [] [] | - gtkam | [] () [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] | - guix | [] [] | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] [] [] | - help2man | [] [] [] [] [] [] [] | - help2man-texi | [] [] [] | - hylafax | [] [] | - idutils | [] [] [] [] [] | - iso_15924 | [] () [] [] () [] () | - iso_3166 | [] () [] [] [] [] () [] () | - iso_3166_2 | [] () () () | - iso_4217 | [] () [] [] [] () [] () | - iso_639 | [] () [] [] () [] () | - iso_639_3 | () () () | - iso_639_5 | () () () | - jwhois | [] [] [] [] [] | - kbd | [] [] [] [] [] [] | - klavaro | [] [] [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () [] [] | - libextractor | [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] () [] | - libgphoto2_port | [] () [] [] [] [] | - libgsasl | [] [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] [] | - liferea | [] () [] [] [] [] [] | - lilypond | [] [] [] [] [] [] | - lordsawar | [] [] | - lprng | | - lynx | [] [] [] [] [] [] | - m4 | [] [] [] [] [] [] | - mailfromd | [] | - mailutils | [] [] [] [] | - make | [] [] [] [] [] | - man-db | [] [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] [] [] | - nano | [] [] [] [] [] [] [] | - opcodes | [] [] [] [] [] | - parted | [] [] [] | - pies | [] | - pnmixer | [] [] | - popt | [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] [] | - psmisc | [] [] [] [] [] [] [] | - pspp | [] [] [] | - pushover | () [] [] [] | - pwdutils | [] [] [] | - pyspread | [] [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - recutils | [] [] [] [] | - rpm | [] [] [] [] [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] [] | - skribilo | [] [] [] | - solfege | [] [] [] [] [] [] [] [] | - solfege-manual | [] [] [] [] [] | - spotmachine | [] [] [] [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] [] [] | - sysstat | [] [] [] [] [] [] | - tar | [] [] [] [] [] [] [] | - texinfo | [] [] [] [] [] | - texinfo_document | [] [] [] [] | - tigervnc | [] [] [] [] [] [] | - tin | [] [] [] [] | - tin-man | [] | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] [] [] [] [] [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] [] | - vice | () () () | - vmm | [] [] | - vorbis-tools | [] [] [] [] | - wastesedge | [] | - wcd | [] [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] [] [] [] | - wget | [] [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] [] | - +--------------------------------------------------+ - da de el en en_GB en_ZA eo es et eu fa fi fr - 119 131 32 1 6 0 94 95 22 13 4 102 139 - - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - +-------------------------------------------------+ - a2ps | [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] | - binutils | [] [] [] | - bison | [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | | - ccd2cue | [] | - ccide | [] [] | - cflow | [] [] [] | - clisp | | - coreutils | [] [] | - cpio | [] [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] | - cryptsetup | [] | - datamash | | - denemo | [] | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] | - dink | [] | - direvent | [] | - doodle | [] [] | - dos2unix | [] [] | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] [] | - flex | [] | - freedink | [] [] [] [] | - fusionforge | | - gas | [] | - gawk | [] () [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] | - gettext-tools | [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] [] () | - gnubik | [] [] [] | - gnucash | () () () () () | - gnuchess | | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] | - hello | [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | | - hylafax | [] | - idutils | [] [] | - iso_15924 | [] [] [] [] [] [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | [] [] | - iso_4217 | [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | [] [] [] [] | - kbd | [] [] [] | - klavaro | [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] () | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | | - libgnutls | [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | | - mailutils | | - make | [] [] [] [] | - man-db | [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] | - mkisofs | [] [] | - myserver | [] | - nano | [] [] [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | | - pnmixer | [] [] | - popt | [] [] [] [] [] [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | [] | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] [] [] [] [] [] | - recutils | | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] [] [] [] [] [] | - sharutils | | - shishi | | - skribilo | [] | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] [] [] | - tar | [] [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] [] | - tigervnc | | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] | - ve | [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | [] | - wcd | | - wcd-man | | - wdiff | [] [] [] | - wget | [] [] [] [] | - wyslij-po | [] [] [] | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] | - +-------------------------------------------------+ - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3 - - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - +--------------------------------------------------+ - a2ps | [] [] | - aegis | [] | - anubis | [] [] [] | - aspell | [] [] | - bash | [] [] | - bfd | | - binutils | | - bison | [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | | - ccd2cue | | - ccide | [] [] | - cflow | [] | - clisp | [] | - coreutils | [] [] | - cpio | [] | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | [] [] | - denemo | | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] | - dink | [] | - direvent | [] | - doodle | [] | - dos2unix | [] [] | - dos2unix-man | [] | - e2fsprogs | [] | - enscript | [] | - exif | [] [] [] | - fetchmail | [] | - findutils | [] [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] | - gjay | | - glunarclock | [] [] | - gnubiff | [] | - gnubik | [] [] | - gnucash | () () () () () () () [] | - gnuchess | [] [] | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] [] | - gramadoir | [] | - grep | [] [] | - grub | [] [] [] | - gsasl | [] | - gss | | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] [] [] | - help2man | [] | - help2man-texi | | - hylafax | [] | - idutils | [] | - iso_15924 | () [] [] | - iso_3166 | [] [] [] () [] [] [] [] [] [] | - iso_3166_2 | () [] | - iso_4217 | () [] [] [] | - iso_639 | [] [] () [] [] [] [] | - iso_639_3 | [] () [] | - iso_639_5 | () | - jwhois | [] [] | - kbd | [] | - klavaro | [] [] | - ld | | - leafpad | [] [] [] [] [] | - libc | [] [] | - libexif | [] | - libextractor | [] | - libgnutls | [] [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | [] | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] | - lilypond | [] | - lordsawar | | - lprng | | - lynx | [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] [] | - man-db | [] | - man-db-manpages | [] | - midi-instruments | [] [] [] [] [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pies | | - pnmixer | [] | - popt | [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] | - recutils | [] | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | [] | - spotmachine | [] | - sudo | [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] | - tar | [] [] [] | - texinfo | [] | - texinfo_document | [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] | - trader | [] | - util-linux | [] | - ve | [] | - vice | [] | - vmm | [] | - vorbis-tools | [] | - wastesedge | [] | - wcd | [] | - wcd-man | [] | - wdiff | [] | - wget | [] [] | - wyslij-po | [] | - xboard | [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +--------------------------------------------------+ - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125 - - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - +------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] | - aegis | [] [] | - anubis | [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] [] [] [] | - bfd | [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] | - ccd2cue | [] [] | - ccide | [] [] [] | - cflow | [] [] [] | - clisp | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - cppi | [] [] [] | - cpplib | [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] | - denemo | | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] | - dink | | - direvent | [] [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] | - e2fsprogs | [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - freedink | [] [] [] [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | [] [] [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] | - gnubik | [] [] [] [] | - gnucash | () () () () () [] | - gnuchess | [] [] | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] | - grep | [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] | - gss | [] [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] [] | - help2man-texi | [] | - hylafax | | - idutils | [] [] [] | - iso_15924 | [] () [] [] [] [] | - iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | - iso_3166_2 | [] () [] | - iso_4217 | [] [] () [] [] [] [] [] | - iso_639 | [] [] [] () [] [] [] [] [] [] | - iso_639_3 | [] () | - iso_639_5 | () [] | - jwhois | [] [] [] [] | - kbd | [] [] | - klavaro | [] [] [] [] [] | - ld | | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] | - libexif | [] () [] | - libextractor | [] | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | [] [] [] | - liferea | [] [] [] [] () [] [] | - lilypond | | - lordsawar | | - lprng | [] | - lynx | [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] | - make | [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] [] | - midi-instruments | [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] | - nano | [] [] [] [] [] [] | - opcodes | | - parted | [] [] [] [] [] [] | - pies | [] | - pnmixer | [] | - popt | [] [] [] [] [] [] | - procps-ng | [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - recutils | [] [] | - rpm | [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] | - shishi | [] [] | - skribilo | [] | - solfege | [] [] [] | - solfege-manual | [] [] | - spotmachine | [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] [] | - ve | [] [] [] | - vice | | - vmm | | - vorbis-tools | [] [] [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] [] [] [] | - wget | [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +------------------------------------------------+ - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - 7 3 6 114 1 12 88 32 82 3 40 45 7 101 - - sv sw ta te tg th tr uk ur vi wa wo zh_CN - +----------------------------------------------+ - a2ps | [] [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | [] [] [] | - ccd2cue | [] [] [] | - ccide | [] [] [] [] | - cflow | [] [] [] [] | - clisp | | - coreutils | [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] | - cpplib | [] [] [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] [] | - denemo | [] | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] [] [] | - dink | [] | - direvent | [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] | - enscript | [] [] [] [] | - exif | [] [] [] [] [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] | - flex | [] [] [] [] | - freedink | [] [] [] | - fusionforge | | - gas | [] | - gawk | [] [] [] | - gcal | [] [] [] | - gcc | [] | - gdbm | [] [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] | - glunarclock | [] [] [] [] | - gnubiff | [] [] | - gnubik | [] [] [] [] | - gnucash | () () () () [] | - gnuchess | [] [] [] | - gnulib | [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] | - grub | [] [] [] [] | - gsasl | [] [] [] [] | - gss | [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | [] | - hylafax | [] | - idutils | [] [] [] | - iso_15924 | [] () [] [] () [] | - iso_3166 | [] [] () [] [] () [] [] | - iso_3166_2 | () [] [] () [] | - iso_4217 | [] () [] [] () [] | - iso_639 | [] [] [] () [] [] () [] [] | - iso_639_3 | [] () [] [] () | - iso_639_5 | () [] () | - jwhois | [] [] [] [] | - kbd | [] [] [] [] | - klavaro | [] [] [] [] [] [] | - ld | [] [] [] [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () | - libextractor | [] [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | () [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] | - mailfromd | [] [] | - mailutils | [] | - make | [] [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] | - minicom | [] [] | - mkisofs | [] [] [] | - myserver | [] | - nano | [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | [] [] | - pnmixer | [] [] [] | - popt | [] [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] [] | - pushover | [] | - pwdutils | [] [] | - pyspread | [] | - radius | [] [] | - recode | [] [] [] [] | - recutils | [] [] [] | - rpm | [] [] [] [] | - rush | [] [] | - sarg | | - sed | [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] | - skribilo | [] [] | - solfege | [] [] [] [] | - solfege-manual | [] | - spotmachine | [] [] [] | - sudo | [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | | - wcd | [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] | - wget | [] [] [] | - wyslij-po | [] [] | - xboard | [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +----------------------------------------------+ - sv sw ta te tg th tr uk ur vi wa wo zh_CN - 106 1 4 3 0 13 51 115 1 125 7 1 100 - - zh_HK zh_TW - +-------------+ - a2ps | | 30 - aegis | | 9 - anubis | | 19 - aspell | | 29 - bash | [] | 23 - bfd | | 11 - binutils | | 12 - bison | [] | 18 - bison-runtime | [] | 38 - buzztrax | | 9 - ccd2cue | | 10 - ccide | | 17 - cflow | | 16 - clisp | | 10 - coreutils | | 18 - cpio | | 20 - cppi | | 17 - cpplib | [] | 19 - cryptsetup | | 14 - datamash | | 11 - denemo | | 5 - dfarc | | 17 - dialog | [] | 42 - dico | | 6 - diffutils | | 22 - dink | | 10 - direvent | | 11 - doodle | | 12 - dos2unix | [] | 18 - dos2unix-man | | 9 - e2fsprogs | | 15 - enscript | | 21 - exif | | 27 - fetchmail | | 19 - findutils | | 29 - flex | [] | 19 - freedink | | 24 - fusionforge | | 3 - gas | | 5 - gawk | | 13 - gcal | | 8 - gcc | | 2 - gdbm | | 10 - gettext-examples | [] [] | 40 - gettext-runtime | [] [] | 35 - gettext-tools | [] | 24 - gjay | | 9 - glunarclock | [] | 27 - gnubiff | | 9 - gnubik | | 19 - gnucash | () | 6 - gnuchess | | 11 - gnulib | | 23 - gnunet | | 1 - gnunet-gtk | | 1 - gold | | 7 - gphoto2 | [] | 19 - gprof | | 21 - gramadoir | | 14 - grep | [] | 31 - grub | | 21 - gsasl | [] | 19 - gss | | 17 - gst-plugins-bad | | 21 - gst-plugins-base | | 27 - gst-plugins-good | | 32 - gst-plugins-ugly | | 34 - gstreamer | [] | 32 - gtick | | 19 - gtkam | | 24 - gtkspell | [] [] | 48 - guix | | 2 - guix-packages | | 0 - gutenprint | | 15 - hello | [] | 30 - help2man | | 18 - help2man-texi | | 5 - hylafax | | 5 - idutils | | 14 - iso_15924 | [] | 23 - iso_3166 | [] [] | 58 - iso_3166_2 | | 9 - iso_4217 | [] [] | 28 - iso_639 | [] [] | 46 - iso_639_3 | | 10 - iso_639_5 | | 2 - jwhois | [] | 20 - kbd | | 17 - klavaro | | 30 - ld | [] | 15 - leafpad | [] | 39 - libc | [] | 24 - libexif | | 10 - libextractor | | 5 - libgnutls | | 13 - libgphoto2 | | 10 - libgphoto2_port | [] | 19 - libgsasl | | 18 - libiconv | [] | 29 - libidn | | 17 - liferea | | 29 - lilypond | | 11 - lordsawar | | 3 - lprng | | 3 - lynx | | 19 - m4 | [] | 22 - mailfromd | | 4 - mailutils | | 6 - make | | 19 - man-db | | 15 - man-db-manpages | | 10 - midi-instruments | [] | 43 - minicom | [] | 17 - mkisofs | | 13 - myserver | | 9 - nano | [] | 30 - opcodes | | 12 - parted | [] | 23 - pies | | 4 - pnmixer | | 9 - popt | [] | 36 - procps-ng | | 5 - procps-ng-man | | 4 - psmisc | [] | 22 - pspp | | 13 - pushover | | 6 - pwdutils | | 8 - pyspread | | 6 - radius | | 9 - recode | | 31 - recutils | | 10 - rpm | [] | 13 - rush | | 10 - sarg | | 4 - sed | [] | 35 - sharutils | | 13 - shishi | | 7 - skribilo | | 7 - solfege | | 21 - solfege-manual | | 9 - spotmachine | | 11 - sudo | | 26 - sudoers | | 22 - sysstat | | 23 - tar | [] | 30 - texinfo | | 17 - texinfo_document | | 13 - tigervnc | | 14 - tin | [] | 7 - tin-man | | 1 - tracgoogleappsa... | [] | 22 - trader | | 12 - util-linux | | 13 - ve | | 14 - vice | | 1 - vmm | | 3 - vorbis-tools | | 13 - wastesedge | | 3 - wcd | | 8 - wcd-man | | 3 - wdiff | [] | 23 - wget | | 21 - wyslij-po | | 14 - xboard | | 10 - xdg-user-dirs | [] [] | 68 - xkeyboard-config | [] | 28 - +-------------+ - 89 teams zh_HK zh_TW - 166 domains 7 42 2809 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and distributed -as such by its maintainer. There might be an observable lag between the -mere existence a PO file and its wide availability in a distribution. - - If Jun 2014 seems to be old, you may fetch a more recent copy of this -'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix -with full percentage details can be found at -'http://translationproject.org/extra/matrix.html'. - -1.5 Using 'gettext' in new packages -=================================== - -If you are writing a freely available program and want to -internationalize it you are welcome to use GNU 'gettext' in your -package. Of course you have to respect the GNU Lesser General Public -License which covers the use of the GNU 'gettext' library. This means -in particular that even non-free programs can use 'libintl' as a shared -library, whereas only free software can use 'libintl' as a static -library or use modified versions of 'libintl'. - - Once the sources are changed appropriately and the setup can handle -the use of 'gettext' the only thing missing are the translations. The -Free Translation Project is also available for packages which are not -developed inside the GNU project. Therefore the information given above -applies also for every other Free Software Project. Contact -'coordinator@translationproject.org' to make the '.pot' files available -to the translation teams. From b4ad996e3e21fc0aa3f51489a6d0de069bcb8ef6 Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 18:49:59 +0200 Subject: [PATCH 45/48] gettext 0.18.3 for trusty --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 76749c5..6fdfb47 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ CFLAGS+=" -std=gnu11" AM_PROG_AR -AM_GNU_GETTEXT_VERSION(0.19.8) +AM_GNU_GETTEXT_VERSION(0.18.3) AM_GNU_GETTEXT([external]) AC_PATH_PROG([PO4A],po4a) From 548dbed52a84dc1cbbc726bf78cac407e6d1776c Mon Sep 17 00:00:00 2001 From: Bandie Date: Sun, 30 Sep 2018 22:20:08 +0200 Subject: [PATCH 46/48] CFLAGS->CPPFLAGS --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 11a4460..7d552ef 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ACLOCAL_AMFLAGS = -I m4 -AM_CFLAGS = -I src +AM_CPPFLAGS = -I src SUBDIRS = po po4a src/pam_panic src/pam_panic_pw From 670a699a3b5a7b2e03b56423746a0b08efc3071b Mon Sep 17 00:00:00 2001 From: Bandie Date: Mon, 1 Oct 2018 00:12:25 +0200 Subject: [PATCH 47/48] Generate gmo with every build --- .gitignore | 1 + Makefile.am | 6 ++++++ po/de.gmo | Bin 2141 -> 0 bytes po/es.gmo | Bin 2201 -> 0 bytes po/fr.gmo | Bin 2208 -> 0 bytes po/ja.gmo | Bin 2432 -> 0 bytes 6 files changed, 7 insertions(+) delete mode 100644 po/de.gmo delete mode 100644 po/es.gmo delete mode 100644 po/fr.gmo delete mode 100644 po/ja.gmo diff --git a/.gitignore b/.gitignore index 46b5e70..944ef87 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ po/POTFILES po/Rules-quot po/stamp-po po/*.header +po/*.gmo po/*.sed po/*.sin src/pam_panic/man/* diff --git a/Makefile.am b/Makefile.am index 7d552ef..2ab2379 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,5 +6,11 @@ SUBDIRS = po po4a src/pam_panic src/pam_panic_pw .PHONY: all test clean + +update-po: + make -C po update-po + +all: update-po + test: make -C test diff --git a/po/de.gmo b/po/de.gmo deleted file mode 100644 index 32c7fda9c3b0eb7a71223bba05a82ae1e3de45a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2141 zcmZ{k%WvI86vhpd*X7v?A*Av+4MMakc5V`iTDPIJN!mtDX}H|-SfDc3KGz;%&sa0# zq+x@Q*t2567FDn*5^O3K+1(xd4~Pxo4*-cJd}H57T8gE~FP=M(^L;+&{CeoXR{@?w z7|&ze!gvAW%zgNS=Lc{J{1H3>{tmtj9=<;aUINd8&w|&%=fG|7DEKAl&-@8|2K)u= zgTH}(|A_~J;7Ra9@If#Kp9U2;2Yv>2z;D1c@O$uc-2Er`2HtCIiosjpG4K!YMeyK5 zK|o*^JPf`Ao&rnIpZgv78u&B#G59xl9Q@$nHqI}=$MOC(_!RgpxD4I~eLR1GAA$dX z2q%D?;0cU_7?a2EN0`AQ;|ag-UXR!N7zU1Nyg(?87r^xKF+7Uly*%J&&uy&r`ZUyr zgvsiXm7_V!M(Wzm#k9)XGGR(JTlK0Vz9FrP_U);JwL99Rq$?-2is@}l)48E6u$3Jr zj?*Yu>8kWWeR0-xJyFqHoL{pv7se$MzW29RoN_qmaT}+?{d@$)_T3GJqTkZ zRYpG4Bjd@K&W*jYB-OSkWEw%aV{*BGf1)V#&K#~vY0mH`&_73IZ5`!en@Lc!gD!6N z>DsmR)u_EGrWHL7*55f*(cBybm+w@J*RvFC-mQ1)Y})E6g-h~?`Ub)?Ar)jzmcX{n zf`w%=wL;+d43*KD5hc|sg*QfP7t#AhLYGJqww9cxS0LF^32nk@v+EBu+Di=A)9^hu zwn>9Zl-Jvj(Tx_PZl}kUHZHtkGnt0x>&%9I9aHXHW#jqz4BxmOMEJz>*x2mz|FkD` zHm~->6~n?OShy-2$F$g8I2m?Ng-cypSclR$F1716 zgmq!x2xSYeAtpLAfF8+jCArYH(#}OGzuDOkDyv1tVV^}A(?vFrJ)Mn_+MO%wSJq~# z7oZdw>X2$-f44%Qj&Hd6s(|yS35OfYZuwgOLU?kv&c`ui6RxR5r^vLJP7b8&Y!yGdS*_N?Wi zYMVl{-639?G5Sf9;#>do+hwg_Hp&^XDw-WdN+daI+oxllx>q0wHB9Bi$N{8z&r1H(v3^qG3-JB*d^C=~d@SFkLP!PiCJ0f4?Cfr+NSuU{Cfh0^p{wl%$|;)Iv)-ZJ88b89 zbWi;gIC1EKLy$OB0*NXY#0A72;mi^B!i^heB%ZN1&gR3C^IO|9^S;mfmA@{W``W{G z0r%^;zsLOs?&Zhu2iK3_Jopg20{#uY1zvjG^WFrng0F%*;A`LzybOK?x-)+QFM_{= zUGNd;_Fs9z^IiZy2hW3j@Fh@!v*10j27U{+z#qWxVEbQi8PE5z={EQ$I0w!>S^BdB zI{)v1?woHxxBgeq`S~As3B33eY=U*L3El@^0sjD>1s{P<&p%)TJpZ)kJr8~W-U3@7 z-0>i%c>gkZcs++7aMQz*;&M99x}08T3nq$Kz_lV4Ky|%{U(eunu{`JAu5PwEUFs=K zOegt(OG~qcYoT&88`3%-iilIJxRLKz;&+9y!PK6N8MCK!Oe(WN$&fx#RK4qo6kECF zk>zpVt#vlK8*8hZA+-;86)S|HNNJsCc4m5wR=X)5(4Me;(maXOAj26-_JkhL9X_h; zgjBuGm=w|R4|y6p&qWMnqBkNYN5yW|vs}|WSuMB;yme75gO)o1T^sSB=CwMVn;i(_ zQpkjyt22|AA+1hgWk|>&OGO+&x#eX04Dn-Ws`h4KDyCV@zkvQ(8sx@OpA9)NDt6F~ zc9*udH`asFQb=oR;;ge-sVFQ5-p9ukpT@_N_+RTJ=a|v>s?*>Tm95xpF+>i2v zTKi_#U(=kq0`u3IfGTG);hM*^r_vrR#~+oC?kO1X4{MwFp0kAeUCss}-Etn9e)T#eZfaW_ zTdgDg4QNKKS`?k%9c6IY^1F5}OOb;miuz0&ZdbOu*ZqZ~bX|DLSv%gRn884-&X^C(xo~PeFg@)VMJf93XiS{=3ZJs^ zJ_ZLW(!>0MhAfBglaV1Jtamzc31jXgs4!VReqfxOc}xJ8W`!Yw&AnVksK4<+K&vsL zWU4{J5cORxbQ%649H-}rDhA4U9}@)!QkTmF`H~dnFu~}{oLAFjbTnIHzKb>R0$qz< zc0Rk$*n^8+b?V5gIFXA)5jI~B>8UdQ4lwatW@7nNRbkV zOUwh>kaqk4TGFBzWX^{QA(}c0NoZl7(}6?nf1oZKEh#Kpd)Bd*TeWJ!WQ{ zZF=D^KyX3gzyWdENFc$DBT~3=;>ZQK@DIR&E6+F|o82y!CO^lXkN0`!oyWhQJ@bWw z>nz%4^WZBFI?g$89efeI4ZaKxzzg7Kpq=wa@CEP} zunYbP+VK}3a-65Z55R}PKKLw{f@Sa%umpYsZiC-}Ut#Tkz^nNGIR@>5zk+q}+#`;& z1a`plpaCo3mtYP22_*1u(CT~sQOEfZtbuQXpMo~dpFtbXZ{SPdAK)_hFZc{tc?_|F z?|=x$fgI;4wCB)f*ORzGm=3xWm(_9FW%WLRhN+8OAhcp_V1C&(A4jvfJY%13w6;54 z>PbaRMR~$gLuJjCkhw1Vw8aM^;1o)((~2Q}S7_rcjLDeR2U3M3Gb3c`(+x@UXFU;P zC^tMXJoKE+PP5zG+-UjKo{cJc2u*=hD$mT)Vjm^t_}6sfD@x) z1YK`;X>YH&af{lX~Zw4JUdMW`e#)T?OG06DefP zx*%=sm@~~uJIoNO;djk)79;no6!e+W+^p?&cifeuem0UGSMGKi$Pl&W)5^Xu zrFNVv7P~uACEBMnEB@-W`YKIs*Dj=Vg=%lCmfm--^OUQJn6~7hFjV(yUad4es+r6c z#g)@ec#Bgu9x0La?eE7qr?gTWb3A7_7!!Y(PB1y;IMb9!V}ULjA~*5?HPjOU(x^_p zrf@v69xxs)dH~k_zy2I2#X15`e14xLj1Lo(!v$v-h3QVc6lzU_&n^_8nyUZLVlwx4*n%Q*_APi-%FqDbE@VT!X z(`17{_oEn2ZkOlmF6`|zf3R5OasBwKg|xL!B;IBVJIHk=VS=`hs52hflnrsTO2_9x z+Hdh(#4*2zFU)up251Y8K?+-kZKD}v-tRl47<0x1G_VuJ9i8H z31$WhEp5ufiiO5fAf*&qAeacXfj_{%z+a5Xb^7>;A58q&@4dU-K2mX#yPw%R=bm%E z=bV{8Hg6cxaBaqV59<@xO|Xxi)Gx8RFl7JL(Qz$)+r7z3|?P2dzbf!Ke8&GJ-G2@O{)W&LAiedq~J6t^V+hpq~8W*+#XQsI}bL3_d%)S zACQBaUePq9qd|`L8rEA_OV_KoL7Ey&)g}F{cS*gQu#keP1yWVD04moTxI-va%MEgO zPis?0l61O^SS(Y_Q-_l(k22dWdQ~QAq+NE3lC(=b=Oa$&aogj@iZcbv^NzVJP22*v zUB@K*T~gWWv~xI0IZbhzHnfJ0mSjuAo>r5zFP%~rwntJfW5ojBy3&TZhjTPfj@dj* z7|o>Id;vaOr_*M6a+G#g;+UkeU9cQGwfaFZmzJ5^X(+QhyNTs=tJ78|r;OAR&TQ%# zTBEJZpyjAR_I6VvrZshR9O!^B>ex<($W*tMH%+pqTq}>*PM4Ll(*~4tN_f^n{j6Nh zJywNKX;Q`L5$LZX`J%^3*6O0fBI*R$*PbK?54JQKrAQ`eaLdWcm=zT&vY~ysS~33a zCR+Piy_L$QOM3DaPh|~~WDuUQYzMNIOi;G=9JM@3SkXb^XhVUy8D`~4(Mh8=%yqdz zzGgObS*aBDJi=YF4U#>Qhc=75tXn!{u9T>^r1h^T^VAp=to)%;GvY>#5s!7yg3Gwx z=4I@(zPFh1^rUN&EawH!tggYThOd5E~hdHum;vtGAsCv)qhOmA{hZW_~PlDfk-kG1ED z%*yG_F3Wo+aSH0MSD)BPO1Jg#ow0B9ebk|>B&^+~X`7Q8BVic;@NsWf7hh;W-i95Wyqi_eWDdMk5o#za;#}!oMPdi{fOUiSWF99NtyO zdPOiP!b>9fMT9p+_yA59rpBZ5eahWx%Wy~pW72zg8{X$`j6|nrgpbYsn5V ziU#g44$u6rqv(2{axpIaQ_9is(^+2=0TM)NJtDX+g4>7*NAi7CpOPx%84V3Cj`hQE zN-9Ay)(X2Ye{E)AazLI_s>8D)43*#2x`MKy@P|ckR+-mESALSExHY~o)*n5Fz}w|G zFz$U6OA?EJh2Ntd3@SzI8xd8xGs<*Q1idI&3|X!yad2VrhqJ;TT)ccmg`X(5 z+V7tqo|*rC6y`yBPv(sAKth-h^k)9lSk#9RK#Id~y!1&E{zT=ACSCe>=SF&!;pEcS zOpeWy?-s`W%HdT}*4B8ve1(4zf#B$wCHjx9m71j Date: Mon, 1 Oct 2018 01:13:26 +0200 Subject: [PATCH 48/48] Link to how-to-translate in wiki --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12ead0a..581db07 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ sudo apt-get install pampanic ### From sources You will need GCC or similar, as well as the PAM headers. Some distributions package the PAM headers as `libpam0g-dev`. -Also you need `autoconf`. +Also you need `autoconf` and `gettext`. Some also need `autopoint`. To compile and install it, do the following within the project's root directory: @@ -103,7 +103,7 @@ See `man 8 pam_panic` and `man 1 pam_panic_pw` for more information. ## TODO -- [Manpage translations](https://github.com/Bandie/pam_panic/issues?q=is%3Aissue+is%3Aopen+label%3Alocalization) +- [Translations](https://github.com/pampanic/pam_panic/wiki/How-to-translate) # Addendum