Unverified Commit ad082cc6 authored by IKEDA Soji's avatar IKEDA Soji Committed by GitHub
Browse files

Merge branch 'sympa-6.2' into issue-408

parents 5e50bf98 d182a6f5
......@@ -38,6 +38,7 @@ Makefile
/po/web_help/remove-potcdate.sed
/po/web_help/stamp-po
/src/etc/script/sympa
/src/lib/stamp-man3
/src/lib/Sympa/Constants.pm
/src/lib/Sympa/Internals.pod
/src/libexec/bouncequeue
......@@ -55,6 +56,12 @@ Makefile
/sympa-*.tar.gz
# make distcheck
/sympa-*/
/sympa-*.tar.gz.md5
/sympa-*.tar.gz.sha256
# perltidy
*.bak
......
......@@ -6,8 +6,8 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018 The Sympa Community. See the AUTHORS.md file at the
# top-level directory of this distribution and at
# Copyright 2017, 2018, 2019 The Sympa Community. See the AUTHORS.md file at
# the top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -65,11 +65,12 @@ noinst_SCRIPTS = \
xt/pod-coverage.t \
xt/pod-spelling.t \
xt/perltidy.t
nobase_modules_DATA = \
cpanfile
EXTRA_DIST = \
AUTHORS.md \
CONTRIBUTING.md \
cpanfile \
INSTALL.md \
NEWS.md \
OChangeLog \
......@@ -77,7 +78,8 @@ EXTRA_DIST = \
README.md \
etc_README \
$(check_SCRIPTS) $(check_DATA) \
$(noinst_SCRIPTS)
$(noinst_SCRIPTS) \
$(nobase_modules_DATA)
CLEANFILES = sympa_wizard.pl.inst
......@@ -85,10 +87,13 @@ MSGFMT=@MSGFMT@
.po.mo:
$(MSGFMT) -o $@ $<
# Skip this with "make distcheck"
check-local: $(check_DATA)
[ -z "$(TEST_FILES)" ] && TEST_FILES="$(check_SCRIPTS)"; \
PERL5LIB=src/lib; export PERL5LIB; \
$(PERL) -MTest::Harness -e 'runtests @ARGV' $$TEST_FILES
if test -d t; then \
[ -z "$(TEST_FILES)" ] && TEST_FILES="$(check_SCRIPTS)"; \
PERL5LIB=src/lib; export PERL5LIB; \
$(PERL) -MTest::Harness -e 'runtests @ARGV' $$TEST_FILES; \
fi
authorcheck:
[ -z "$(TEST_FILES)" ] && TEST_FILES="$(noinst_SCRIPTS)"; \
......@@ -169,10 +174,9 @@ installconfig: installdir sympa_wizard.pl.inst
$(SED) \
-e 's|--sysconfdir--|$(sysconfdir)|' \
-e 's|--defaultdir--|$(defaultdir)|' \
etc_README > $(DESTDIR)$(sysconfdir)/README; \
$(srcdir)/etc_README > $(DESTDIR)$(sysconfdir)/README; \
chmod 644 $(DESTDIR)$(sysconfdir)/README; \
fi
@$(INSTALL_DATA) cpanfile $(DESTDIR)$(modulesdir)/;
nextstep:
@echo ""
......@@ -195,11 +199,19 @@ nextstep:
@echo "#######################################################"
uninstall-hook:
rm -f $(DESTDIR)$(confdir)/sympa.conf
rm -f $(DESTDIR)$(confdir)/wwsympa.conf
cd $(DESTDIR)$(confdir) && rm -f sympa.conf
cd $(DESTDIR)$(confdir) && rm -f wwsympa.conf
cd $(DESTDIR)$(sysconfdir) && rm -f data_structure.version
cd $(DESTDIR)$(sysconfdir) && rm -f README
DISTCHECK_CONFIGURE_FLAGS = --enable-fhs --with-perl=$(PERL)
dist-hook:
$(MAKE) check
distcheck-hook:
-md5sum $(DIST_ARCHIVES) > $(DIST_ARCHIVES).md5
-sha256sum $(DIST_ARCHIVES) > $(DIST_ARCHIVES).sha256
tidyall:
tidyall --conf-file doc/dot.tidyallrc --root-dir . -r src t xt
......@@ -410,23 +410,6 @@ EXTRA_DIST = $(nobase_default_DATA) \
CLEANFILES = list_aliases.tt2
DEFAULT_SCENARIOS = \
add.owner \
archive_mail_access.closed \
d_edit.owner \
d_read.private \
del.owner \
info.open \
invite.private \
remind.owner \
review.owner \
send.private \
subscribe.open \
topics_visibility.noconceal \
tracking.owner \
unsubscribe.open \
visibility.conceal
list_aliases.tt2: Makefile list_aliases.tt2.in
@rm -f $@
$(AM_V_GEN)$(SED) \
......@@ -434,10 +417,6 @@ list_aliases.tt2: Makefile list_aliases.tt2.in
< $(srcdir)/$@.in > $@
install-data-hook:
cd $(DESTDIR)$(defaultdir)/scenari; \
for file in $(DEFAULT_SCENARIOS); do \
$(LN_S) -f $$file `echo $$file | $(SED) -e 's/\.[^.]*$$/.default/'`; \
done
cd $(DESTDIR)$(defaultdir)/web_tt2; \
rm -f ja_JP/css.tt2 ko_KR/css.tt2 zh_CN/css.tt2 zh_TW/css.tt2; \
$(LN_S) -f review.tt2 search.tt2; \
......
......@@ -47,16 +47,17 @@ Some of the customizations have been removed because they no longer respect the
[% ELSIF type == 'subrequest' -%]
Subject: [% FILTER qencode %][%|loc(list.name)%]Subscription request to list %1[%END%][%END%]
[%|loc(list.name)-%]Dear owner of list %1,
[%|loc(list.name)%]Dear owner of list %1,[%END%]
A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:[%END%]
[% IF user_interfaces.size() == 1 && user_interfaces.0 == 'mail' -%]
[%IF gecos; SET target="${gecos} <${who}>"; ELSE; SET target="<${who}>"; END~%]
[%|loc(target)%]A user %1 asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:[%END%]
[% IF conf.wwsympa_url -%]
[% 'auth' | url_abs([keyauth,'add',list.name],{email=>user.email}) %]
[%- ELSE -%]
[% "${conf.email}@${domain}" | mailtourl({subject=>"AUTH ${keyauth} ADD ${list.name} ${who} ${gecos}"}) %]
[%|loc(conf.email,domain)%]Or send a message to %1@%2 with the following subject:[%END%]
AUTH [%keyauth%] ADD [%list.name%] [%who%] [%gecos%]
[%- ELSE -%]
[% 'auth' | url_abs([keyauth,'add',list.name],{email=>user.email}) %]
[%- END %]
[% IF custom_attribute %]
......@@ -69,16 +70,17 @@ A user asked to be added as a subscriber to your list. If this is OK with you, y
[% ELSIF type == 'sigrequest' -%]
Subject: [% FILTER qencode %][%|loc(list.name)%]UNsubscription request from list %1[%END%][%END%]
[%|loc(list.name)-%]Dear owner of list %1,
[%|loc(list.name)%]Dear owner of list %1,[%END%]
A user asked to be deleted from your list. If this is OK with you, you should click the following URL:[% END %]
[% IF user_interfaces.size() == 1 && user_interfaces.0 == 'mail' -%]
[% SET target = "<${who}>" ~%]
[%|loc(target)%]A user %1 asked to be deleted from your list. If this is OK with you, you should click the following URL:[%END%]
[% IF conf.wwsympa_url -%]
[% 'auth' | url_abs([keyauth,'del',list.name],{email=>user.email}) %]
[%- ELSE -%]
[% "${conf.email}@${domain}" | mailtourl({subject=>"AUTH ${keyauth} DEL ${list.name} ${who}"}) %]
[%|loc(conf.email,domain)%]Or send a message to %1@%2 with the following subject:[%END%]
AUTH [%keyauth%] DEL [%list.name%] [%who%]
[%- ELSE -%]
[% 'auth' | url_abs([keyauth,'del',list.name],{email=>user.email}) %]
[%- END %]
[% ELSIF type == 'automatic_bounce_management' -%]
......
......@@ -438,6 +438,9 @@
[%~ ELSIF report_entry == 'logout' ~%]
[%|loc%]You have logged out[%END%]
[%~ ELSIF report_entry == 'account_deleted' ~%]
[%|loc%]You have been unsubscribed from all your lists and your account has been deleted[%END%]
[%~ END ~%]
[%################~%]
......@@ -597,6 +600,9 @@ Warning: this message may already have been sent by one of the list's moderators
[%~ ELSIF report_entry == 'incorrect_email' ~%]
[%|loc(report_param.email || report_param.value)%]Address "%1" is incorrect[%END%]
[%~ ELSIF report_entry == 'blacklisted_domain' ~%]
[%|loc(report_param.email || report_param.value)%]Address "%1" belongs to a blacklisted domain[%END%]
[%~ ELSIF report_entry == 'incorrect_passwd' ~%]
[%|loc%]Provided password is incorrect[%END%]
......@@ -827,6 +833,12 @@ Warning: this message may already have been sent by one of the list's moderators
[%~ ELSIF report_entry == 'owner_domain_min' ~%]
[%|loc(report_param.value,report_param.owner_domain_min,report_param.owner_domain)%]Unable to reduce the number of list owners in required domains to %1. Domains that count toward the minimum requirement of %2: %3[%END%]
[%~ ELSIF report_entry == 'still_owner' ~%]
[%|loc(report_param.lists)%]You are the only owner of the following list(s): %1. Please give ownership to other people before deleting your account. You have been unsubscribed from all your lists though.[%END%]
[%~ ELSIF report_entry == 'no_classic_session' ~%]
[%|loc()%]You are not authorized to delete your account if you are not using the built-in authentication (i.e. you are using a LDAP authentication, a SSO system, etc.).[%END%]
[%~ END ~%]
[%~ END ~%]
[%# request_auth.tt2 ~%]
To: [% to %]
[% IF user_interfaces.size() == 1 and user_interfaces.0 == 'mail' -%]
Subject: [% FILTER qencode %]AUTH [%keyauth%] [%cmd%][%END%]
[%- ELSIF type == 'signoff' -%]
[% IF conf.wwsympa_url && type == 'signoff' -%]
Subject: [% FILTER qencode %][%|loc(conf.title,list.name)%]%1 / unsubscribing from %2[%END%][%END%]
[%- ELSIF type == 'subscribe' -%]
[%- ELSIF conf.wwsympa_url && type == 'subscribe' -%]
Subject: [% FILTER qencode %][%|loc(conf.title,list.name)%]%1 / subscribing to %2[%END%][%END%]
[%- ELSE -%]
Subject: [% FILTER qencode %]AUTH [%keyauth%] [%cmd%][%END%]
......@@ -33,9 +31,11 @@ Subject: [% FILTER qencode %]AUTH [%keyauth%] [%cmd%][%END%]
[%- END -%]
[% IF not conf.wwsympa_url -%]
[% sympa = BLOCK %][% conf.email %]@[% domain %][%END -%]
[%|loc(sympa,"AUTH ${keyauth} ${cmd}") %]If you want this action to be taken, please
[% IF conf.wwsympa_url -%]
[%|loc%]If you want this action to be taken, please hit the following link:[%END%]
[% 'auth' | url_abs([keyauth,type],{email=>to}) ~%]
[%- ELSE -%]
[%|loc("${conf.email}@${domain}","AUTH ${keyauth} ${cmd}") %]If you want this action to be taken, please
- reply to this mail
OR
......@@ -43,10 +43,7 @@ OR
%2
OR
- click on the following URL[% END %]
[% sympa | mailtourl({subject => "AUTH ${keyauth} ${cmd}"}) %]
[%- ELSE -%]
[%|loc%]If you want this action to be taken, please hit the following link:[%END%]
[% 'auth' | url_abs([keyauth,type],{email=>to}) ~%]
[% "${conf.email}@${domain}" | mailtourl({subject => "AUTH ${keyauth} ${cmd}"}) %]
[%- END %]
[%|loc-%]If you do not want this action to be taken, you can safely ignore this message.[% END %]
......@@ -151,13 +151,11 @@
<select name="single_param.[% ppaths.join('.') %].name"
id="param.[% ppaths.join('.') %]">
[% FOREACH scenario = pitem.format ~%]
[% UNLESS scenario.value.name == 'default' ~%]
<option value="[% scenario.value.name %]"
[%~ IF scenario.value.name == val.name %] selected="selected"[% END %]>
[%~ scenario.value.title %]
[%~ IF is_listmaster %] ([% scenario.value.name %])[% END ~%]
</option>
[%~ END %]
<option value="[% scenario.value.name %]"
[%~ IF scenario.value.name == val.name %] selected="selected"[% END %]>
[%~ scenario.value.title %]
[%~ IF is_listmaster %] ([% scenario.value.name %])[% END ~%]
</option>
[% END %]
</select>
[%~ ELSE ~%]
......
<!-- confirm_action.tt2 -->
[%#
# Set h2 title and text of confirmation page
#%]
[% IF confirm_action == 'add' ~%]
[% IF previous_action == 'show_exclude' ~%]
<h2><i class="fa fa-check-circle"></i>
......@@ -52,7 +55,19 @@
[%~ END %]
</h2>
<p><strong>
[% IF heldaction == 'add' && request.email ~%]
[%IF request.gecos ~%]
[% SET target="${request.gecos} &lt;${request.email}&gt;" %]
[%~ELSE~%]
[% SET target="&lt;${request.email}&gt;" %]
[%~END~%]
[%|loc(target)%]Do you really want to add %1?[%END%]
[%~ ELSIF heldaction == 'del' && request.email ~%]
[% SET target = "&lt;${request.email}&gt;" ~%]
[%|loc(target)%]Do you really want to delete %1?[%END%]
[%~ ELSE ~%]
[%|loc%]Do you really want this action to be taken?[%END%]
[%~ END %]
</strong></p>
[%~ ELSIF confirm_action == 'auto_signoff' ~%]
<h2><i class="fa fa-check-circle"></i>
......@@ -79,6 +94,15 @@
<p><strong>
[%|loc%]Do you really want to unsubscribe ALL selected subscribers?[%END%]
</strong></p>
[%~ ELSIF confirm_action == 'delete_account' ~%]
<h2><i class="fa fa-check-circle"></i>
[%|loc%]Delete my account[%END%]
</h2>
<p><strong>
[%|loc%]Do you really want to unsubscribe you from all your lists, remove your ownership of your lists and permanently delete your account?[%END%]
<br />
[%|loc%]Please note that you will not be able to delete your account if you are the only owner of one or more list.[%END%]
</strong></p>
[%~ ELSIF confirm_action == 'auth_add' ~%]
<h2><i class="fa fa-check-circle"></i>
[%|loc%]Add subscribers[%END%]
......@@ -226,16 +250,23 @@
</strong></p>
[%~ END %]
[%#
# Create the form.
# Add hidden fields containing the values of the form you want to confirm
# %]
<form action="[% path_cgi %]" method="POST">
[% IF confirm_action == 'add' ~%]
[% FOREACH e = email ~%]
<input type="hidden" name="email" value="[% e %]" />
[%~ END %]
<div>
<input type="checkbox" id="quiet" type="checkbox" name="quiet" value="1"
[% IF quiet %]checked="checked"[%END%] />
<label for="quiet">[%|loc%]Quiet (don't send welcome email)[%END%]</label>
</div>
[% IF conf.quiet_subscription == 'optional' %]
<div>
<input type="checkbox" id="quiet" type="checkbox" name="quiet" value="1"
[% IF quiet %]checked="checked"[%END%] />
<label for="quiet">[%|loc%]Quiet (don't send welcome email)[%END%]</label>
</div>
[%~ END %]
[%~ ELSIF confirm_action == 'add_frommod' ~%]
[% FOREACH i = id ~%]
<input type="hidden" name="id" value="[% i %]" />
......@@ -289,6 +320,11 @@
[% IF quiet %]checked="checked"[%END%] />
<label for="quiet">[%|loc%]Quiet (don't send deletion email)[%END%]</label>
</div>
[%~ ELSIF confirm_action == 'delete_account' ~%]
<fieldset>
<input type="hidden" name="passwd" value="x"/>
<input type="hidden" name="i_understand_the_consequences" value="1"/>
</fieldset>
[%~ ELSIF confirm_action == 'distribute' ~%]
[% FOREACH i = id ~%]
<input type="hidden" name="id" value="[% i %]" />
......@@ -352,9 +388,17 @@
value="[% i.value.value.replace('\n', '&#10;') %]" />
[%~ END %]
[%~ END %]
[%#
# Confirmation common hidden fields
#%]
<input type="hidden" name="action" value="[% confirm_action %]" />
<input type="hidden" name="list" value="[% list %]" />
<input type="hidden" name="previous_action" value="[% previous_action %]" />
[%#
# Submit and cancel buttons
#%]
[% IF confirm_action == 'arc' || confirm_action == 'arcsearch_id' ~%]
<div>
<input class="MainMenuLinks" type="submit"
......
......@@ -10,9 +10,11 @@
</textarea>
</div>
<div>
<input id="quiet" type="checkbox" name="quiet" value="quiet"
[% IF quiet %] checked="checked"[%END%] />
<label for="quiet">[%|loc%]quiet[%END%]</label>
[% IF conf.quiet_subscription == 'optional' %]
<input id="quiet" type="checkbox" name="quiet" value="quiet"
[% IF quiet %] checked="checked"[%END%] />
<label for="quiet">[%|loc%]quiet[%END%]</label>
[% END ~%]
<input class="MainMenuLinks" type="submit" name="action_import"
value="[%|loc%]Add subscribers[%END%]" />
</div>
......
......@@ -70,6 +70,24 @@
</form>
[% END %]
[% IF session.auth == 'classic' AND conf.allow_account_deletion %]
<h4>[%|loc%]Deleting your account[%END%]</h4>
<p>
[%|loc%]Deleting your account will unsubscribe you from all your lists, remove your ownership of your lists and permanently delete your account.[%END%]
<br />
[%|loc%]Please note that you will not be able to delete your account if you are the only owner of one or more list.[%END%]
</p>
<form action="[% path_cgi %]" method="post">
<fieldset>
<label for="password_for_account_deletion">[%|loc%]Enter your password:[%END%]</label>
<input type="password" name="passwd" id="password_for_account_deletion" size="25" />
<input type="checkbox" name="i_understand_the_consequences" id="i_understand_the_consequences" required><label for="i_understand_the_consequences">[%|loc%]I understand that I will be unsubscribed from all my lists and that my account will be permanently deleted.[%END%]</label>
<br />
<input class="MainMenuLinks" type="submit" name="action_delete_account" value="[%|loc%]Submit[%END%]" />
</fieldset>
</form>
[% END %]
</div>
<!-- end pref.tt2 -->
......@@ -68,12 +68,14 @@
<label for="email_search">[%|loc%]Email address:[%END%]</label>
<input id="email_search" type="text" name="email" size="35" />
</div>
<div>
<input id="quietly" type="checkbox" name="quiet" />
<label for="quietly">
[%|loc%]Quiet (don't send welcome email)[%END%]
</label>
</div>
[% IF conf.quiet_subscription == 'optional' %]
<div>
<input id="quietly" type="checkbox" name="quiet" />
<label for="quietly">
[%|loc%]Quiet (don't send welcome email)[%END%]
</label>
</div>
[% END ~%]
<div>
<input class="MainMenuLinks" type="submit" name="action_add"
value="[%|loc%]Add[%END%]" />
......
......@@ -6,8 +6,8 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017 The Sympa Community. See the AUTHORS.md file at the top-level
# directory of this distribution and at
# Copyright 2017, 2019 The Sympa Community. See the AUTHORS.md file at
# the top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -77,11 +77,12 @@ CLEANFILES = $(man1_MANS) $(man5_MANS)
.pod.1:
$(AM_V_GEN)$(POD2MAN) --section=1 --center="sympa $(VERSION)" \
--lax --release="$(VERSION)" $*.pod $@
--lax --release="$(VERSION)" $< $@
.pod.5:
$(AM_V_GEN)$(POD2MAN) --section=5 --center="sympa $(VERSION)" \
--lax --release="$(VERSION)" $*.pod $@
--lax --release="$(VERSION)" $< $@
.podpl.pod:
$(AM_V_GEN)PERL5LIB=$(top_srcdir)/src/lib; export PERL5LIB; \
$(PERL) $(srcdir)/$< > $*.pod
$(AM_V_GEN)PERL5LIB=$(top_builddir)/src/lib:$(top_srcdir)/src/lib; \
export PERL5LIB; \
$(PERL) $< --top_srcdir=$(top_srcdir) > $*.pod
......@@ -175,15 +175,12 @@ example, the canonic email is C<mail>.
=item C<alternative_email_attribute>
The name of the attribute for the alternate email in your directory: for
instance C<alternate_email>, C<mailalternateaddress>, ... You make a list of
these attributes separated by commas (C<,>).
With this list, Sympa creates a cookie which contains various information:
Whether the user is authenticated via LDAP or not, their alternate email.
Storing the alternate email is interesting when you want to canonify your
preferences and subscriptions, that is to say you want to use a unique
address in C<user_table> and C<subscriber_table>, which is the canonic email.
I<Obsoleted>.
On Sympa 6.2.38 or earlier, web interface provided a cookie named
C<sympa_altemails> which contained attribute values specified by this
parameter along with authenticated email address.
This feature was deprecated.
=item C<scope>
......
......@@ -4,11 +4,16 @@ use strict;
use warnings;
use Cwd qw();
use English qw(-no_match_vars);
use Getopt::Long;
use Sympa::ConfDef;
use Sympa::ListDef;
use Sympa::ListOpt;
my $top_srcdir;
GetOptions('top_srcdir=s' => \$top_srcdir);
$top_srcdir ||= '..';
my @groups = (
[description => 'List definition'],
[sending => 'Sending/receiving setup'],
......@@ -184,7 +189,7 @@ sub _format {
} elsif (exists $pinfo->{scenario}) {
my $function = $pinfo->{scenario};
my $cwd = Cwd::getcwd();
chdir '../default/scenari/' or die $ERRNO;
chdir $top_srcdir . '/default/scenari/' or die $ERRNO;
$parameters .= sprintf "Name of C<%s> scenario:\n\n",
$pinfo->{scenario};
......
......@@ -20885,3 +20885,20 @@ msgstr "Font desconeguda."
#~ msgstr ""
#~ "Algú, probablement vostè, ha demanat subscriure's a la llista %1@%2. "
#~ "(Aquesta petició ve del host %3)."
msgid "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "Un usuari ha preguntat per a donar-se d'alta a la teva llista. Si la petició és correcte \ncal que seleccioni el següent enllaç : "
#, fuzzy
msgid "A user %1 asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "Un usuari ha preguntat per a donar-se d'alta a la teva llista. Si la petició és correcte \ncal que seleccioni el següent enllaç : "
msgid "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr " \nUna persona ha demanat donar-se de baixa de la vostra llista. Si és correcte visiteu el següent enllaç:"
#, fuzzy
msgid "A user %1 asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr " \nUna persona ha demanat donar-se de baixa de la vostra llista. Si és correcte visiteu el següent enllaç:"
msgid "Dear owner of list %1,"
msgstr "Estimat/da administrador de la llista %1,"
......@@ -20437,3 +20437,20 @@ msgstr "Unbekannter Anbieter."
#~ msgstr ""
#~ "Irgendjemand, wahrscheinlich Sie, hat beantragt, die Liste %1@%2 zu "
#~ "abonnieren. (Diese Anfrage kam von Rechner %3)."
msgid "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "ein Nutzer hat darum gebeten, als Abonnent zu der Liste hinzugefügt zu werden. Wenn dies in Ordnung ist, sollten Sie den folgenden Link anklicken:"
#, fuzzy
msgid "A user %1 asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "ein Nutzer hat darum gebeten, als Abonnent zu der Liste hinzugefügt zu werden. Wenn dies in Ordnung ist, sollten Sie den folgenden Link anklicken:"
msgid "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "ein Abonnent hat darum gebeten, von der Liste abgemeldet zu werden. Wenn dies in Ordnung ist, sollten Sie den folgenden Link anklicken:"
#, fuzzy
msgid "A user %1 asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "ein Abonnent hat darum gebeten, von der Liste abgemeldet zu werden. Wenn dies in Ordnung ist, sollten Sie den folgenden Link anklicken:"
msgid "Dear owner of list %1,"
msgstr "Sehr geehrter Eigentümer der Liste %1,"
......@@ -20566,3 +20566,20 @@ msgstr "Άγνωστος παροχέας."
#~ msgstr ""
#~ "Κάποιος, πιθανότατα εσείς, ζήτησε την εγγραφή του στη λίστα %1@%2. (Το "
#~ "αίτημα ήρθε από τον κόμβο %3)."
msgid "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "Ένας χρήστης επιθυμεί τη διαγραφή του από τη λίστας σας. Αν επιθυμείτε την \nπραγματοποίηση της διαγραφή, επιλέξτε το ακόλουθο URL :\n\nmailto:%s?subject=auth%%20%s%%20DEL%%20%s%%20%s\n\nή αποστείλτε ένα μήνυμα στη %s με το ακόλουθο θέμα:\nAUTH %s DEL %s %s\n"
#, fuzzy
msgid "A user %1 asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "Ένας χρήστης επιθυμεί τη διαγραφή του από τη λίστας σας. Αν επιθυμείτε την \nπραγματοποίηση της διαγραφή, επιλέξτε το ακόλουθο URL :\n\nmailto:%s?subject=auth%%20%s%%20DEL%%20%s%%20%s\n\nή αποστείλτε ένα μήνυμα στη %s με το ακόλουθο θέμα:\nAUTH %s DEL %s %s\n"
msgid "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "Ένας χρήστης ζήτησε τη διαγραφή του από τη λίστα.\nΕάν αυτό είναι αποδεκτό από εσάς, πατήστε στον παρακάτω σύνδεσμο:"
#, fuzzy
msgid "A user %1 asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "Ένας χρήστης ζήτησε τη διαγραφή του από τη λίστα.\nΕάν αυτό είναι αποδεκτό από εσάς, πατήστε στον παρακάτω σύνδεσμο:"
msgid "Dear owner of list %1,"
msgstr "Αγαπητέ ιδιοκτήτη της λίστας %1,"
......@@ -19814,3 +19814,20 @@ msgstr "Unknown error."
#~ msgstr ""
#~ "Someone, probably you, requested to subscribe to list %1@%2. (This "
#~ "request came from host %3)."
msgid "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
#, fuzzy
msgid "A user %1 asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgid "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
#, fuzzy
msgid "A user %1 asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgid "Dear owner of list %1,"
msgstr "Dear owner of list %1,"
......@@ -20555,3 +20555,20 @@ msgstr "Proveedor desconocido."
#~ msgstr ""
#~ "Alguien - tú, muy probablemente - solicitó tu suscripción a la lista %1@%"
#~ "2. (Esta solicitud proviene de la máquina %3)."
msgid "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "Un usuario solicitó ser añadido como suscriptor de tu lista. Si estás de acuerdo deberías pulsar en la siguiente URL:"
#, fuzzy
msgid "A user %1 asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "Un usuario solicitó ser añadido como suscriptor de tu lista. Si estás de acuerdo deberías pulsar en la siguiente URL:"
msgid "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "Un usuario solicitó ser eliminado como suscriptor de tu lista. Si estás de acuerdo deberías pulsar en la siguiente URL:"
#, fuzzy
msgid "A user %1 asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "Un usuario solicitó ser eliminado como suscriptor de tu lista. Si estás de acuerdo deberías pulsar en la siguiente URL:"
msgid "Dear owner of list %1,"
msgstr "Estimado propietario de la lista %1,"
......@@ -20052,3 +20052,20 @@ msgstr "Tundmatu teenusepakkuja."
#~ msgstr ""
#~ "Keegi, tõenäoliselt te ise, soovis tellida listi %1@%2. (Sooviavaldus "
#~ "tuli arvutist %3)."
msgid "A user asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "1 kasutaja soovis liituda teie listiga. Kui te nõustute sellega, klikkige \njärgnevale URLile:"
#, fuzzy
msgid "A user %1 asked to be added as a subscriber to your list. If this is OK with you, you should click the following URL:"
msgstr "1 kasutaja soovis liituda teie listiga. Kui te nõustute sellega, klikkige \njärgnevale URLile:"
msgid "A user asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "Teie listist paluti kustutada üks kasutaja. Kui te nõustute\nselle sooviga, klikkige järgnevale lingile:"
#, fuzzy
msgid "A user %1 asked to be deleted from your list. If this is OK with you, you should click the following URL:"
msgstr "Teie listist paluti kustutada üks kasutaja. Kui te nõustute\nselle sooviga, klikkige järgnevale lingile:"