tested django-newsletter
This commit is contained in:
@@ -0,0 +1,351 @@
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
import io
|
||||
|
||||
from django import forms
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.core.validators import validate_email
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from newsletter.models import Subscription
|
||||
|
||||
|
||||
class AddressList(object):
|
||||
""" List with unique addresses. """
|
||||
|
||||
def __init__(self, newsletter, ignore_errors=False):
|
||||
self.newsletter = newsletter
|
||||
self.ignore_errors = ignore_errors
|
||||
self.addresses = {}
|
||||
|
||||
def add(self, email, name=None, location='unknown location'):
|
||||
""" Add name to list. """
|
||||
|
||||
logger.debug("Going to add %s <%s>", name, email)
|
||||
|
||||
name = check_name(name, self.ignore_errors)
|
||||
email = check_email(email, self.ignore_errors)
|
||||
|
||||
try:
|
||||
validate_email(email)
|
||||
except ValidationError:
|
||||
logger.warning(
|
||||
"Entry '%s' does not contain a valid e-mail address at %s."
|
||||
% (email, location)
|
||||
)
|
||||
|
||||
if not self.ignore_errors:
|
||||
raise forms.ValidationError(_(
|
||||
"Entry '%s' does not contain a valid "
|
||||
"e-mail address.") % name
|
||||
)
|
||||
|
||||
# Skip this entry
|
||||
return
|
||||
|
||||
if email in self.addresses:
|
||||
logger.warning(
|
||||
"Entry '%s' contains a duplicate entry at %s."
|
||||
% (email, location)
|
||||
)
|
||||
|
||||
if not self.ignore_errors:
|
||||
raise forms.ValidationError(_(
|
||||
"The address file contains duplicate entries "
|
||||
"for '%s'.") % email)
|
||||
|
||||
# Skip this entry
|
||||
return
|
||||
|
||||
if subscription_exists(self.newsletter, email, name):
|
||||
logger.warning(
|
||||
"Entry '%s' is already subscribed to at %s."
|
||||
% (email, location)
|
||||
)
|
||||
|
||||
if not self.ignore_errors:
|
||||
raise forms.ValidationError(
|
||||
_("Some entries are already subscribed to."))
|
||||
|
||||
# Skip this entry
|
||||
return
|
||||
|
||||
self.addresses[email] = name
|
||||
|
||||
|
||||
def subscription_exists(newsletter, email, name=None):
|
||||
"""
|
||||
Return wheter or not a subscription exists.
|
||||
"""
|
||||
qs = Subscription.objects.filter(
|
||||
newsletter__id=newsletter.id,
|
||||
subscribed=True,
|
||||
email_field__exact=email)
|
||||
|
||||
return qs.exists()
|
||||
|
||||
|
||||
def check_email(email, ignore_errors=False):
|
||||
"""
|
||||
Check (length of) email address.
|
||||
|
||||
TODO: Update this to perform full validation on email.
|
||||
"""
|
||||
|
||||
logger.debug("Checking e-mail address %s", email)
|
||||
|
||||
email_length = Subscription._meta.get_field('email_field').max_length
|
||||
|
||||
# Get rid of leading/trailing spaces
|
||||
email = email.strip()
|
||||
|
||||
if len(email) <= email_length or ignore_errors:
|
||||
return email[:email_length]
|
||||
else:
|
||||
raise forms.ValidationError(
|
||||
_(
|
||||
"E-mail address %(email)s too long, maximum length is "
|
||||
"%(email_length)s characters."
|
||||
) % {
|
||||
"email": email,
|
||||
"email_length": email_length
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def check_name(name, ignore_errors=False):
|
||||
"""
|
||||
Check (length of) name.
|
||||
|
||||
TODO: Update this to perform full validation on name.
|
||||
"""
|
||||
logger.debug("Checking name: %s", name)
|
||||
|
||||
name_length = Subscription._meta.get_field('name_field').max_length
|
||||
|
||||
# Get rid of leading/trailing spaces
|
||||
name = name.strip()
|
||||
|
||||
if len(name) <= name_length or ignore_errors:
|
||||
return name[:name_length]
|
||||
else:
|
||||
raise forms.ValidationError(
|
||||
_(
|
||||
"Name %(name)s too long, maximum length is "
|
||||
"%(name_length)s characters."
|
||||
) % {
|
||||
"name": name,
|
||||
"name_length": name_length
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def get_encoding(myfile):
|
||||
""" Returns encoding of file, rewinding the file after detection. """
|
||||
|
||||
# Detect encoding
|
||||
from chardet.universaldetector import UniversalDetector
|
||||
|
||||
detector = UniversalDetector()
|
||||
|
||||
for line in myfile.readlines():
|
||||
detector.feed(line)
|
||||
if detector.done:
|
||||
break
|
||||
|
||||
detector.close()
|
||||
encoding = detector.result['encoding']
|
||||
|
||||
# Reset the file index
|
||||
myfile.seek(0)
|
||||
|
||||
return encoding
|
||||
|
||||
|
||||
def parse_csv(myfile, newsletter, ignore_errors=False):
|
||||
"""
|
||||
Parse addresses from CSV file-object into newsletter.
|
||||
|
||||
Returns a dictionary mapping email addresses into Subscription objects.
|
||||
"""
|
||||
|
||||
import unicodecsv
|
||||
|
||||
encoding = get_encoding(myfile)
|
||||
|
||||
# Attempt to detect the dialect
|
||||
# Ref: https://bugs.python.org/issue5332
|
||||
encodedfile = io.TextIOWrapper(myfile, encoding=encoding, newline='')
|
||||
dialect = unicodecsv.Sniffer().sniff(encodedfile.read(1024))
|
||||
|
||||
# Reset the file index
|
||||
myfile.seek(0)
|
||||
|
||||
logger.info('Detected encoding %s and dialect %s for CSV file',
|
||||
encoding, dialect)
|
||||
|
||||
myreader = unicodecsv.reader(myfile, dialect=dialect, encoding=encoding)
|
||||
|
||||
firstrow = next(myreader)
|
||||
|
||||
# Find name column
|
||||
colnum = 0
|
||||
namecol = None
|
||||
for column in firstrow:
|
||||
if "name" in column.lower() or _("name") in column.lower():
|
||||
namecol = colnum
|
||||
|
||||
if "display" in column.lower() or \
|
||||
_("display") in column.lower():
|
||||
break
|
||||
|
||||
colnum += 1
|
||||
|
||||
if namecol is None:
|
||||
raise forms.ValidationError(_(
|
||||
"Name column not found. The name of this column should be "
|
||||
"either 'name' or '%s'.") % _("name")
|
||||
)
|
||||
|
||||
logger.debug("Name column found: '%s'", firstrow[namecol])
|
||||
|
||||
# Find email column
|
||||
colnum = 0
|
||||
mailcol = None
|
||||
for column in firstrow:
|
||||
if 'email' in column.lower() or \
|
||||
'e-mail' in column.lower() or \
|
||||
_("e-mail") in column.lower():
|
||||
|
||||
mailcol = colnum
|
||||
|
||||
break
|
||||
|
||||
colnum += 1
|
||||
|
||||
if mailcol is None:
|
||||
raise forms.ValidationError(_(
|
||||
"E-mail column not found. The name of this column should be "
|
||||
"either 'email', 'e-mail' or '%(email)s'.") %
|
||||
{'email': _("e-mail")}
|
||||
)
|
||||
|
||||
logger.debug("E-mail column found: '%s'", firstrow[mailcol])
|
||||
|
||||
if namecol == mailcol:
|
||||
raise forms.ValidationError(
|
||||
_(
|
||||
"Could not properly determine the proper columns in the "
|
||||
"CSV-file. There should be a field called 'name' or "
|
||||
"'%(name)s' and one called 'e-mail' or '%(e-mail)s'."
|
||||
) % {
|
||||
"name": _("name"),
|
||||
"e-mail": _("e-mail")
|
||||
}
|
||||
)
|
||||
|
||||
logger.debug('Extracting data.')
|
||||
|
||||
address_list = AddressList(newsletter, ignore_errors)
|
||||
|
||||
for row in myreader:
|
||||
if not max(namecol, mailcol) < len(row):
|
||||
logger.warning(
|
||||
"Column count does not match for row number %d",
|
||||
myreader.line_num, extra=dict(data={'row': row})
|
||||
)
|
||||
|
||||
if ignore_errors:
|
||||
# Skip this record
|
||||
continue
|
||||
else:
|
||||
raise forms.ValidationError(_(
|
||||
"Row with content '%(row)s' does not contain a name and "
|
||||
"email field.") % {'row': row}
|
||||
)
|
||||
|
||||
address_list.add(
|
||||
row[mailcol], row[namecol], location="line %d" % myreader.line_num
|
||||
)
|
||||
|
||||
return address_list.addresses
|
||||
|
||||
|
||||
def parse_vcard(myfile, newsletter, ignore_errors=False):
|
||||
"""
|
||||
Parse addresses from vCard file-object into newsletter.
|
||||
|
||||
Returns a dictionary mapping email addresses into Subscription objects.
|
||||
"""
|
||||
import card_me
|
||||
|
||||
encoding = get_encoding(myfile)
|
||||
encodedfile = io.TextIOWrapper(myfile, encoding=encoding)
|
||||
|
||||
try:
|
||||
myvcards = card_me.readComponents(encodedfile)
|
||||
except card_me.VObjectError as e:
|
||||
raise forms.ValidationError(
|
||||
_(u"Error reading vCard file: %s" % e)
|
||||
)
|
||||
|
||||
address_list = AddressList(newsletter, ignore_errors)
|
||||
|
||||
for myvcard in myvcards:
|
||||
if hasattr(myvcard, 'fn'):
|
||||
name = myvcard.fn.value
|
||||
else:
|
||||
|
||||
|
||||
name = None
|
||||
|
||||
# Do we have an email address?
|
||||
# If not: either continue to the next vcard or raise validation error.
|
||||
if hasattr(myvcard, 'email'):
|
||||
email = myvcard.email.value
|
||||
elif not ignore_errors:
|
||||
raise forms.ValidationError(
|
||||
_("Entry '%s' contains no email address.") % name)
|
||||
else:
|
||||
continue
|
||||
|
||||
address_list.add(email, name)
|
||||
|
||||
return address_list.addresses
|
||||
|
||||
|
||||
def parse_ldif(myfile, newsletter, ignore_errors=False):
|
||||
"""
|
||||
Parse addresses from LDIF file-object into newsletter.
|
||||
|
||||
Returns a dictionary mapping email addresses into Subscription objects.
|
||||
"""
|
||||
|
||||
from ldif3 import LDIFParser
|
||||
|
||||
address_list = AddressList(newsletter, ignore_errors)
|
||||
|
||||
try:
|
||||
parser = LDIFParser(myfile)
|
||||
|
||||
for dn, entry in parser.parse():
|
||||
if 'mail' in entry:
|
||||
email = entry['mail'][0]
|
||||
|
||||
if 'cn' in entry:
|
||||
name = entry['cn'][0]
|
||||
else:
|
||||
name = None
|
||||
|
||||
address_list.add(email, name)
|
||||
|
||||
elif not ignore_errors:
|
||||
raise forms.ValidationError(
|
||||
_("Some entries have no e-mail address."))
|
||||
|
||||
except ValueError as e:
|
||||
if not ignore_errors:
|
||||
raise forms.ValidationError(e)
|
||||
|
||||
return address_list.addresses
|
||||
@@ -0,0 +1,533 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
import six
|
||||
|
||||
from django.db import models
|
||||
|
||||
from django.conf import settings
|
||||
from django.conf.urls import url
|
||||
|
||||
from django.contrib import admin, messages
|
||||
from django.contrib.sites.models import Site
|
||||
|
||||
from django.core import serializers
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
||||
|
||||
from django.shortcuts import render
|
||||
|
||||
from django.utils.html import format_html
|
||||
from django.utils.translation import ugettext as _, ungettext
|
||||
from django.utils.formats import date_format
|
||||
|
||||
from django.views.decorators.clickjacking import xframe_options_sameorigin
|
||||
try:
|
||||
from django.views.i18n import JavaScriptCatalog
|
||||
HAS_CBV_JSCAT = True
|
||||
except ImportError: # Django < 1.10
|
||||
from django.views.i18n import javascript_catalog
|
||||
HAS_CBV_JSCAT = False
|
||||
|
||||
from sorl.thumbnail.admin import AdminImageMixin
|
||||
|
||||
from .models import (
|
||||
Newsletter, Subscription, Article, Message, Submission
|
||||
)
|
||||
|
||||
from django.utils.timezone import now
|
||||
|
||||
from .admin_forms import (
|
||||
SubmissionAdminForm, SubscriptionAdminForm, ImportForm, ConfirmForm,
|
||||
ArticleFormSet
|
||||
)
|
||||
from .admin_utils import ExtendibleModelAdminMixin, make_subscription
|
||||
|
||||
from .compat import get_context, reverse
|
||||
|
||||
from .settings import newsletter_settings
|
||||
|
||||
# Contsruct URL's for icons
|
||||
ICON_URLS = {
|
||||
'yes': '%snewsletter/admin/img/icon-yes.gif' % settings.STATIC_URL,
|
||||
'wait': '%snewsletter/admin/img/waiting.gif' % settings.STATIC_URL,
|
||||
'submit': '%snewsletter/admin/img/submitting.gif' % settings.STATIC_URL,
|
||||
'no': '%snewsletter/admin/img/icon-no.gif' % settings.STATIC_URL
|
||||
}
|
||||
|
||||
|
||||
class NewsletterAdmin(admin.ModelAdmin):
|
||||
list_display = (
|
||||
'title', 'admin_subscriptions', 'admin_messages', 'admin_submissions'
|
||||
)
|
||||
prepopulated_fields = {'slug': ('title',)}
|
||||
|
||||
""" List extensions """
|
||||
def _admin_url(self, obj, model, text):
|
||||
url = reverse('admin:%s_%s_changelist' %
|
||||
(model._meta.app_label, model._meta.model_name),
|
||||
current_app=self.admin_site.name)
|
||||
|
||||
return format_html(
|
||||
'<a href="{}?newsletter__id={}">{}</a>', url, obj.id, text
|
||||
)
|
||||
|
||||
def admin_messages(self, obj):
|
||||
return self._admin_url(obj, Message, _("Messages"))
|
||||
admin_messages.short_description = ''
|
||||
|
||||
def admin_subscriptions(self, obj):
|
||||
return self._admin_url(obj, Subscription, _("Subscriptions"))
|
||||
admin_subscriptions.short_description = ''
|
||||
|
||||
def admin_submissions(self, obj):
|
||||
return self._admin_url(obj, Submission, _("Submissions"))
|
||||
admin_submissions.short_description = ''
|
||||
|
||||
|
||||
class NewsletterAdminLinkMixin(object):
|
||||
def admin_newsletter(self, obj):
|
||||
opts = Newsletter._meta
|
||||
newsletter = obj.newsletter
|
||||
url = reverse('admin:%s_%s_change' % (opts.app_label, opts.model_name),
|
||||
args=(newsletter.id,), current_app=self.admin_site.name)
|
||||
|
||||
return format_html('<a href="{}">{}</a>', url, newsletter)
|
||||
admin_newsletter.short_description = _('newsletter')
|
||||
|
||||
|
||||
class SubmissionAdmin(NewsletterAdminLinkMixin, ExtendibleModelAdminMixin,
|
||||
admin.ModelAdmin):
|
||||
form = SubmissionAdminForm
|
||||
list_display = (
|
||||
'admin_message', 'admin_newsletter', 'admin_publish_date', 'publish',
|
||||
'admin_status_text', 'admin_status'
|
||||
)
|
||||
date_hierarchy = 'publish_date'
|
||||
list_filter = ('newsletter', 'publish', 'sent')
|
||||
save_as = True
|
||||
filter_horizontal = ('subscriptions',)
|
||||
|
||||
""" List extensions """
|
||||
def admin_message(self, obj):
|
||||
return format_html('<a href="{}/">{}</a>', obj.id, obj.message.title)
|
||||
admin_message.short_description = _('submission')
|
||||
|
||||
def admin_publish_date(self, obj):
|
||||
if obj.publish_date:
|
||||
return date_format(obj.publish_date, 'DATETIME_FORMAT')
|
||||
else:
|
||||
return ''
|
||||
admin_publish_date.short_description = _("publish date")
|
||||
|
||||
def admin_status(self, obj):
|
||||
if obj.prepared:
|
||||
if obj.sent:
|
||||
return format_html(
|
||||
'<img src="{}" width="10" height="10" alt="{}"/>',
|
||||
ICON_URLS['yes'], self.admin_status_text(obj)
|
||||
)
|
||||
else:
|
||||
if obj.publish_date > now():
|
||||
return format_html(
|
||||
'<img src="{}" width="10" height="10" alt="{}"/>',
|
||||
ICON_URLS['wait'], self.admin_status_text(obj)
|
||||
)
|
||||
else:
|
||||
return format_html(
|
||||
'<img src="{}" width="12" height="12" alt="{}"/>',
|
||||
ICON_URLS['wait'], self.admin_status_text(obj)
|
||||
)
|
||||
else:
|
||||
return format_html(
|
||||
'<img src="{}" width="10" height="10" alt="{}"/>',
|
||||
ICON_URLS['no'], self.admin_status_text(obj)
|
||||
)
|
||||
admin_status.short_description = ''
|
||||
|
||||
def admin_status_text(self, obj):
|
||||
if obj.prepared:
|
||||
if obj.sent:
|
||||
return _("Sent.")
|
||||
else:
|
||||
if obj.publish_date > now():
|
||||
return _("Delayed submission.")
|
||||
else:
|
||||
return _("Submitting.")
|
||||
else:
|
||||
return _("Not sent.")
|
||||
admin_status_text.short_description = _('Status')
|
||||
|
||||
""" Views """
|
||||
def submit(self, request, object_id):
|
||||
submission = self._getobj(request, object_id)
|
||||
|
||||
if submission.sent or submission.prepared:
|
||||
messages.info(request, _("Submission already sent."))
|
||||
change_url = reverse(
|
||||
'admin:newsletter_submission_change', args=[object_id]
|
||||
)
|
||||
return HttpResponseRedirect(change_url)
|
||||
|
||||
submission.prepared = True
|
||||
submission.save()
|
||||
|
||||
messages.info(request, _("Your submission is being sent."))
|
||||
|
||||
changelist_url = reverse('admin:newsletter_submission_changelist')
|
||||
return HttpResponseRedirect(changelist_url)
|
||||
|
||||
""" URLs """
|
||||
def get_urls(self):
|
||||
urls = super(SubmissionAdmin, self).get_urls()
|
||||
|
||||
my_urls = [
|
||||
url(
|
||||
r'^(.+)/submit/$',
|
||||
self._wrap(self.submit),
|
||||
name=self._view_name('submit')
|
||||
)
|
||||
]
|
||||
|
||||
return my_urls + urls
|
||||
|
||||
|
||||
StackedInline = admin.StackedInline
|
||||
if (
|
||||
newsletter_settings.RICHTEXT_WIDGET
|
||||
and newsletter_settings.RICHTEXT_WIDGET.__name__ == "ImperaviWidget"
|
||||
):
|
||||
# Imperavi works a little differently
|
||||
# It's not just a field, it's also a media class and a method.
|
||||
# To avoid complications, we reuse ImperaviStackedInlineAdmin
|
||||
try:
|
||||
from imperavi.admin import ImperaviStackedInlineAdmin
|
||||
StackedInline = ImperaviStackedInlineAdmin
|
||||
except ImportError:
|
||||
# Log a warning when import fails as to aid debugging.
|
||||
logger.warning(
|
||||
'Error importing ImperaviStackedInlineAdmin. '
|
||||
'Imperavi WYSIWYG text editor might not work.'
|
||||
)
|
||||
|
||||
|
||||
class ArticleInline(AdminImageMixin, StackedInline):
|
||||
model = Article
|
||||
extra = 2
|
||||
formset = ArticleFormSet
|
||||
fieldsets = (
|
||||
(None, {
|
||||
'fields': ('title', 'text')
|
||||
}),
|
||||
(_('Optional'), {
|
||||
'fields': ('sortorder', 'url', 'image'),
|
||||
'classes': ('collapse',)
|
||||
}),
|
||||
)
|
||||
|
||||
if newsletter_settings.RICHTEXT_WIDGET:
|
||||
formfield_overrides = {
|
||||
models.TextField: {'widget': newsletter_settings.RICHTEXT_WIDGET},
|
||||
}
|
||||
|
||||
|
||||
class MessageAdmin(NewsletterAdminLinkMixin, ExtendibleModelAdminMixin,
|
||||
admin.ModelAdmin):
|
||||
save_as = True
|
||||
list_display = (
|
||||
'admin_title', 'admin_newsletter', 'admin_preview', 'date_create',
|
||||
'date_modify'
|
||||
)
|
||||
list_filter = ('newsletter', )
|
||||
date_hierarchy = 'date_create'
|
||||
prepopulated_fields = {'slug': ('title',)}
|
||||
|
||||
inlines = [ArticleInline, ]
|
||||
|
||||
""" List extensions """
|
||||
def admin_title(self, obj):
|
||||
return format_html('<a href="{}/">{}</a>', obj.id, obj.title)
|
||||
admin_title.short_description = _('message')
|
||||
|
||||
def admin_preview(self, obj):
|
||||
url = reverse('admin:' + self._view_name('preview'), args=(obj.id,),
|
||||
current_app=self.admin_site.name)
|
||||
return format_html('<a href="{}">{}</a>', url, _("Preview"))
|
||||
admin_preview.short_description = ''
|
||||
|
||||
""" Views """
|
||||
def preview(self, request, object_id):
|
||||
return render(
|
||||
request,
|
||||
"admin/newsletter/message/preview.html",
|
||||
{'message': self._getobj(request, object_id)},
|
||||
)
|
||||
|
||||
@xframe_options_sameorigin
|
||||
def preview_html(self, request, object_id):
|
||||
message = self._getobj(request, object_id)
|
||||
|
||||
if not message.html_template:
|
||||
raise Http404(_(
|
||||
'No HTML template associated with the newsletter this '
|
||||
'message belongs to.'
|
||||
))
|
||||
|
||||
c = get_context({'message': message,
|
||||
'site': Site.objects.get_current(),
|
||||
'newsletter': message.newsletter,
|
||||
'date': now(),
|
||||
'STATIC_URL': settings.STATIC_URL,
|
||||
'MEDIA_URL': settings.MEDIA_URL})
|
||||
|
||||
return HttpResponse(message.html_template.render(c))
|
||||
|
||||
@xframe_options_sameorigin
|
||||
def preview_text(self, request, object_id):
|
||||
message = self._getobj(request, object_id)
|
||||
|
||||
c = get_context({
|
||||
'message': message,
|
||||
'site': Site.objects.get_current(),
|
||||
'newsletter': message.newsletter,
|
||||
'date': now(),
|
||||
'STATIC_URL': settings.STATIC_URL,
|
||||
'MEDIA_URL': settings.MEDIA_URL
|
||||
}, autoescape=False)
|
||||
|
||||
return HttpResponse(
|
||||
message.text_template.render(c),
|
||||
content_type='text/plain'
|
||||
)
|
||||
|
||||
def submit(self, request, object_id):
|
||||
submission = Submission.from_message(self._getobj(request, object_id))
|
||||
|
||||
change_url = reverse(
|
||||
'admin:newsletter_submission_change', args=[submission.id])
|
||||
|
||||
return HttpResponseRedirect(change_url)
|
||||
|
||||
def subscribers_json(self, request, object_id):
|
||||
message = self._getobj(request, object_id)
|
||||
|
||||
json = serializers.serialize(
|
||||
"json", message.newsletter.get_subscriptions(), fields=()
|
||||
)
|
||||
return HttpResponse(json, content_type='application/json')
|
||||
|
||||
""" URLs """
|
||||
def get_urls(self):
|
||||
urls = super(MessageAdmin, self).get_urls()
|
||||
|
||||
my_urls = [
|
||||
url(r'^(.+)/preview/$',
|
||||
self._wrap(self.preview),
|
||||
name=self._view_name('preview')),
|
||||
url(r'^(.+)/preview/html/$',
|
||||
self._wrap(self.preview_html),
|
||||
name=self._view_name('preview_html')),
|
||||
url(r'^(.+)/preview/text/$',
|
||||
self._wrap(self.preview_text),
|
||||
name=self._view_name('preview_text')),
|
||||
url(r'^(.+)/submit/$',
|
||||
self._wrap(self.submit),
|
||||
name=self._view_name('submit')),
|
||||
url(r'^(.+)/subscribers/json/$',
|
||||
self._wrap(self.subscribers_json),
|
||||
name=self._view_name('subscribers_json')),
|
||||
]
|
||||
|
||||
return my_urls + urls
|
||||
|
||||
|
||||
class SubscriptionAdmin(NewsletterAdminLinkMixin, ExtendibleModelAdminMixin,
|
||||
admin.ModelAdmin):
|
||||
form = SubscriptionAdminForm
|
||||
list_display = (
|
||||
'name', 'email', 'admin_newsletter', 'admin_subscribe_date',
|
||||
'admin_unsubscribe_date', 'admin_status_text', 'admin_status'
|
||||
)
|
||||
list_display_links = ('name', 'email')
|
||||
list_filter = (
|
||||
'newsletter', 'subscribed', 'unsubscribed', 'subscribe_date'
|
||||
)
|
||||
search_fields = (
|
||||
'name_field', 'email_field', 'user__first_name', 'user__last_name',
|
||||
'user__email'
|
||||
)
|
||||
readonly_fields = (
|
||||
'ip', 'subscribe_date', 'unsubscribe_date', 'activation_code'
|
||||
)
|
||||
date_hierarchy = 'subscribe_date'
|
||||
actions = ['make_subscribed', 'make_unsubscribed']
|
||||
exclude = ['unsubscribed']
|
||||
|
||||
""" List extensions """
|
||||
def admin_status(self, obj):
|
||||
img_tag = '<img src="{}" width="10" height="10" alt="{}"/>'
|
||||
alt_txt = self.admin_status_text(obj)
|
||||
if obj.unsubscribed:
|
||||
return format_html(img_tag, ICON_URLS['no'], alt_txt)
|
||||
|
||||
if obj.subscribed:
|
||||
return format_html(img_tag, ICON_URLS['yes'], alt_txt)
|
||||
else:
|
||||
return format_html(img_tag, ICON_URLS['wait'], alt_txt)
|
||||
admin_status.short_description = ''
|
||||
|
||||
def admin_status_text(self, obj):
|
||||
if obj.subscribed:
|
||||
return _("Subscribed")
|
||||
elif obj.unsubscribed:
|
||||
return _("Unsubscribed")
|
||||
else:
|
||||
return _("Unactivated")
|
||||
admin_status_text.short_description = _('Status')
|
||||
|
||||
def admin_subscribe_date(self, obj):
|
||||
if obj.subscribe_date:
|
||||
return date_format(obj.subscribe_date)
|
||||
else:
|
||||
return ''
|
||||
admin_subscribe_date.short_description = _("subscribe date")
|
||||
|
||||
def admin_unsubscribe_date(self, obj):
|
||||
if obj.unsubscribe_date:
|
||||
return date_format(obj.unsubscribe_date)
|
||||
else:
|
||||
return ''
|
||||
admin_unsubscribe_date.short_description = _("unsubscribe date")
|
||||
|
||||
""" Actions """
|
||||
def make_subscribed(self, request, queryset):
|
||||
rows_updated = queryset.update(subscribed=True)
|
||||
self.message_user(
|
||||
request,
|
||||
ungettext(
|
||||
"%d user has been successfully subscribed.",
|
||||
"%d users have been successfully subscribed.",
|
||||
rows_updated
|
||||
) % rows_updated
|
||||
)
|
||||
make_subscribed.short_description = _("Subscribe selected users")
|
||||
|
||||
def make_unsubscribed(self, request, queryset):
|
||||
rows_updated = queryset.update(subscribed=False)
|
||||
self.message_user(
|
||||
request,
|
||||
ungettext(
|
||||
"%d user has been successfully unsubscribed.",
|
||||
"%d users have been successfully unsubscribed.",
|
||||
rows_updated
|
||||
) % rows_updated
|
||||
)
|
||||
make_unsubscribed.short_description = _("Unsubscribe selected users")
|
||||
|
||||
""" Views """
|
||||
def subscribers_import(self, request):
|
||||
if not request.user.has_perm('newsletter.add_subscription'):
|
||||
raise PermissionDenied()
|
||||
if request.POST:
|
||||
form = ImportForm(request.POST, request.FILES)
|
||||
if form.is_valid():
|
||||
request.session['addresses'] = form.get_addresses()
|
||||
request.session['newsletter_pk'] = \
|
||||
form.cleaned_data['newsletter'].pk
|
||||
|
||||
confirm_url = reverse(
|
||||
'admin:newsletter_subscription_import_confirm'
|
||||
)
|
||||
return HttpResponseRedirect(confirm_url)
|
||||
else:
|
||||
form = ImportForm()
|
||||
|
||||
return render(
|
||||
request,
|
||||
"admin/newsletter/subscription/importform.html",
|
||||
{'form': form},
|
||||
)
|
||||
|
||||
def subscribers_import_confirm(self, request):
|
||||
# If no addresses are in the session, start all over.
|
||||
|
||||
if 'addresses' not in request.session:
|
||||
import_url = reverse('admin:newsletter_subscription_import')
|
||||
return HttpResponseRedirect(import_url)
|
||||
|
||||
addresses = request.session['addresses']
|
||||
newsletter = Newsletter.objects.get(
|
||||
pk=request.session['newsletter_pk']
|
||||
)
|
||||
|
||||
logger.debug('Confirming addresses: %s', addresses)
|
||||
|
||||
if request.POST:
|
||||
form = ConfirmForm(request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
for email, name in six.iteritems(addresses):
|
||||
address_inst = make_subscription(
|
||||
newsletter, email, name
|
||||
)
|
||||
address_inst.save()
|
||||
finally:
|
||||
del request.session['addresses']
|
||||
del request.session['newsletter_pk']
|
||||
|
||||
messages.success(
|
||||
request,
|
||||
ungettext(
|
||||
"%d subscription has been successfully added.",
|
||||
"%d subscriptions have been successfully added.",
|
||||
len(addresses)
|
||||
) % len(addresses)
|
||||
)
|
||||
|
||||
changelist_url = reverse(
|
||||
'admin:newsletter_subscription_changelist'
|
||||
)
|
||||
return HttpResponseRedirect(changelist_url)
|
||||
else:
|
||||
form = ConfirmForm()
|
||||
|
||||
return render(
|
||||
request,
|
||||
"admin/newsletter/subscription/confirmimportform.html",
|
||||
{'form': form, 'subscribers': addresses},
|
||||
)
|
||||
|
||||
""" URLs """
|
||||
def get_urls(self):
|
||||
urls = super(SubscriptionAdmin, self).get_urls()
|
||||
|
||||
my_urls = [
|
||||
url(r'^import/$',
|
||||
self._wrap(self.subscribers_import),
|
||||
name=self._view_name('import')),
|
||||
url(r'^import/confirm/$',
|
||||
self._wrap(self.subscribers_import_confirm),
|
||||
name=self._view_name('import_confirm')),
|
||||
]
|
||||
# Translated JS strings - these should be app-wide but are
|
||||
# only used in this part of the admin. For now, leave them here.
|
||||
if HAS_CBV_JSCAT:
|
||||
my_urls.append(url(r'^jsi18n/$',
|
||||
JavaScriptCatalog.as_view(packages=('newsletter',)),
|
||||
name='newsletter_js18n'))
|
||||
else:
|
||||
my_urls.append(url(r'^jsi18n/$',
|
||||
javascript_catalog,
|
||||
{'packages': ('newsletter',)},
|
||||
name='newsletter_js18n'))
|
||||
|
||||
return my_urls + urls
|
||||
|
||||
|
||||
admin.site.register(Newsletter, NewsletterAdmin)
|
||||
admin.site.register(Submission, SubmissionAdmin)
|
||||
admin.site.register(Message, MessageAdmin)
|
||||
admin.site.register(Subscription, SubscriptionAdmin)
|
||||
@@ -0,0 +1,180 @@
|
||||
import logging
|
||||
|
||||
from django import forms
|
||||
|
||||
from django.contrib.admin import widgets, options
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from .models import Subscription, Newsletter, Submission
|
||||
from .addressimport.parsers import parse_csv, parse_vcard, parse_ldif
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ImportForm(forms.Form):
|
||||
|
||||
def clean(self):
|
||||
# If there are validation errors earlier on, don't bother.
|
||||
if not ('address_file' in self.cleaned_data and
|
||||
'ignore_errors' in self.cleaned_data and
|
||||
'newsletter' in self.cleaned_data):
|
||||
return self.cleaned_data
|
||||
# TESTME: Should an error be raised here or not?
|
||||
# raise forms.ValidationError(_("No file has been specified."))
|
||||
|
||||
ignore_errors = self.cleaned_data['ignore_errors']
|
||||
newsletter = self.cleaned_data['newsletter']
|
||||
|
||||
myfield = self.base_fields['address_file']
|
||||
myvalue = myfield.widget.value_from_datadict(
|
||||
self.data, self.files, self.add_prefix('address_file'))
|
||||
|
||||
content_type = myvalue.content_type
|
||||
allowed_types = ('text/plain', 'application/octet-stream',
|
||||
'text/vcard', 'text/directory', 'text/x-vcard',
|
||||
'application/vnd.ms-excel',
|
||||
'text/comma-separated-values', 'text/csv',
|
||||
'application/csv', 'application/excel',
|
||||
'application/vnd.msexcel', 'text/anytext')
|
||||
if content_type not in allowed_types:
|
||||
raise forms.ValidationError(_(
|
||||
"File type '%s' was not recognized.") % content_type)
|
||||
|
||||
ext = myvalue.name.rsplit('.', 1)[-1].lower()
|
||||
if ext == 'vcf':
|
||||
self.addresses = parse_vcard(
|
||||
myvalue.file, newsletter, ignore_errors)
|
||||
|
||||
elif ext == 'ldif':
|
||||
self.addresses = parse_ldif(
|
||||
myvalue.file, newsletter, ignore_errors)
|
||||
|
||||
elif ext == 'csv':
|
||||
self.addresses = parse_csv(
|
||||
myvalue.file, newsletter, ignore_errors)
|
||||
|
||||
else:
|
||||
raise forms.ValidationError(
|
||||
_("File extension '%s' was not recognized.") % ext)
|
||||
|
||||
if len(self.addresses) == 0:
|
||||
raise forms.ValidationError(
|
||||
_("No entries could found in this file."))
|
||||
|
||||
return self.cleaned_data
|
||||
|
||||
def get_addresses(self):
|
||||
return getattr(self, 'addresses', {})
|
||||
|
||||
newsletter = forms.ModelChoiceField(
|
||||
label=_("Newsletter"),
|
||||
queryset=Newsletter.objects.all(),
|
||||
initial=Newsletter.get_default)
|
||||
address_file = forms.FileField(label=_("Address file"))
|
||||
ignore_errors = forms.BooleanField(
|
||||
label=_("Ignore non-fatal errors"),
|
||||
initial=False, required=False)
|
||||
|
||||
|
||||
class ConfirmForm(forms.Form):
|
||||
|
||||
def clean(self):
|
||||
value = self.cleaned_data['confirm']
|
||||
|
||||
if not value:
|
||||
raise forms.ValidationError(
|
||||
_("You should confirm in order to continue."))
|
||||
|
||||
confirm = forms.BooleanField(
|
||||
label=_("Confirm import"),
|
||||
initial=True, widget=forms.HiddenInput)
|
||||
|
||||
|
||||
class SubscriptionAdminForm(forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = Subscription
|
||||
fields = '__all__'
|
||||
widgets = {
|
||||
'subscribed': widgets.AdminRadioSelect(
|
||||
choices=[
|
||||
(True, _('Subscribed')),
|
||||
(False, _('Unsubscribed'))
|
||||
],
|
||||
attrs={
|
||||
'class': options.get_ul_class(options.HORIZONTAL)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SubscriptionAdminForm, self).__init__(*args, **kwargs)
|
||||
|
||||
self.fields['subscribed'].label = _('Status')
|
||||
|
||||
def clean_email_field(self):
|
||||
data = self.cleaned_data['email_field']
|
||||
if self.cleaned_data['user'] and data:
|
||||
raise forms.ValidationError(_(
|
||||
'If a user has been selected this field '
|
||||
'should remain empty.'))
|
||||
return data
|
||||
|
||||
def clean_name_field(self):
|
||||
data = self.cleaned_data['name_field']
|
||||
if self.cleaned_data['user'] and data:
|
||||
raise forms.ValidationError(_(
|
||||
'If a user has been selected '
|
||||
'this field should remain empty.'))
|
||||
return data
|
||||
|
||||
def clean(self):
|
||||
cleaned_data = super(SubscriptionAdminForm, self).clean()
|
||||
if not (cleaned_data.get('user', None) or
|
||||
cleaned_data.get('email_field', None)):
|
||||
|
||||
raise forms.ValidationError(_(
|
||||
'Either a user must be selected or an email address must '
|
||||
'be specified.')
|
||||
)
|
||||
return cleaned_data
|
||||
|
||||
|
||||
class SubmissionAdminForm(forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = Submission
|
||||
fields = '__all__'
|
||||
|
||||
def clean_publish(self):
|
||||
"""
|
||||
Make sure only one submission can be published for each message.
|
||||
"""
|
||||
publish = self.cleaned_data['publish']
|
||||
|
||||
if publish and not self.errors:
|
||||
message = self.cleaned_data['message']
|
||||
qs = Submission.objects.filter(publish=True, message=message)
|
||||
if self.instance:
|
||||
qs = qs.exclude(pk=self.instance.pk)
|
||||
if qs.exists():
|
||||
raise forms.ValidationError(_(
|
||||
'This message has already been published in some '
|
||||
'other submission. Messages can only be published once.')
|
||||
)
|
||||
|
||||
return publish
|
||||
|
||||
|
||||
class ArticleFormSet(forms.BaseInlineFormSet):
|
||||
""" Formset for articles yielding default sortoder. """
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ArticleFormSet, self).__init__(*args, **kwargs)
|
||||
|
||||
assert self.instance
|
||||
next_sortorder = self.instance.get_next_article_sortorder()
|
||||
for index, form in enumerate(self.extra_forms):
|
||||
form.initial['sortorder'] = next_sortorder + index * 10
|
||||
@@ -0,0 +1,55 @@
|
||||
from functools import update_wrapper
|
||||
|
||||
from django.contrib.admin.utils import unquote
|
||||
from django.http import Http404
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.translation import ugettext as _
|
||||
from .models import Subscription
|
||||
|
||||
|
||||
class ExtendibleModelAdminMixin(object):
|
||||
def _getobj(self, request, object_id):
|
||||
opts = self.model._meta
|
||||
|
||||
try:
|
||||
obj = self.get_queryset(request).get(pk=unquote(object_id))
|
||||
except self.model.DoesNotExist:
|
||||
# Don't raise Http404 just yet, because we haven't checked
|
||||
# permissions yet. We don't want an unauthenticated user to
|
||||
# be able to determine whether a given object exists.
|
||||
obj = None
|
||||
|
||||
if obj is None:
|
||||
raise Http404(
|
||||
_(
|
||||
'%(name)s object with primary key '
|
||||
'%(key)r does not exist.'
|
||||
) % {
|
||||
'name': force_text(opts.verbose_name),
|
||||
'key': force_text(object_id)
|
||||
}
|
||||
)
|
||||
|
||||
return obj
|
||||
|
||||
def _wrap(self, view):
|
||||
def wrapper(*args, **kwargs):
|
||||
return self.admin_site.admin_view(view)(*args, **kwargs)
|
||||
return update_wrapper(wrapper, view)
|
||||
|
||||
def _view_name(self, name):
|
||||
info = self.model._meta.app_label, self.model._meta.model_name, name
|
||||
|
||||
return '%s_%s_%s' % info
|
||||
|
||||
|
||||
def make_subscription(newsletter, email, name=None):
|
||||
addr = Subscription(subscribed=True)
|
||||
|
||||
addr.newsletter = newsletter
|
||||
addr.email_field = email
|
||||
|
||||
if name:
|
||||
addr.name_field = name
|
||||
|
||||
return addr
|
||||
@@ -0,0 +1,16 @@
|
||||
from django import get_version
|
||||
|
||||
try:
|
||||
from django.urls import reverse
|
||||
except ImportError: # Django < 1.10
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
if get_version() < '1.10':
|
||||
from django.template import Context
|
||||
|
||||
def get_context(dictionary, **kwargs):
|
||||
"""Takes a dict and returns the correct object for template rendering."""
|
||||
if get_version() < '1.10':
|
||||
return Context(dictionary, **kwargs)
|
||||
else:
|
||||
return dictionary
|
||||
@@ -0,0 +1,165 @@
|
||||
from django import forms
|
||||
from django.forms.utils import ValidationError
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .models import Subscription
|
||||
from .validators import validate_email_nouser
|
||||
|
||||
|
||||
class NewsletterForm(forms.ModelForm):
|
||||
""" This is the base class for all forms managing subscriptions. """
|
||||
|
||||
class Meta:
|
||||
model = Subscription
|
||||
fields = ('name_field', 'email_field')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
assert 'newsletter' in kwargs, 'No newsletter specified'
|
||||
|
||||
newsletter = kwargs.pop('newsletter')
|
||||
|
||||
if 'ip' in kwargs:
|
||||
ip = kwargs['ip']
|
||||
del kwargs['ip']
|
||||
else:
|
||||
ip = None
|
||||
|
||||
super(NewsletterForm, self).__init__(*args, **kwargs)
|
||||
|
||||
self.instance.newsletter = newsletter
|
||||
|
||||
if ip:
|
||||
self.instance.ip = ip
|
||||
|
||||
|
||||
class SubscribeRequestForm(NewsletterForm):
|
||||
"""
|
||||
Request subscription to the newsletter. Will result in an activation email
|
||||
being sent with a link where one can edit, confirm and activate one's
|
||||
subscription.
|
||||
"""
|
||||
|
||||
email_field = forms.EmailField(
|
||||
label=_("e-mail"), validators=[validate_email_nouser]
|
||||
)
|
||||
|
||||
def clean_email_field(self):
|
||||
data = self.cleaned_data['email_field']
|
||||
|
||||
# Check whether we have already been subscribed to
|
||||
try:
|
||||
subscription = Subscription.objects.get(
|
||||
email_field__exact=data,
|
||||
newsletter=self.instance.newsletter
|
||||
)
|
||||
|
||||
if subscription.subscribed and not subscription.unsubscribed:
|
||||
raise ValidationError(
|
||||
_("Your e-mail address has already been subscribed to.")
|
||||
)
|
||||
else:
|
||||
self.instance = subscription
|
||||
|
||||
self.instance = subscription
|
||||
|
||||
except Subscription.DoesNotExist:
|
||||
pass
|
||||
|
||||
return data
|
||||
|
||||
|
||||
class UpdateRequestForm(NewsletterForm):
|
||||
"""
|
||||
Request updating or activating subscription. Will result in an activation
|
||||
email being sent.
|
||||
"""
|
||||
|
||||
email_field = forms.EmailField(
|
||||
label=_("e-mail"), validators=[validate_email_nouser]
|
||||
)
|
||||
|
||||
class Meta(NewsletterForm.Meta):
|
||||
fields = ('email_field',)
|
||||
|
||||
def clean(self):
|
||||
if not self.instance.subscribed:
|
||||
raise ValidationError(
|
||||
_("This subscription has not yet been activated.")
|
||||
)
|
||||
|
||||
return super(UpdateRequestForm, self).clean()
|
||||
|
||||
def clean_email_field(self):
|
||||
data = self.cleaned_data['email_field']
|
||||
|
||||
# Set our instance on the basis of the email field, or raise
|
||||
# a validationerror
|
||||
try:
|
||||
self.instance = Subscription.objects.get(
|
||||
newsletter=self.instance.newsletter,
|
||||
email_field__exact=data
|
||||
)
|
||||
|
||||
except Subscription.DoesNotExist:
|
||||
raise ValidationError(
|
||||
_("This e-mail address has not been subscribed to.")
|
||||
)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
class UnsubscribeRequestForm(UpdateRequestForm):
|
||||
"""
|
||||
Similar to previous form but checks if we have not
|
||||
already been unsubscribed.
|
||||
"""
|
||||
|
||||
def clean(self):
|
||||
if self.instance.unsubscribed:
|
||||
raise ValidationError(
|
||||
_("This subscription has already been unsubscribed from.")
|
||||
)
|
||||
|
||||
return super(UnsubscribeRequestForm, self).clean()
|
||||
|
||||
|
||||
class UpdateForm(NewsletterForm):
|
||||
"""
|
||||
This form allows one to actually update to or unsubscribe from the
|
||||
newsletter. To do this, a correct activation code is required.
|
||||
"""
|
||||
|
||||
email_field = forms.EmailField(
|
||||
label=_("e-mail"), validators=[validate_email_nouser], disabled=True
|
||||
)
|
||||
|
||||
def clean_user_activation_code(self):
|
||||
data = self.cleaned_data['user_activation_code']
|
||||
|
||||
if data != self.instance.activation_code:
|
||||
raise ValidationError(
|
||||
_('The validation code supplied by you does not match.')
|
||||
)
|
||||
|
||||
return data
|
||||
|
||||
user_activation_code = forms.CharField(
|
||||
label=_("Activation code"), max_length=40
|
||||
)
|
||||
|
||||
|
||||
class UserUpdateForm(forms.ModelForm):
|
||||
"""
|
||||
Form for updating subscription information/unsubscribing as a logged-in
|
||||
user.
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
model = Subscription
|
||||
fields = ('subscribed',)
|
||||
# Newsletter here should become a read only field,
|
||||
# once this is supported by Django.
|
||||
|
||||
# For now, use a hidden field.
|
||||
hidden_fields = ('newsletter',)
|
||||
@@ -0,0 +1,15 @@
|
||||
import warnings
|
||||
|
||||
from django_extensions.management.jobs import HourlyJob
|
||||
from django.core.management import call_command
|
||||
|
||||
|
||||
class Job(HourlyJob):
|
||||
help = "Submit pending messages."
|
||||
|
||||
def execute(self):
|
||||
warnings.warn(
|
||||
"The django-extensions cron job is deprecated in favor of the"
|
||||
"submit_newsletter management command.", DeprecationWarning)
|
||||
|
||||
call_command('submit_newsletter')
|
||||
Binary file not shown.
@@ -0,0 +1,863 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# amrnegm <amrnegm.01@gmail.com>, 2013
|
||||
# Bashar Al-Abdulhadi, 2015,2018
|
||||
# Bashar Al-Abdulhadi, 2014
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-16 11:31+0000\n"
|
||||
"PO-Revision-Date: 2018-04-04 14:42+0000\n"
|
||||
"Last-Translator: Bashar Al-Abdulhadi\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/dokterbob/django-newsletter/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "السجل '%s' لا يتضمن عنوان بريد إلكتروني صحيح."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "ملف العناوين يتضمن عناوين مكرره للسجل '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "بعض المدخلات مشتركة سلفا في."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "عنوان البريد الإلكتروني %(email)s طويل جدا، والحد الأقصى هو %(email_length)s حرف."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "الإسم %(name)s طويل جدا, الحد الأقصى هو %(name_length)s حرف."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:165
|
||||
msgid "name"
|
||||
msgstr "الاسم"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "عرض"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "لم يتم العثور على اسم العمود. يجب أن يكون اسم هذا العمود إما 'اسم' أو '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 forms.py:43 forms.py:76 models.py:39
|
||||
#: models.py:179
|
||||
msgid "e-mail"
|
||||
msgstr "البريد الإلكتروني"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "لم يتم العثور على اسم عمود البريد الإلكتروني. يجب أن يكون اسم هذا العمود إما 'email' أو '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "لا يمكن تحديد الأعمدة المناسبة بشكل صحيح في ملف CSV. يجب أن يكون هناك حقل يسمى 'اسم' أو '%(name)s' و واحد يسمى 'البريد الإلكتروني' أو '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:264
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "الصف الذي يحتوي على '%(row)s' لا تحتوي على حقول الاسم والبريد الإلكتروني."
|
||||
|
||||
#: addressimport/parsers.py:290
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "خطأ بقراءة ملف vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:309
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "السجل '%s' لا يتضمن بريد إلكتروني."
|
||||
|
||||
#: addressimport/parsers.py:345
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "بعض المدخلات لا تتضمن عنوان بريد إلكتروني."
|
||||
|
||||
#: admin.py:79
|
||||
msgid "Messages"
|
||||
msgstr "الرسائل"
|
||||
|
||||
#: admin.py:83
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "الاشتراكات"
|
||||
|
||||
#: admin.py:87
|
||||
msgid "Submissions"
|
||||
msgstr "الإرساليات"
|
||||
|
||||
#: admin.py:99 models.py:102 models.py:300 models.py:480 models.py:699
|
||||
msgid "newsletter"
|
||||
msgstr "قائمة التراسل"
|
||||
|
||||
#: admin.py:117 models.py:555
|
||||
msgid "submission"
|
||||
msgstr "الإرسالية"
|
||||
|
||||
#: admin.py:124
|
||||
msgid "publish date"
|
||||
msgstr "تاريخ النشر"
|
||||
|
||||
#: admin.py:154
|
||||
msgid "Sent."
|
||||
msgstr "أرسلت"
|
||||
|
||||
#: admin.py:157
|
||||
msgid "Delayed submission."
|
||||
msgstr "عملية إرسال متأخرة"
|
||||
|
||||
#: admin.py:159
|
||||
msgid "Submitting."
|
||||
msgstr "جاري الإرسال"
|
||||
|
||||
#: admin.py:161
|
||||
msgid "Not sent."
|
||||
msgstr "غير مرسل"
|
||||
|
||||
#: admin.py:162 admin.py:389 admin_forms.py:115
|
||||
msgid "Status"
|
||||
msgstr "الوضعية"
|
||||
|
||||
#: admin.py:169
|
||||
msgid "Submission already sent."
|
||||
msgstr "عملية الإرسال تم إرسالها سلفا."
|
||||
|
||||
#: admin.py:178
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "جاري تنفيذ عملية الإرسال."
|
||||
|
||||
#: admin.py:225
|
||||
msgid "Optional"
|
||||
msgstr "اختياري"
|
||||
|
||||
#: admin.py:253 models.py:450 models.py:491 models.py:703
|
||||
msgid "message"
|
||||
msgstr "الرسالة"
|
||||
|
||||
#: admin.py:258 templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "معاينة"
|
||||
|
||||
#: admin.py:275 views.py:611
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "لا يوجد قالب HTML مرتبط مع قائمة التراسل تعود ملكية لهذه الرسالة"
|
||||
|
||||
#: admin.py:384 admin_forms.py:103
|
||||
msgid "Subscribed"
|
||||
msgstr "مشترك"
|
||||
|
||||
#: admin.py:386 admin_forms.py:104
|
||||
msgid "Unsubscribed"
|
||||
msgstr "إلغاء الإشتراك"
|
||||
|
||||
#: admin.py:388
|
||||
msgid "Unactivated"
|
||||
msgstr "غير فعّال"
|
||||
|
||||
#: admin.py:396 models.py:314
|
||||
msgid "subscribe date"
|
||||
msgstr "تاريخ الإشتراك"
|
||||
|
||||
#: admin.py:403 models.py:322
|
||||
msgid "unsubscribe date"
|
||||
msgstr "تاريخ إلغاء الإشتراك"
|
||||
|
||||
#: admin.py:411
|
||||
#, python-format
|
||||
msgid "%d user has been successfully subscribed."
|
||||
msgid_plural "%d users have been successfully subscribed."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[4] ""
|
||||
msgstr[5] ""
|
||||
|
||||
#: admin.py:416
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "تسجيل المستخدمين المحددين"
|
||||
|
||||
#: admin.py:423
|
||||
#, python-format
|
||||
msgid "%d user has been successfully unsubscribed."
|
||||
msgid_plural "%d users have been successfully unsubscribed."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[4] ""
|
||||
msgstr[5] ""
|
||||
|
||||
#: admin.py:428
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "إلفاء إشتراك المستخدمين المحددين"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%d subscription has been successfully added."
|
||||
msgid_plural "%d subscriptions have been successfully added."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
msgstr[4] ""
|
||||
msgstr[5] ""
|
||||
|
||||
#: admin_forms.py:43
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "لم يتم التعرف على نوع الملف '%s'."
|
||||
|
||||
#: admin_forms.py:60
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "لم يتم التعرف على امتداد الملف '%s' ."
|
||||
|
||||
#: admin_forms.py:64
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "لا سجلات موجودة في هذا الملف."
|
||||
|
||||
#: admin_forms.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:6
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "قائمة التراسل"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Address file"
|
||||
msgstr "ملف العنوان"
|
||||
|
||||
#: admin_forms.py:77
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "تجاهل الأخطاء الغير فادحة"
|
||||
|
||||
#: admin_forms.py:88
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "يجب عليك التأكيد من أجل المتابعة."
|
||||
|
||||
#: admin_forms.py:91
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "تأكيد الإستيراد"
|
||||
|
||||
#: admin_forms.py:121 admin_forms.py:129
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "إذا تم تحديد مستخدم هذا الحقل يجبأن يطل فارغا."
|
||||
|
||||
#: admin_forms.py:139
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "إما يجب تحديد مستخدم أو يجب تحديد عنوان بريد إلكتروني."
|
||||
|
||||
#: admin_forms.py:164
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "وقد تم بالفعل نشر هذه الرسالة في بعض تقديمها الإرسالات الأخرى. الرسائل لا يمكن أن يتم نشرها إلا مرة واحدة."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "الكائن %(name)s مع المفتاح الأساسي %(key)r غير موجود."
|
||||
|
||||
#: forms.py:57
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr " عنوان البريد الإلكتروني الخاص بك مسجل سلفا في."
|
||||
|
||||
#: forms.py:84
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "هذا الإشتراك لم يتم تفعيله حتى الآن."
|
||||
|
||||
#: forms.py:102
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "هذا البريد الإلكتروني غير مسجّل في."
|
||||
|
||||
#: forms.py:117
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "هذا الإشتراك تم إلغاء اشتراكه سلفا من."
|
||||
|
||||
#: forms.py:133
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "رمز التحقق المُقدم من قبلكم غير مطابقة."
|
||||
|
||||
#: forms.py:139
|
||||
msgid "Activation code"
|
||||
msgstr "رمز التفعيل"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "إرسال قوائم التراسل التي في قائمة الإنتظار"
|
||||
|
||||
#: models.py:34
|
||||
msgid "newsletter title"
|
||||
msgstr "عنوان قائمة التراسل"
|
||||
|
||||
#: models.py:39
|
||||
msgid "Sender e-mail"
|
||||
msgstr "بريد المُرسِل"
|
||||
|
||||
#: models.py:42
|
||||
msgid "sender"
|
||||
msgstr "المرسل"
|
||||
|
||||
#: models.py:42
|
||||
msgid "Sender name"
|
||||
msgstr "إسم المرسل"
|
||||
|
||||
#: models.py:46
|
||||
msgid "visible"
|
||||
msgstr "مرئي"
|
||||
|
||||
#: models.py:50
|
||||
msgid "send html"
|
||||
msgstr "أرسل HTML"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "نعم ام لا لإرسال إصدارات HTML من رسائل البريد الإلكتروني."
|
||||
|
||||
#: models.py:103
|
||||
msgid "newsletters"
|
||||
msgstr "قوائم التراسل"
|
||||
|
||||
#: models.py:159
|
||||
msgid "user"
|
||||
msgstr "مستخدم"
|
||||
|
||||
#: models.py:165
|
||||
msgid "optional"
|
||||
msgstr "اختياري"
|
||||
|
||||
#: models.py:209
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "تحديث الإشتراكات %(subscription)s لـ %(action)s."
|
||||
|
||||
#: models.py:251
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "لم يتم تعيين بريد إلكتروني او إسم مستخدم. هذا يسبب تناقض!"
|
||||
|
||||
#: models.py:255
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "إذا تم تعيين المستخدم، يجب أن يكون البريد الإلكتروني لاغيا والعكس صحيح."
|
||||
|
||||
#: models.py:297
|
||||
msgid "IP address"
|
||||
msgstr "عنوان IP"
|
||||
|
||||
#: models.py:306
|
||||
msgid "activation code"
|
||||
msgstr "تاريخ التفعيل"
|
||||
|
||||
#: models.py:311
|
||||
msgid "subscribed"
|
||||
msgstr "مشترك"
|
||||
|
||||
#: models.py:319
|
||||
msgid "unsubscribed"
|
||||
msgstr "تم إلغاء الإشتراك"
|
||||
|
||||
#: models.py:327
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> لـ %(newsletter)s"
|
||||
|
||||
#: models.py:334
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s لـ %(newsletter)s"
|
||||
|
||||
#: models.py:340
|
||||
msgid "subscription"
|
||||
msgstr "الإشتراك"
|
||||
|
||||
#: models.py:341
|
||||
msgid "subscriptions"
|
||||
msgstr "الإشتراكات"
|
||||
|
||||
#: models.py:429
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "أمر الترتيب يُحدد وضعية تسلسل المقالات في الإرسالية."
|
||||
|
||||
#: models.py:431
|
||||
msgid "sort order"
|
||||
msgstr "أمر الترتيب"
|
||||
|
||||
#: models.py:434 models.py:476
|
||||
msgid "title"
|
||||
msgstr "العنوان"
|
||||
|
||||
#: models.py:435
|
||||
msgid "text"
|
||||
msgstr "النص"
|
||||
|
||||
#: models.py:438
|
||||
msgid "link"
|
||||
msgstr "رابط"
|
||||
|
||||
#: models.py:444
|
||||
msgid "image"
|
||||
msgstr "صورة"
|
||||
|
||||
#: models.py:456
|
||||
msgid "article"
|
||||
msgstr "مقالة"
|
||||
|
||||
#: models.py:457
|
||||
msgid "articles"
|
||||
msgstr "مقالات"
|
||||
|
||||
#: models.py:477
|
||||
msgid "slug"
|
||||
msgstr "slug"
|
||||
|
||||
#: models.py:484
|
||||
msgid "created"
|
||||
msgstr "أنشئ"
|
||||
|
||||
#: models.py:487
|
||||
msgid "modified"
|
||||
msgstr "تم التعديل"
|
||||
|
||||
#: models.py:492
|
||||
msgid "messages"
|
||||
msgstr "الرسائل"
|
||||
|
||||
#: models.py:497
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s في %(newsletter)s"
|
||||
|
||||
#: models.py:556
|
||||
msgid "submissions"
|
||||
msgstr "الإرساليات"
|
||||
|
||||
#: models.py:559
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s في %(publish_date)s"
|
||||
|
||||
#: models.py:578
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "إرسال %(submission)s إلى %(count)d شخص"
|
||||
|
||||
#: models.py:637
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "إرسال الرسالى إلى: %s."
|
||||
|
||||
#: models.py:646
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "الرسالة %(subscription)s فشلت بسبب: %(error)s"
|
||||
|
||||
#: models.py:664
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "إرساليات من الرسائل %s"
|
||||
|
||||
#: models.py:709
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "إن لم تختار أي مشترك, النظام سوف يختار مشتركين لك بشكل تلقائي."
|
||||
|
||||
#: models.py:711
|
||||
msgid "recipients"
|
||||
msgstr "المستلمين"
|
||||
|
||||
#: models.py:716
|
||||
msgid "publication date"
|
||||
msgstr "تاريخ النشر"
|
||||
|
||||
#: models.py:720
|
||||
msgid "publish"
|
||||
msgstr "انشر"
|
||||
|
||||
#: models.py:721
|
||||
msgid "Publish in archive."
|
||||
msgstr "انشر في الأرشيف."
|
||||
|
||||
#: models.py:725
|
||||
msgid "prepared"
|
||||
msgstr "مجهّز"
|
||||
|
||||
#: models.py:729
|
||||
msgid "sent"
|
||||
msgstr "تم الإرسال"
|
||||
|
||||
#: models.py:733
|
||||
msgid "sending"
|
||||
msgstr "جاري الإرسال"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "معاينة الرسالة"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "الرئيسية"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "الرسالة"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "تغيير"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "إنشاء إرسالية"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "النص"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "أرسل"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:5
|
||||
msgid "Import"
|
||||
msgstr "إستيراد"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "إستيراد عناوين"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "تأكيد"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "رفع"
|
||||
|
||||
#: templates/newsletter/message/message.html:21
|
||||
msgid "Read more"
|
||||
msgstr "قراءة المزيد"
|
||||
|
||||
#: templates/newsletter/message/message.html:27
|
||||
msgid "Read message online"
|
||||
msgstr "قراءة الرسالة من خلال المتصفح"
|
||||
|
||||
#: templates/newsletter/message/message.html:29
|
||||
#: templates/newsletter/newsletter_detail.html:21
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "إلغاء الإشتراك"
|
||||
|
||||
#: templates/newsletter/message/message.txt:15
|
||||
msgid "Unsubscribe:"
|
||||
msgstr "إلغاء الإشتراك:"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:6
|
||||
#, python-format
|
||||
msgid "Subscription to %(title)s"
|
||||
msgstr "التسجيل في %(title)s"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:10
|
||||
#: templates/newsletter/message/subscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested a subscription to %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your subscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/subscribe_subject.txt:1
|
||||
msgid "Confirm subscription"
|
||||
msgstr "تأكيد الإشتراك"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:6
|
||||
#, python-format
|
||||
msgid "Unsubscription from %(title)s"
|
||||
msgstr "إلغاء الإشتراك من %(title)s"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:9
|
||||
#: templates/newsletter/message/unsubscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested unsubscription from %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your unsubscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/unsubscribe_subject.txt:1
|
||||
msgid "Confirm unsubscription"
|
||||
msgstr "تأكيد إلغاء الإشتراك"
|
||||
|
||||
#: templates/newsletter/message/update.html:6
|
||||
#, python-format
|
||||
msgid "Update of subscription to %(title)s"
|
||||
msgstr "تحديث الإشتراك في %(title)s"
|
||||
|
||||
#: templates/newsletter/message/update.html:9
|
||||
#: templates/newsletter/message/update.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested updating your personal information for %(title)s.\n"
|
||||
"\n"
|
||||
"To make changes to your information in our database, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/update_subject.txt:1
|
||||
msgid "Update information"
|
||||
msgstr "تحديث البيانات"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "تفاصيل قائمة التراسل"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:13
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "الإشتراك"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:17
|
||||
msgid "Update"
|
||||
msgstr "تحديث"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:24
|
||||
msgid "Archive"
|
||||
msgstr "أرشفة"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:27
|
||||
#: templates/newsletter/submission_archive.html:18
|
||||
msgid "Back to list"
|
||||
msgstr "العودة للقائمة"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "قوائم التراسل"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "تحديث الإشتراكات"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "أرشيف قائمة التراسل"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "تفعيل"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "تفعيل"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "إشتراك قائمة التراسل"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "بسبب خطأ فني لم نكن قادرين على إرسال رسالة تأكيد التسجيل. هذا يمكن أن يكون بسبب عنوان بريدك الإلكتروني غير صحيح."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "تم تفعيل اشتراكك بنجاح."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "تم استقبال طلب إشتراكك بنجاح وتم إرسال رسالة إلكترونية تفعيل لك. في تلك الرسالة سوف تجد رابط تحتاج إلى متابعته لتفعيل اشتراكك."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "هل ترغب في الاشتراك في قائمة التراسل هذه؟"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "إلغاء إشتراك قائمة التراسل"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "تم إلغاء إشتراكك بنجاح."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "تم إستقبال طلب إلغاء الاشتراك الخاص بك بنجاح. تم ارسال بريد الكتروني لك مع رابط تحتاج إلى متابعته من أجل تأكيد إلغاء الاشتراك الخاص بك."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "هل ترغب في إلغاء الاشتراك في قائمة التراسل هذه؟"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "تحديث قائمة التراسل"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "تحديث الإشتراك"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "تم تحديث اشتراكك بنجاح."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "تم استقبال طلب التحديث بنجاح وتم إرسال رسالة إلكترونية تفعيل لك. في تلك الرسالة سوف تجد رابط تحتاج إلى متابعته لتحديث اشتراكك."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "حاليا:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "تغيير:"
|
||||
|
||||
#: validators.py:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "عنوان البريد الإلكتروني '%(email)s' مملوك لمستخدم لديه حساب على هذا الموقع. الرجاء تسجيل الدخول بحساب مستخدم وحاول مرة أخرى."
|
||||
|
||||
#: views.py:120
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "تم حفظ التغييرات."
|
||||
|
||||
#: views.py:311
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "تم تسجيلك في %s."
|
||||
|
||||
#: views.py:315
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "المستخدم %(rs)s تم تسجيله في %(my_newsletter)s."
|
||||
|
||||
#: views.py:325
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "أنت مسجل سلفا في %s."
|
||||
|
||||
#: views.py:350
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "تم إلغاء اشتراكك سلفا من %s."
|
||||
|
||||
#: views.py:354
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "المستخدم %(rs)s تم إلغاء إشتراكو من %(my_newsletter)s."
|
||||
|
||||
#: views.py:367
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "أنت غير مسجّل في %s."
|
||||
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Bashar Al-Abdulhadi, 2015
|
||||
# Bashar Al-Abdulhadi, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2015-06-28 13:34+0000\n"
|
||||
"Last-Translator: Bashar Al-Abdulhadi\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/dokterbob/django-newsletter/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "عملية الإرسال تم التعديل عليها. يجب حفظها أولا لكي تتمكن من إرسالها. أنقر على موافق لمتابعة عملية الحفظ او إلغاء لمتابعة التعديل."
|
||||
Binary file not shown.
@@ -0,0 +1,780 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
# tomaasch <tomas@labs.cz>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-05 17:58+0100\n"
|
||||
"PO-Revision-Date: 2016-02-02 13:35+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/dokterbob/django-newsletter/language/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs_CZ\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "Položka '%s' neobsahuje validní e-mailovou adresu."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Soubor s adresami obsahuje duplicitní položku '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Některé položky jsou již přihlášeny k odběru."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "E-mailová adresa %(email)s je příliš dlouhá, maximální povolená délka je %(email_length)s znaků."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Jméno %(name)s je příliš dlouhé, maximální povolená délka je %(name_length)s znaků."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:162
|
||||
msgid "name"
|
||||
msgstr "jméno"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "zobrazení"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Jméno sloupce nenalezeno. Jméno sloupce musí být buď 'name' nebo '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:37 models.py:176
|
||||
msgid "e-mail"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Sloupec s e-mailem nebyl nalezen. Název tohoto sloupce by měly být buďto 'e-mail' nebo '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Nelze správně určit správné jména sloupců v CSV souboru. Tam by mělo být pole s názvem 'name' nebo '%(name)s' a jeden s názvem 'e-mail' nebo '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:262
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "Řádek s obsahem '%(row)s' neobsahuje jméno a e-mailovou adresu."
|
||||
|
||||
#: addressimport/parsers.py:288
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Chyba při čtení souboru formátu vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:307
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "Položka '%s' neobsahuje žádnou e-mailovou adresu."
|
||||
|
||||
#: addressimport/parsers.py:343
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Některé položky nemají e-mailovou adresu."
|
||||
|
||||
#: admin.py:63
|
||||
msgid "Messages"
|
||||
msgstr "Zprávy"
|
||||
|
||||
#: admin.py:71
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Přihlášení"
|
||||
|
||||
#: admin.py:77
|
||||
msgid "Submissions"
|
||||
msgstr "Rozeslání zpráv"
|
||||
|
||||
#: admin.py:97 models.py:537
|
||||
msgid "submission"
|
||||
msgstr "rozeslání zprávy"
|
||||
|
||||
#: admin.py:104 admin.py:247 admin.py:365 models.py:100 models.py:296
|
||||
#: models.py:487 models.py:665
|
||||
msgid "newsletter"
|
||||
msgstr "newsletter"
|
||||
|
||||
#: admin.py:112
|
||||
msgid "publish date"
|
||||
msgstr "datum zveřejnění"
|
||||
|
||||
#: admin.py:138
|
||||
msgid "Sent."
|
||||
msgstr "Odesláno."
|
||||
|
||||
#: admin.py:141
|
||||
msgid "Delayed submission."
|
||||
msgstr "Odložené rozeslání."
|
||||
|
||||
#: admin.py:143
|
||||
msgid "Submitting."
|
||||
msgstr "Přihlášen."
|
||||
|
||||
#: admin.py:145
|
||||
msgid "Not sent."
|
||||
msgstr "Nebylo zasláno."
|
||||
|
||||
#: admin.py:146 admin.py:390 admin_forms.py:113
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: admin.py:153
|
||||
msgid "Submission already sent."
|
||||
msgstr "Rozeslání zprávy bylo provedeno již dříve."
|
||||
|
||||
#: admin.py:162
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Vaše zpráva se právě rozesílá."
|
||||
|
||||
#: admin.py:208
|
||||
msgid "Optional"
|
||||
msgstr "Volitelné"
|
||||
|
||||
#: admin.py:235 models.py:460 models.py:512 models.py:668
|
||||
msgid "message"
|
||||
msgstr "zpráva"
|
||||
|
||||
#: admin.py:239 templates/admin/newsletter/message/change_form.html.py:9
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Náhled"
|
||||
|
||||
#: admin.py:267 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Tato zpráva nemá k dispozici žádnou HTML šablonu přiřazenou k newsletteru."
|
||||
|
||||
#: admin.py:385 admin_forms.py:101
|
||||
msgid "Subscribed"
|
||||
msgstr "Přihlášeno"
|
||||
|
||||
#: admin.py:387 admin_forms.py:102
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Odhlášen"
|
||||
|
||||
#: admin.py:389
|
||||
msgid "Unactivated"
|
||||
msgstr "Deaktivován"
|
||||
|
||||
#: admin.py:397 models.py:309
|
||||
msgid "subscribe date"
|
||||
msgstr "datum přihlášení"
|
||||
|
||||
#: admin.py:404 models.py:317
|
||||
msgid "unsubscribe date"
|
||||
msgstr "datum odhlášení"
|
||||
|
||||
#: admin.py:412
|
||||
#, python-format
|
||||
msgid "%s user has been successfully subscribed."
|
||||
msgid_plural "%s users have been successfully subscribed."
|
||||
msgstr[0] "%s uživatel byl právě úspěšně přihlášen k odběru novinek."
|
||||
msgstr[1] "%s uživatelé bylo právě úspěšně přihlášeni k odběru novinek."
|
||||
msgstr[2] "%s uživatelů bylo právě úspěšně přihlášeno k odběru novinek."
|
||||
|
||||
#: admin.py:417
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Přihlásit vybrané uživatele."
|
||||
|
||||
#: admin.py:424
|
||||
#, python-format
|
||||
msgid "%s user has been successfully unsubscribed."
|
||||
msgid_plural "%s users have been successfully unsubscribed."
|
||||
msgstr[0] "%s uživatel byl právě úspěšně odhlášen z odběru novinek."
|
||||
msgstr[1] "%s uživatelé byli právě úspěšně odhlášeni z odběru novinek."
|
||||
msgstr[2] "%s uživatelů bylo právě úspěšně odhlášeno z odběru novinek."
|
||||
|
||||
#: admin.py:429
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Odhlásit vybrané uživatele."
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%s subscriptions have been successfully added."
|
||||
msgstr "Úspěšně bylo přidáno %s odběratelů newsletteru."
|
||||
|
||||
#: admin_forms.py:41
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Soubor typu '%s' nebyl rozpoznán."
|
||||
|
||||
#: admin_forms.py:58
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Přípona souboru '%s' nebyla rozpoznána."
|
||||
|
||||
#: admin_forms.py:62
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "V souboru nebyly nalezeny žádné položky."
|
||||
|
||||
#: admin_forms.py:70
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: admin_forms.py:73
|
||||
msgid "Address file"
|
||||
msgstr "Soubor s adresami"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Ignorovat drobné chyby"
|
||||
|
||||
#: admin_forms.py:86
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Potvrďte prosím, pokud chcete pokračovat."
|
||||
|
||||
#: admin_forms.py:89
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Potvrdit import"
|
||||
|
||||
#: admin_forms.py:119 admin_forms.py:127
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Toto pole musí zůstat prázdné, pokud byl vybrán uživatel."
|
||||
|
||||
#: admin_forms.py:137
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Buď musí být vybrán uživatel nebo musí být uvedena e-mailová adresa."
|
||||
|
||||
#: admin_forms.py:162
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Tato zpráva byla již zveřejněna v jiném zaslání newsletteru. Zprávy mohou být zveřejněny pouze jednou."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "Objekt %(name)s s primárním klíčem %(key)r neexistuje."
|
||||
|
||||
#: forms.py:47 forms.py:106
|
||||
msgid "An e-mail address is required."
|
||||
msgstr "E-mailová adresa je povinná."
|
||||
|
||||
#: forms.py:55
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "E-mailová adresa '%(email)s' patří uživateli s účtem na tomto webu. Prosím, přihlaste se jako tento uživatel a zkuste to znovu."
|
||||
|
||||
#: forms.py:72
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Vaše e-mailová adresa byla přihlášena k odběru novinek již dříve."
|
||||
|
||||
#: forms.py:97
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Toto přihlášení k odběru ještě nebylo aktivováno."
|
||||
|
||||
#: forms.py:114
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This e-mail address belongs to the user '%(username)s'. Please log in as "
|
||||
"that user and try again."
|
||||
msgstr "Tato e-mailová adresa patří uživateli '%(username)s'. Prosím, přihlaste se jako tento uživatel a zkuste to znovu."
|
||||
|
||||
#: forms.py:132
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Tato e-mailová adresa nebyla přihlášena k odběru novinek."
|
||||
|
||||
#: forms.py:147
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Toto přihlášení k odběru bylo již zrušeno."
|
||||
|
||||
#: forms.py:163
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Kontrolní kód, který jste zadal(a), není správný."
|
||||
|
||||
#: forms.py:169
|
||||
msgid "Activation code"
|
||||
msgstr "Aktivační kód"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Rozeslání newsletteru bylo zařazeno do fronty."
|
||||
|
||||
#: models.py:32
|
||||
msgid "newsletter title"
|
||||
msgstr "titulek newsletteru"
|
||||
|
||||
#: models.py:37
|
||||
msgid "Sender e-mail"
|
||||
msgstr "E-mail odesílatele"
|
||||
|
||||
#: models.py:40
|
||||
msgid "sender"
|
||||
msgstr "odesílatel"
|
||||
|
||||
#: models.py:40
|
||||
msgid "Sender name"
|
||||
msgstr "Jméno odesílatele"
|
||||
|
||||
#: models.py:44
|
||||
msgid "visible"
|
||||
msgstr "viditelný"
|
||||
|
||||
#: models.py:48
|
||||
msgid "send html"
|
||||
msgstr "odeslat HTML"
|
||||
|
||||
#: models.py:49
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Má-li se odeslat HTML verze e-mailu či nikoliv."
|
||||
|
||||
#: models.py:101
|
||||
msgid "newsletters"
|
||||
msgstr "newslettery"
|
||||
|
||||
#: models.py:157
|
||||
msgid "user"
|
||||
msgstr "uživatel"
|
||||
|
||||
#: models.py:162
|
||||
msgid "optional"
|
||||
msgstr "volitelné"
|
||||
|
||||
#: models.py:206
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Aktualizováno přihlášení %(subscription)s k %(action)s."
|
||||
|
||||
#: models.py:248
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Není uvedena ani e-mailová adresa ani není vybrán uživatel."
|
||||
|
||||
#: models.py:252
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Pokud je nastaven uživatel, položka e-mailu musí být nevyplněna, a naopak."
|
||||
|
||||
#: models.py:294
|
||||
msgid "IP address"
|
||||
msgstr "IP adresa"
|
||||
|
||||
#: models.py:301
|
||||
msgid "activation code"
|
||||
msgstr "aktivační kód"
|
||||
|
||||
#: models.py:306
|
||||
msgid "subscribed"
|
||||
msgstr "přihlášen"
|
||||
|
||||
#: models.py:314
|
||||
msgid "unsubscribed"
|
||||
msgstr "odhlášen"
|
||||
|
||||
#: models.py:322
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> k %(newsletter)s"
|
||||
|
||||
#: models.py:329
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s k %(newsletter)s"
|
||||
|
||||
#: models.py:335
|
||||
msgid "subscription"
|
||||
msgstr "přihlášení"
|
||||
|
||||
#: models.py:336
|
||||
msgid "subscriptions"
|
||||
msgstr "přihlášení"
|
||||
|
||||
#: models.py:439
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Pořadím je míněno řazení článků ve zprávě newsletteru."
|
||||
|
||||
#: models.py:441
|
||||
msgid "sort order"
|
||||
msgstr "pořadí"
|
||||
|
||||
#: models.py:444 models.py:483
|
||||
msgid "title"
|
||||
msgstr "titulek"
|
||||
|
||||
#: models.py:445
|
||||
msgid "text"
|
||||
msgstr "text"
|
||||
|
||||
#: models.py:448
|
||||
msgid "link"
|
||||
msgstr "odkaz"
|
||||
|
||||
#: models.py:454
|
||||
msgid "image"
|
||||
msgstr "obrázek"
|
||||
|
||||
#: models.py:465
|
||||
msgid "article"
|
||||
msgstr "článek"
|
||||
|
||||
#: models.py:466
|
||||
msgid "articles"
|
||||
msgstr "články"
|
||||
|
||||
#: models.py:484
|
||||
msgid "slug"
|
||||
msgstr "slug (část adresy)"
|
||||
|
||||
#: models.py:491
|
||||
msgid "created"
|
||||
msgstr "vytvořeno"
|
||||
|
||||
#: models.py:494
|
||||
msgid "modified"
|
||||
msgstr "změněno"
|
||||
|
||||
#: models.py:499
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s v %(newsletter)s"
|
||||
|
||||
#: models.py:513
|
||||
msgid "messages"
|
||||
msgstr "zprávy"
|
||||
|
||||
#: models.py:538
|
||||
msgid "submissions"
|
||||
msgstr "rozeslání zpráv"
|
||||
|
||||
#: models.py:541
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s v %(publish_date)s"
|
||||
|
||||
#: models.py:550
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Odesláno %(submission)s %(count)d lidem"
|
||||
|
||||
#: models.py:597
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Odeslání zprávy k : %s."
|
||||
|
||||
#: models.py:606
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Zpráva %(subscription)s skončila s chybou: %(error)s"
|
||||
|
||||
#: models.py:630
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Rozeslání zprávy %s"
|
||||
|
||||
#: models.py:673
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Pokud nikoho nevyberete, systém najde odběratele automaticky."
|
||||
|
||||
#: models.py:675
|
||||
msgid "recipients"
|
||||
msgstr "příjemci"
|
||||
|
||||
#: models.py:680
|
||||
msgid "publication date"
|
||||
msgstr "datum zveřejnění"
|
||||
|
||||
#: models.py:684
|
||||
msgid "publish"
|
||||
msgstr "zveřejnit"
|
||||
|
||||
#: models.py:685
|
||||
msgid "Publish in archive."
|
||||
msgstr "Zveřejnit v archivu."
|
||||
|
||||
#: models.py:689
|
||||
msgid "prepared"
|
||||
msgstr "připraveno"
|
||||
|
||||
#: models.py:693
|
||||
msgid "sent"
|
||||
msgstr "odesláno"
|
||||
|
||||
#: models.py:697
|
||||
msgid "sending"
|
||||
msgstr "zasíláno"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:7
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:7
|
||||
#: templates/admin/newsletter/submission/change_form.html:14
|
||||
msgid "History"
|
||||
msgstr "Historie"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:8
|
||||
#: templates/admin/newsletter/submission/change_form.html:15
|
||||
msgid "View on site"
|
||||
msgstr "Ukázat na webu"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Náhled zprávy"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Domů"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Zpráva"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Změnit"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Připravit rozeslání zprávy"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Text"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Odeslat"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:8
|
||||
msgid "import"
|
||||
msgstr "importovat"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:12
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "Přidat %(name)s"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Importovat adresy"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Potvrdit"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Nahrát"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Nastavení"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Všechny newslettery"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Přihlásit k odběru"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Uložit"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Archiv"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "aktivovat"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Aktivovat"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Přihlásit k odběru newsletteru"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Vzhedem k technickým problémům jsme vám nemohli odeslat potvrzovací e-mail. Zřejmě to bylo způsobeno vaší neplatnou e-malovou adresou."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Vaše přihlášení k odběru novinek bylo právě úspěšně aktivováno."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Vaše žádost o přihlášení k odběru novinek byla úspěšně přijata a byl vám zaslán e-mail s odkazem, který musíte potvrdit odkliknutím, aby vaše přihlášení k odběru novinek bylo aktivováno."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Chcete se opravdu přihlásit k odběru tohoto newsletteru?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Odhlásit z odběru newsletteru"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Odhlásit z odběru"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Právě jste byli úspěšně odhlášeni z odběru novinek."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Vaše žádost k odhlášení byla úspěšně přijata. Byl vám zaslán e-mail s odkazem, jehož odkliknutím potvrdíte vaše odhlášení."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Chcete se opravdu odhlásit z odběru tohoto newsletteru?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Aktualizovat newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Aktualizovat údaje přihlášení"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Vaše přihlášení k odběru novinek byl právě úspěšně aktualizováno."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Vaše žádost o aktualizaci údajů byla úspěšně přijata a byl vám zaslán aktivační e-mail. V tomto e-mailu najdete odkaz, který potvrdíte odkliknutím, a pak budou vaše údaje aktualizovány."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Aktuálně:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Změna:"
|
||||
|
||||
#: views.py:114
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Vaše změny byly uloženy."
|
||||
|
||||
#: views.py:305
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Právě jste byli přihlášeni k \"%s\"."
|
||||
|
||||
#: views.py:309
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Uživatel %(rs)s byl přihlášen k odběru novinek %(my_newsletter)s."
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Již jste byli přihlášeni k newsletteru \"%s\" dříve."
|
||||
|
||||
#: views.py:344
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Právě jste byli odhlášeni z \"%s\"."
|
||||
|
||||
#: views.py:348
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Uživatel %(rs)s byl odhlášen z odběru novinek %(my_newsletter)s."
|
||||
|
||||
#: views.py:361
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Nejste přihlášeni k %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# tomaasch <tomas@labs.cz>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2014-04-28 17:20+0000\n"
|
||||
"Last-Translator: tomaasch <tomas@labs.cz>\n"
|
||||
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/dokterbob/django-newsletter/language/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs_CZ\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Zpráva newsletteru byla změněna a před odesláním musí být uložena. Klikněte prosím na OK pokud ji chcete uložit, nebo klikněte na 'zrušit' pokud chcete pokračovat v úpravě zprávy."
|
||||
Binary file not shown.
@@ -0,0 +1,852 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Alexander Hartmann <ah@prexma.com>, 2018
|
||||
# Jannis Vajen, 2013
|
||||
# Jannis Vajen, 2012
|
||||
# Marc Richter <marc.richter.1982@gmail.com>, 2016
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-16 11:31+0000\n"
|
||||
"PO-Revision-Date: 2018-06-22 10:33+0000\n"
|
||||
"Last-Translator: Alexander Hartmann <ah@prexma.com>\n"
|
||||
"Language-Team: German (http://www.transifex.com/dokterbob/django-newsletter/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "Eintrag '%s' enthält keine gültige E-Mail-Adresse."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Das Adressfeld enthält doppelte Einträge für '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Einige Einträge sind bereits in der Liste enthalten."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Die E-Mail-Adresse %(email)s ist zu lang, die Maximallänge beträgt %(email_length)s Zeichen."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Der Name %(name)s ist zu lang, die Maximallänge beträgt %(name_length)s Zeichen."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:165
|
||||
msgid "name"
|
||||
msgstr "Name"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "Anzeige"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Namensspalte nicht gefunden. Die Spaltenbezeichnung sollte entwerder 'name' oder '%s' lauten."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 forms.py:43 forms.py:76 models.py:39
|
||||
#: models.py:179
|
||||
msgid "e-mail"
|
||||
msgstr "E-Mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Feld für E-Mail-Adresse nicht gefunden. Der Name der Spalte sollte entweder 'email', 'e-mail' oder '%(email)s' lauten."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Die Felder der CSV-Datei konnten nicht korrekt bestimmt werden. Es sollte ein Feld 'name' oder '%(name)s' und ein Feld 'e-mail' oder '%(e-mail)s' geben."
|
||||
|
||||
#: addressimport/parsers.py:264
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "Zeile mit Inhalt '%(row)s' enthält weder Name noch E-Mail-Adresse."
|
||||
|
||||
#: addressimport/parsers.py:290
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Ein Problem trat auf beim Einlesen der vCard-Datei: %s"
|
||||
|
||||
#: addressimport/parsers.py:309
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "Eintrag '%s' enthält keine E-Mail-Adresse."
|
||||
|
||||
#: addressimport/parsers.py:345
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Einige Einträge enthalten keine E-Mail-Adresse."
|
||||
|
||||
#: admin.py:79
|
||||
msgid "Messages"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
#: admin.py:83
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Abonnenten"
|
||||
|
||||
#: admin.py:87
|
||||
msgid "Submissions"
|
||||
msgstr "Ausgaben"
|
||||
|
||||
#: admin.py:99 models.py:102 models.py:300 models.py:480 models.py:699
|
||||
msgid "newsletter"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: admin.py:117 models.py:555
|
||||
msgid "submission"
|
||||
msgstr "Ausgabe"
|
||||
|
||||
#: admin.py:124
|
||||
msgid "publish date"
|
||||
msgstr "Veröffentlichungsdatum"
|
||||
|
||||
#: admin.py:154
|
||||
msgid "Sent."
|
||||
msgstr "Versendet."
|
||||
|
||||
#: admin.py:157
|
||||
msgid "Delayed submission."
|
||||
msgstr "Verzögerte Ausgabe."
|
||||
|
||||
#: admin.py:159
|
||||
msgid "Submitting."
|
||||
msgstr "Wird versendet."
|
||||
|
||||
#: admin.py:161
|
||||
msgid "Not sent."
|
||||
msgstr "Nicht versendet."
|
||||
|
||||
#: admin.py:162 admin.py:389 admin_forms.py:115
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: admin.py:169
|
||||
msgid "Submission already sent."
|
||||
msgstr "Ausgabe wurde bereits verschickt."
|
||||
|
||||
#: admin.py:178
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Die Ausgabe wird versandt."
|
||||
|
||||
#: admin.py:225
|
||||
msgid "Optional"
|
||||
msgstr "Optional"
|
||||
|
||||
#: admin.py:253 models.py:450 models.py:491 models.py:703
|
||||
msgid "message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
#: admin.py:258 templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
#: admin.py:275 views.py:611
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Es wurde keine HTML-Vorlage für den Newsletter gefunden, zu dem diese Nachricht gehört."
|
||||
|
||||
#: admin.py:384 admin_forms.py:103
|
||||
msgid "Subscribed"
|
||||
msgstr "Abonniert"
|
||||
|
||||
#: admin.py:386 admin_forms.py:104
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Ausgetragen"
|
||||
|
||||
#: admin.py:388
|
||||
msgid "Unactivated"
|
||||
msgstr "noch nicht aktiviert"
|
||||
|
||||
#: admin.py:396 models.py:314
|
||||
msgid "subscribe date"
|
||||
msgstr "Abonnierungsdatum"
|
||||
|
||||
#: admin.py:403 models.py:322
|
||||
msgid "unsubscribe date"
|
||||
msgstr "Austragungsdatum"
|
||||
|
||||
#: admin.py:411
|
||||
#, python-format
|
||||
msgid "%d user has been successfully subscribed."
|
||||
msgid_plural "%d users have been successfully subscribed."
|
||||
msgstr[0] "%d Benutzer wurde erfolgreich hinzugefügt."
|
||||
msgstr[1] "%d Benutzer wurden erfolgreich hinzugefügt."
|
||||
|
||||
#: admin.py:416
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Ausgewählte Abonnements aktivieren"
|
||||
|
||||
#: admin.py:423
|
||||
#, python-format
|
||||
msgid "%d user has been successfully unsubscribed."
|
||||
msgid_plural "%d users have been successfully unsubscribed."
|
||||
msgstr[0] "%d Benutzer wurde erfolgreich ausgetragen."
|
||||
msgstr[1] "%d Benutzer wurden erfolgreich ausgetragen."
|
||||
|
||||
#: admin.py:428
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Ausgewählte Abonnements deaktivieren"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%d subscription has been successfully added."
|
||||
msgid_plural "%d subscriptions have been successfully added."
|
||||
msgstr[0] "%d Abonnement wurde erfolgreich hinzugefügt."
|
||||
msgstr[1] "%d Abonnements wurden erfolgreich hinzugefügt."
|
||||
|
||||
#: admin_forms.py:43
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Dateityp '%s' wurde nicht erkannt."
|
||||
|
||||
#: admin_forms.py:60
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Die Dateiendung '%s' wurde nicht erkannt."
|
||||
|
||||
#: admin_forms.py:64
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Es wurden keine Einträge in dieser Datei gefunden."
|
||||
|
||||
#: admin_forms.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:6
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Address file"
|
||||
msgstr "Adressdatei"
|
||||
|
||||
#: admin_forms.py:77
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Ignoriere nicht-schwerwiegende Fehler"
|
||||
|
||||
#: admin_forms.py:88
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Sie sollten den Vorgang bestätigen um fortzufahren."
|
||||
|
||||
#: admin_forms.py:91
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Bestätigen Sie den Importierungsvorgang."
|
||||
|
||||
#: admin_forms.py:121 admin_forms.py:129
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Falls ein Benutzer ausgewählt wurde, sollte dieses Feld leer bleiben."
|
||||
|
||||
#: admin_forms.py:139
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Es muss entweder ein Benutzer ausgewählt, oder eine Adresse vergeben werden."
|
||||
|
||||
#: admin_forms.py:164
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Diese Nachricht wurde bereits durch eine andere Ausgabe im Archiv veröffentlicht. Nachrichten können aber nur einmal veröffentlicht werden."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "Objekt %(name)s mit Primärschlüssel %(key)r existiert nicht. "
|
||||
|
||||
#: forms.py:57
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Ihre E-Mail-Adresse ist bereits eingetragen."
|
||||
|
||||
#: forms.py:84
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Dieses Abonnement wurde noch nicht aktiviert."
|
||||
|
||||
#: forms.py:102
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Diese E-Mail-Adresse ist nicht eingetragen."
|
||||
|
||||
#: forms.py:117
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Dieses Abonnement wurde bereits gekündigt."
|
||||
|
||||
#: forms.py:133
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Der Bestätigungsschlüssel stimmt nicht."
|
||||
|
||||
#: forms.py:139
|
||||
msgid "Activation code"
|
||||
msgstr "Aktivierungsschlüssel"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Verschicke Newsletter in Warteliste"
|
||||
|
||||
#: models.py:34
|
||||
msgid "newsletter title"
|
||||
msgstr "Newslettertitel"
|
||||
|
||||
#: models.py:39
|
||||
msgid "Sender e-mail"
|
||||
msgstr "Absenderadresse"
|
||||
|
||||
#: models.py:42
|
||||
msgid "sender"
|
||||
msgstr "Absender"
|
||||
|
||||
#: models.py:42
|
||||
msgid "Sender name"
|
||||
msgstr "Absendername"
|
||||
|
||||
#: models.py:46
|
||||
msgid "visible"
|
||||
msgstr "sichtbar"
|
||||
|
||||
#: models.py:50
|
||||
msgid "send html"
|
||||
msgstr "HTML verschicken"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Ob HTML-Versionen der E-Mails verschickt werden sollen."
|
||||
|
||||
#: models.py:103
|
||||
msgid "newsletters"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: models.py:159
|
||||
msgid "user"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: models.py:165
|
||||
msgid "optional"
|
||||
msgstr "optional"
|
||||
|
||||
#: models.py:209
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Abonnement %(subscription)s wurde aktualisiert durch \"%(action)s\"."
|
||||
|
||||
#: models.py:251
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Es ist weder eine E-Mail-Adresse noch ein Benutzername angegeben. Das schreit nach Inkonsistenz!"
|
||||
|
||||
#: models.py:255
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Wenn ein Benutzer angegeben ist, muss das Adressfeld leer bleiben (und umgekehrt)."
|
||||
|
||||
#: models.py:297
|
||||
msgid "IP address"
|
||||
msgstr "IP-Adresse"
|
||||
|
||||
#: models.py:306
|
||||
msgid "activation code"
|
||||
msgstr "Aktivierungsschlüssel"
|
||||
|
||||
#: models.py:311
|
||||
msgid "subscribed"
|
||||
msgstr "abonniert"
|
||||
|
||||
#: models.py:319
|
||||
msgid "unsubscribed"
|
||||
msgstr "ausgetragen"
|
||||
|
||||
#: models.py:327
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> bei %(newsletter)s"
|
||||
|
||||
#: models.py:334
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s bei %(newsletter)s"
|
||||
|
||||
#: models.py:340
|
||||
msgid "subscription"
|
||||
msgstr "Abonnement"
|
||||
|
||||
#: models.py:341
|
||||
msgid "subscriptions"
|
||||
msgstr "Abonnements"
|
||||
|
||||
#: models.py:429
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Sortierung legt fest, in welcher Reihenfolge die Artikel in der Nachricht zusammengefasst werden."
|
||||
|
||||
#: models.py:431
|
||||
msgid "sort order"
|
||||
msgstr "Sortierung"
|
||||
|
||||
#: models.py:434 models.py:476
|
||||
msgid "title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: models.py:435
|
||||
msgid "text"
|
||||
msgstr "Text"
|
||||
|
||||
#: models.py:438
|
||||
msgid "link"
|
||||
msgstr "Link"
|
||||
|
||||
#: models.py:444
|
||||
msgid "image"
|
||||
msgstr "Bild"
|
||||
|
||||
#: models.py:456
|
||||
msgid "article"
|
||||
msgstr "Artikel"
|
||||
|
||||
#: models.py:457
|
||||
msgid "articles"
|
||||
msgstr "Artikel"
|
||||
|
||||
#: models.py:477
|
||||
msgid "slug"
|
||||
msgstr "Kurzform"
|
||||
|
||||
#: models.py:484
|
||||
msgid "created"
|
||||
msgstr "Erstellt"
|
||||
|
||||
#: models.py:487
|
||||
msgid "modified"
|
||||
msgstr "verändert"
|
||||
|
||||
#: models.py:492
|
||||
msgid "messages"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
#: models.py:497
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s in %(newsletter)s"
|
||||
|
||||
#: models.py:556
|
||||
msgid "submissions"
|
||||
msgstr "Ausgaben"
|
||||
|
||||
#: models.py:559
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s vom %(publish_date)s"
|
||||
|
||||
#: models.py:578
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Verschicke %(submission)s an %(count)d Personen"
|
||||
|
||||
#: models.py:637
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Verschicke Nachricht an: %s."
|
||||
|
||||
#: models.py:646
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Nachricht %(subscription)s schlug fehl: %(error)s"
|
||||
|
||||
#: models.py:664
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Ausgabe der Nachricht %s"
|
||||
|
||||
#: models.py:709
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Falls Sie keine auswählen, wird das System automatisch Abonnenten auswählen."
|
||||
|
||||
#: models.py:711
|
||||
msgid "recipients"
|
||||
msgstr "Empfänger"
|
||||
|
||||
#: models.py:716
|
||||
msgid "publication date"
|
||||
msgstr "Veröffentlichungsdatum"
|
||||
|
||||
#: models.py:720
|
||||
msgid "publish"
|
||||
msgstr "veröffentlichen"
|
||||
|
||||
#: models.py:721
|
||||
msgid "Publish in archive."
|
||||
msgstr "Im Archiv einsehbar."
|
||||
|
||||
#: models.py:725
|
||||
msgid "prepared"
|
||||
msgstr "vorbereitet"
|
||||
|
||||
#: models.py:729
|
||||
msgid "sent"
|
||||
msgstr "Versendet"
|
||||
|
||||
#: models.py:733
|
||||
msgid "sending"
|
||||
msgstr "Sende"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Nachrichtenvorschau"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Startseite"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Änderung"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Ausgabe erstellen"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Mitteilung"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Abschicken"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:5
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Adressen importieren"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Bestätigen"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Hochladen"
|
||||
|
||||
#: templates/newsletter/message/message.html:21
|
||||
msgid "Read more"
|
||||
msgstr "weiter lesen"
|
||||
|
||||
#: templates/newsletter/message/message.html:27
|
||||
msgid "Read message online"
|
||||
msgstr "Nachricht online lesen"
|
||||
|
||||
#: templates/newsletter/message/message.html:29
|
||||
#: templates/newsletter/newsletter_detail.html:21
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: templates/newsletter/message/message.txt:15
|
||||
msgid "Unsubscribe:"
|
||||
msgstr "Abmelden:"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:6
|
||||
#, python-format
|
||||
msgid "Subscription to %(title)s"
|
||||
msgstr "Angemeldet in %(title)s"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:10
|
||||
#: templates/newsletter/message/subscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested a subscription to %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your subscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Guten Tag %(name)s,\n\nSie, oder eine andere Person in Ihrem Namen hat die Anmeldung in %(title)s vorgenommen.\n\nWenn Sie die Anmeldung bestätigen möchten klicken Sie bitte auf folgenden Link:\nhttps://%(domain)s%(url)s\n\nMit freundlichen Grüßen"
|
||||
|
||||
#: templates/newsletter/message/subscribe_subject.txt:1
|
||||
msgid "Confirm subscription"
|
||||
msgstr "Anmeldung bestätigen"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:6
|
||||
#, python-format
|
||||
msgid "Unsubscription from %(title)s"
|
||||
msgstr "Abmelden von %(title)s"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:9
|
||||
#: templates/newsletter/message/unsubscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested unsubscription from %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your unsubscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Guten Tag %(name)s,\n\nSie, oder eine andere Person in Ihrem Namen hat die Abmeldung von %(title)s vorgenommen .\n\nWenn Sie die Abmeldung bestätigen möchten klicken Sie bitte auf folgenden Link:\nhttps://%(domain)s%(url)s\n\nMit freundlichen Grüßen"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe_subject.txt:1
|
||||
msgid "Confirm unsubscription"
|
||||
msgstr "Abmeldung bestätigen"
|
||||
|
||||
#: templates/newsletter/message/update.html:6
|
||||
#, python-format
|
||||
msgid "Update of subscription to %(title)s"
|
||||
msgstr "Aktualisierung der Anmeldung in %(title)s"
|
||||
|
||||
#: templates/newsletter/message/update.html:9
|
||||
#: templates/newsletter/message/update.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested updating your personal information for %(title)s.\n"
|
||||
"\n"
|
||||
"To make changes to your information in our database, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Guten Tag %(name)s,\n\nSie, oder eine andere Person in Ihrem Namen hat die Aktualisierung von %(title)s vorgenommen .\n\nWenn Sie die Aktualisierung bestätigen möchten klicken Sie bitte auf folgenden Link::\nhttps://%(domain)s%(url)s\n\nMit freundlichen Grüßen"
|
||||
|
||||
#: templates/newsletter/message/update_subject.txt:1
|
||||
msgid "Update information"
|
||||
msgstr "Aktualisiere Information"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Newsletterdetails"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:13
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:17
|
||||
msgid "Update"
|
||||
msgstr "Aktualisierung"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:24
|
||||
msgid "Archive"
|
||||
msgstr "Archiv"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:27
|
||||
#: templates/newsletter/submission_archive.html:18
|
||||
msgid "Back to list"
|
||||
msgstr "zurück zur Liste"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Newsletterliste"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Abonnements aktualisieren"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Newsletterarchiv"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "aktivieren"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Aktivieren"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Newsletter abonnieren"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Durch einen technischen Fehler konnte die Aktivierungsmail nicht verschickt wreden. Dies kann daran liegen, dass die E-Mail-Adresse ungültig ist."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Ihr Abonnement wurde erfolgreich aktiviert."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Dein Abonnement wurde erfolgreich entgegengenommen und eine E-Mail mit einem Bestätigungslink an dich verschickt. Dieser Bestätigungslink muss aufgerufen werden, um das Abonnement zu aktivieren."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Wollen Sie diesen Newsletter abonnieren?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Newsletter abbestellen"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Ihr Abonnement wurde erfolgreich gekündigt."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Die Kündigung deines Abonnements wurde erfolgreich entgegengenommen. Eine E-Mail mit einem Link zur Bestätigung deiner Kündigung wurde an verschickt."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Wollen sie das Abonnement dieses Newsletters kündigen?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Newsletter-Aktualisierung"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Abonnement aktualisieren"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Ihr Abonnement wurde erfolgreich aktualisiert."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Die Aktualisierung deines Abonnements wurde erfolgreich entgegengenommen und eine E-Mail verschickt. In dieser E-Mail befindet sich ein Link, den es aufzurufen gilt, um die Änderungen zu bestätigen."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Momentan:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Änderung:"
|
||||
|
||||
#: validators.py:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "Die E-Mail-Adresse '%(email)s' ist mit einem Konto auf dieser Seite verknüpft. Bitte melden Sie sich mit diesem Konto an und versuchen Sie es erneut."
|
||||
|
||||
#: views.py:120
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Ihre Änderungen wurden gespeichert."
|
||||
|
||||
#: views.py:311
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Sie haben %s abonniert."
|
||||
|
||||
#: views.py:315
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Benutzer %(rs)s abonnierte %(my_newsletter)s."
|
||||
|
||||
#: views.py:325
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Sie haben %s bereits abonniert."
|
||||
|
||||
#: views.py:350
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Sie haben das Abonnement von %s gekündigt."
|
||||
|
||||
#: views.py:354
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Benutzer %(rs)s kündigte Abonnement von %(my_newsletter)s."
|
||||
|
||||
#: views.py:367
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Sie haben %s nicht abonniert."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Jannis Vajen, 2012
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2013-11-20 12:25+0000\n"
|
||||
"Last-Translator: Jannis Vajen\n"
|
||||
"Language-Team: German (http://www.transifex.com/dokterbob/django-newsletter/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Die Ausgabe wurde verändert. Vor dem Verschicken muss sie zunächst gespeichert werden. Klicken Sie auf OK um zu speichern, auf Abbrechen um mit dem Editieren fortzufahren."
|
||||
Binary file not shown.
@@ -0,0 +1,849 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2018
|
||||
# Sophocles Tsivides <sophocles.tsivides@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-16 11:31+0000\n"
|
||||
"PO-Revision-Date: 2018-03-25 19:06+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Greek (Greece) (http://www.transifex.com/dokterbob/django-newsletter/language/el_GR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: el_GR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "Η καταχώρηση '%s' δεν περιέχει έγκυρη διεύθυνση e-mail."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Το αρχείο διευθύνσεων περιέχει διπλές καταχωρήσεις για '%s΄."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Ορισμένες καταχωρήσεις έχουν ήδη εγγραφεί."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Η διεύθυνση e-mail %(email)s είναι πολύ μεγάλη, το μέγιστος μήκος είναι %(email_length)s χαρακτήρες."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Το όνομα %(name)s είναι πολύ μεγάλο, το μέγιστος μήκος είναι %(name_length)s χαρακτήρες."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:165
|
||||
msgid "name"
|
||||
msgstr "όνομα"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "προβολή"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Δεν βρέθηκε στήλη ονόματος. Το όνομα αυτής της στήλης πρέπει να είναι είτε 'όνομα' είτε '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 forms.py:43 forms.py:76 models.py:39
|
||||
#: models.py:179
|
||||
msgid "e-mail"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Δεν βρέθηκε στήλη e-mail. Το όνομα αυτής της στήλης πρέπει να είναι είτε 'e-mail' είτε '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Δεν ήταν δυνατό να προσδιοριστούν σωστά οι στήλες στο αρχείο CSV. Πρέπει να υπάρχει ένα πεδίο που ονομάζεται 'όνομα' ή %(name)s και ένα που ονομάζεται 'e-mail' ή '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:264
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "Η σειρά με περιεχόμενο '%(row)s' δεν περιέχει πεδίο ονόματος και e-mail."
|
||||
|
||||
#: addressimport/parsers.py:290
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Σφάλμα ανάγνωσης αρχείου vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:309
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "Η καταχώρηση '%s' δεν περιέχει διεύθυνση e-mail."
|
||||
|
||||
#: addressimport/parsers.py:345
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Ορισμένες καταχωρήσεις δεν έχουν διεύθυνση e-mail."
|
||||
|
||||
#: admin.py:79
|
||||
msgid "Messages"
|
||||
msgstr "Μηνύματα"
|
||||
|
||||
#: admin.py:83
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Συνδρομές"
|
||||
|
||||
#: admin.py:87
|
||||
msgid "Submissions"
|
||||
msgstr "Υποβολές"
|
||||
|
||||
#: admin.py:99 models.py:102 models.py:300 models.py:480 models.py:699
|
||||
msgid "newsletter"
|
||||
msgstr "ενημερωτικό δελτίο"
|
||||
|
||||
#: admin.py:117 models.py:555
|
||||
msgid "submission"
|
||||
msgstr "υποβολή"
|
||||
|
||||
#: admin.py:124
|
||||
msgid "publish date"
|
||||
msgstr "ημερομηνία δημοσίευσης"
|
||||
|
||||
#: admin.py:154
|
||||
msgid "Sent."
|
||||
msgstr "Απεστάλη."
|
||||
|
||||
#: admin.py:157
|
||||
msgid "Delayed submission."
|
||||
msgstr "Καθυστερημένη υποβολή."
|
||||
|
||||
#: admin.py:159
|
||||
msgid "Submitting."
|
||||
msgstr "Υποβολή."
|
||||
|
||||
#: admin.py:161
|
||||
msgid "Not sent."
|
||||
msgstr "Δεν απεστάλη."
|
||||
|
||||
#: admin.py:162 admin.py:389 admin_forms.py:115
|
||||
msgid "Status"
|
||||
msgstr "Κατάσταση"
|
||||
|
||||
#: admin.py:169
|
||||
msgid "Submission already sent."
|
||||
msgstr "Η υποβολή έχει ήδη σταλεί."
|
||||
|
||||
#: admin.py:178
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Η υποβολή σας αποστέλλεται."
|
||||
|
||||
#: admin.py:225
|
||||
msgid "Optional"
|
||||
msgstr "Προαιρετικό"
|
||||
|
||||
#: admin.py:253 models.py:450 models.py:491 models.py:703
|
||||
msgid "message"
|
||||
msgstr "μήνυμα"
|
||||
|
||||
#: admin.py:258 templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Προεπισκόπηση"
|
||||
|
||||
#: admin.py:275 views.py:611
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Δεν υπάρχει πρότυπο HTML που να σχετίζεται με το newsletter στο οποίο ανήκει αυτό το μήνυμα."
|
||||
|
||||
#: admin.py:384 admin_forms.py:103
|
||||
msgid "Subscribed"
|
||||
msgstr "Εγγεγραμμένος"
|
||||
|
||||
#: admin.py:386 admin_forms.py:104
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Έχει διαγραφεί"
|
||||
|
||||
#: admin.py:388
|
||||
msgid "Unactivated"
|
||||
msgstr "Μη ενεργοποιημένος"
|
||||
|
||||
#: admin.py:396 models.py:314
|
||||
msgid "subscribe date"
|
||||
msgstr "ημερομηνία εγγραφής"
|
||||
|
||||
#: admin.py:403 models.py:322
|
||||
msgid "unsubscribe date"
|
||||
msgstr "ημερομηνία διαγραφής"
|
||||
|
||||
#: admin.py:411
|
||||
#, python-format
|
||||
msgid "%d user has been successfully subscribed."
|
||||
msgid_plural "%d users have been successfully subscribed."
|
||||
msgstr[0] " %dχρήστες έχουν εγγραφεί επιτυχώς. "
|
||||
msgstr[1] " %dχρήστες έχουν εγγραφεί επιτυχώς."
|
||||
|
||||
#: admin.py:416
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Εγγραφή επιλεγμένων χρηστών"
|
||||
|
||||
#: admin.py:423
|
||||
#, python-format
|
||||
msgid "%d user has been successfully unsubscribed."
|
||||
msgid_plural "%d users have been successfully unsubscribed."
|
||||
msgstr[0] "%dχρήστες έχουν διαγραφεί επιτυχώς. "
|
||||
msgstr[1] "%dχρήστες έχουν διαγραφεί επιτυχώς. "
|
||||
|
||||
#: admin.py:428
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Διαγραφή επιλεγμένων χρηστών"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%d subscription has been successfully added."
|
||||
msgid_plural "%d subscriptions have been successfully added."
|
||||
msgstr[0] "%d συνδρομές προστέθηκαν επιτυχώς."
|
||||
msgstr[1] "%d συνδρομές προστέθηκαν επιτυχώς."
|
||||
|
||||
#: admin_forms.py:43
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Ο τύπος αρχείου '%s' δεν αναγνωρίστηκε."
|
||||
|
||||
#: admin_forms.py:60
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Η επέκταση αρχείου '%s' δεν αναγνωρίστηκε."
|
||||
|
||||
#: admin_forms.py:64
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Σε αυτό το αρχείο δεν βρέθηκαν καταχωρήσεις."
|
||||
|
||||
#: admin_forms.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:6
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Address file"
|
||||
msgstr "Διεύθυνση αρχείου"
|
||||
|
||||
#: admin_forms.py:77
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Αγνοήστε τα μη μοιραία σφάλματα"
|
||||
|
||||
#: admin_forms.py:88
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Θα πρέπει να επιβεβαιώσετε για να συνεχίσετε."
|
||||
|
||||
#: admin_forms.py:91
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Επιβεβαίωση εισαγωγής"
|
||||
|
||||
#: admin_forms.py:121 admin_forms.py:129
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Εάν έχει επιλεγεί χρήστης, αυτό το πεδίο πρέπει να παραμείνει κενό."
|
||||
|
||||
#: admin_forms.py:139
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Πρέπει να επιλεγεί ένας χρήστης ή να οριστεί μια διεύθυνση e-mail."
|
||||
|
||||
#: admin_forms.py:164
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Αυτό το μήνυμα έχει ήδη δημοσιευθεί σε κάποια άλλη υποβολή. Τα μηνύματα μπορούν να δημοσιεύονται μόνο μία φορά."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "%(name)s αντικείμενο με πρωτεύον κλειδί %(key)r δεν υπάρχει."
|
||||
|
||||
#: forms.py:57
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Η διεύθυνση e-mail σας έχει ήδη εγγραφεί."
|
||||
|
||||
#: forms.py:84
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Αυτή η συνδρομή δεν έχει ενεργοποιηθεί ακόμα."
|
||||
|
||||
#: forms.py:102
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Αυτή η διεύθυνση e-mail δεν έχει εγγραφεί."
|
||||
|
||||
#: forms.py:117
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Αυτή η συνδρομή έχει ήδη διαγραφεί."
|
||||
|
||||
#: forms.py:133
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Ο κωδικός επικύρωσης που εισήχθη από εσάς δεν ταιριάζει."
|
||||
|
||||
#: forms.py:139
|
||||
msgid "Activation code"
|
||||
msgstr "Κωδικός ενεργοποίησης"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Υποβολή ουράς αναμονής αποστολής newsletter"
|
||||
|
||||
#: models.py:34
|
||||
msgid "newsletter title"
|
||||
msgstr "τίτλος newsletter"
|
||||
|
||||
#: models.py:39
|
||||
msgid "Sender e-mail"
|
||||
msgstr "E-mail αποστολέα"
|
||||
|
||||
#: models.py:42
|
||||
msgid "sender"
|
||||
msgstr "αποστολέας"
|
||||
|
||||
#: models.py:42
|
||||
msgid "Sender name"
|
||||
msgstr "Όνομα αποστολέα"
|
||||
|
||||
#: models.py:46
|
||||
msgid "visible"
|
||||
msgstr "ορατό"
|
||||
|
||||
#: models.py:50
|
||||
msgid "send html"
|
||||
msgstr "αποστολή html"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Να αποστέλλονται ή όχι e-mails σε έκδοση HTML."
|
||||
|
||||
#: models.py:103
|
||||
msgid "newsletters"
|
||||
msgstr "newsletters"
|
||||
|
||||
#: models.py:159
|
||||
msgid "user"
|
||||
msgstr "χρήστης"
|
||||
|
||||
#: models.py:165
|
||||
msgid "optional"
|
||||
msgstr "προαιρετικό"
|
||||
|
||||
#: models.py:209
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Ενημερώθηκε η συνδρομή %(subscription)s σε %(action)s."
|
||||
|
||||
#: models.py:251
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Δεν έχει οριστεί ούτε e-mail ούτε ένα όνομα χρήστη. Αυτό είναι ασυνέπεια!"
|
||||
|
||||
#: models.py:255
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Εάν έχει οριστεί χρήστης, το e-mail πρέπει να είναι κενό και αντίστροφα."
|
||||
|
||||
#: models.py:297
|
||||
msgid "IP address"
|
||||
msgstr "Διεύθυνση IP"
|
||||
|
||||
#: models.py:306
|
||||
msgid "activation code"
|
||||
msgstr "κωδικός ενεργοποίησης"
|
||||
|
||||
#: models.py:311
|
||||
msgid "subscribed"
|
||||
msgstr "εγγεγραμμένος"
|
||||
|
||||
#: models.py:319
|
||||
msgid "unsubscribed"
|
||||
msgstr "διαγραμμένος"
|
||||
|
||||
#: models.py:327
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s<%(email)s σε %(newsletter)s"
|
||||
|
||||
#: models.py:334
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s σε %(newsletter)s"
|
||||
|
||||
#: models.py:340
|
||||
msgid "subscription"
|
||||
msgstr "συνδρομή"
|
||||
|
||||
#: models.py:341
|
||||
msgid "subscriptions"
|
||||
msgstr "συνδρομές"
|
||||
|
||||
#: models.py:429
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Η σειρά ταξινόμησης καθορίζει τη σειρά με την οποία τα άρθρα συνδέονται σε μια δημοσίευση."
|
||||
|
||||
#: models.py:431
|
||||
msgid "sort order"
|
||||
msgstr "σειρά ταξινόμησης"
|
||||
|
||||
#: models.py:434 models.py:476
|
||||
msgid "title"
|
||||
msgstr "τίτλος"
|
||||
|
||||
#: models.py:435
|
||||
msgid "text"
|
||||
msgstr "κείμενο"
|
||||
|
||||
#: models.py:438
|
||||
msgid "link"
|
||||
msgstr "σύνδεσμος"
|
||||
|
||||
#: models.py:444
|
||||
msgid "image"
|
||||
msgstr "εικόνα"
|
||||
|
||||
#: models.py:456
|
||||
msgid "article"
|
||||
msgstr "άρθρο"
|
||||
|
||||
#: models.py:457
|
||||
msgid "articles"
|
||||
msgstr "άρθρα"
|
||||
|
||||
#: models.py:477
|
||||
msgid "slug"
|
||||
msgstr "τίτλος"
|
||||
|
||||
#: models.py:484
|
||||
msgid "created"
|
||||
msgstr "δημιουργήθηκε"
|
||||
|
||||
#: models.py:487
|
||||
msgid "modified"
|
||||
msgstr "τροποποιήθηκε"
|
||||
|
||||
#: models.py:492
|
||||
msgid "messages"
|
||||
msgstr "μηνύματα"
|
||||
|
||||
#: models.py:497
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s σε %(newsletter)s"
|
||||
|
||||
#: models.py:556
|
||||
msgid "submissions"
|
||||
msgstr "υποβολές"
|
||||
|
||||
#: models.py:559
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s σε %(publish_date)s"
|
||||
|
||||
#: models.py:578
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Υποβάλλονται %(submission)s σε %(count)d άτομα"
|
||||
|
||||
#: models.py:637
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Υποβολή μηνύματος σε: %s."
|
||||
|
||||
#: models.py:646
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Το μήνυμα %(subscription)sαπέτυχε με σφάλμα: %(error)s"
|
||||
|
||||
#: models.py:664
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Υποβολή μηνύματος %s"
|
||||
|
||||
#: models.py:709
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Εάν δεν επιλέξετε κανένα, το σύστημα θα εντοπίσει αυτόματα τους συνδρομητές για εσάς."
|
||||
|
||||
#: models.py:711
|
||||
msgid "recipients"
|
||||
msgstr "παραλήπτες"
|
||||
|
||||
#: models.py:716
|
||||
msgid "publication date"
|
||||
msgstr "ημερομηνία δημοσίευσης"
|
||||
|
||||
#: models.py:720
|
||||
msgid "publish"
|
||||
msgstr "δημοσίευση"
|
||||
|
||||
#: models.py:721
|
||||
msgid "Publish in archive."
|
||||
msgstr "Δημοσίευση στο αρχείο."
|
||||
|
||||
#: models.py:725
|
||||
msgid "prepared"
|
||||
msgstr "ετοιμάστηκε"
|
||||
|
||||
#: models.py:729
|
||||
msgid "sent"
|
||||
msgstr "απεστάλη"
|
||||
|
||||
#: models.py:733
|
||||
msgid "sending"
|
||||
msgstr "αποστέλλεται"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Προεπισκόπηση μηνύματος"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Κεντρική σελίδα"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Μήνυμα"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Αλλαγή"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Δημιουργία υποβολής"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Κείμενο"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Υποβολή"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:5
|
||||
msgid "Import"
|
||||
msgstr "Εισαγωγή"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Εισαγωγή διευθύνσεων"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Επιβεβαίωση"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Μεταφόρτωση"
|
||||
|
||||
#: templates/newsletter/message/message.html:21
|
||||
msgid "Read more"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/message.html:27
|
||||
msgid "Read message online"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/message.html:29
|
||||
#: templates/newsletter/newsletter_detail.html:21
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Διαγραφή"
|
||||
|
||||
#: templates/newsletter/message/message.txt:15
|
||||
msgid "Unsubscribe:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:6
|
||||
#, python-format
|
||||
msgid "Subscription to %(title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:10
|
||||
#: templates/newsletter/message/subscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested a subscription to %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your subscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/subscribe_subject.txt:1
|
||||
msgid "Confirm subscription"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:6
|
||||
#, python-format
|
||||
msgid "Unsubscription from %(title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:9
|
||||
#: templates/newsletter/message/unsubscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested unsubscription from %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your unsubscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/unsubscribe_subject.txt:1
|
||||
msgid "Confirm unsubscription"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/update.html:6
|
||||
#, python-format
|
||||
msgid "Update of subscription to %(title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/update.html:9
|
||||
#: templates/newsletter/message/update.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested updating your personal information for %(title)s.\n"
|
||||
"\n"
|
||||
"To make changes to your information in our database, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/update_subject.txt:1
|
||||
msgid "Update information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Λεπτομέρειες newsletter"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:13
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Εγγραφή"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:17
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:24
|
||||
msgid "Archive"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:27
|
||||
#: templates/newsletter/submission_archive.html:18
|
||||
msgid "Back to list"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Λίστα newsletter"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Ενημέρωση συνδρομών"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Αρχείο newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "ενεργοποίηση"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Ενεργοποίηση"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Εγγραφή στο newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Λόγω τεχνικού σφάλματος, δεν ήταν δυνατή η υποβολή του e-mail επιβεβαίωσης. Αυτό μπορεί να οφείλεται στο γεγονός ότι η διεύθυνση e-mail σας δεν είναι έγκυρη."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Η συνδρομή σας έχει ενεργοποιηθεί με επιτυχία."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Το αίτημα συνδρομής σας λήφθηκε με επιτυχία και εστάλη e-mail ενεργοποίησης. Σε αυτό το e-mail θα βρείτε έναν σύνδεσμο που πρέπει να ακολουθήσετε για να ενεργοποιήσετε τη συνδρομή σας."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Θέλετε να εγγραφείτε σε αυτό το newsletter;"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Διαγραφή από το newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Έχετε καταργήσει την εγγραφή σας με επιτυχία."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Το αίτημά σας για κατάργηση εγγραφής έχει ληφθεί με επιτυχία. Σας έχει σταλεί ένα e-mail με έναν σύνδεσμο που πρέπει να ακολουθήσετε για να επιβεβαιώσετε την κατάργηση της εγγραφής σας."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Θέλετε να διαγραφείτε από αυτό το newsletter;"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Ενημέρωση newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Ενημέρωση συνδρομής"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Η συνδρομή σας έχει ενημερωθεί με επιτυχία."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Η αίτησή σας για ενημέρωση λήφθηκε με επιτυχία και εστάλη ένα e-mail ενεργοποίησης. Σε αυτό το e-mail θα βρείτε έναν σύνδεσμο που πρέπει να ακολουθήσετε για να ενημερώσετε τη συνδρομή σας."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Επί του παρόντος:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Αλλαγή:"
|
||||
|
||||
#: validators.py:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "Η διεύθυνση e-mail '%(email)s' ανήκει σε χρήστη με λογαριασμό σε αυτόν τον ιστότοπο. Συνδεθείτε ως αυτός ο χρήστης και δοκιμάστε ξανά."
|
||||
|
||||
#: views.py:120
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Οι αλλαγές σας έχουν αποθηκευτεί."
|
||||
|
||||
#: views.py:311
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Έχετε εγγραφεί στο %s."
|
||||
|
||||
#: views.py:315
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Ο χρήστης %(rs)sέχει εγγραφεί στο %(my_newsletter)s."
|
||||
|
||||
#: views.py:325
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Έχετε ήδη εγγραφεί στο %s."
|
||||
|
||||
#: views.py:350
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Έχετε καταργηθεί η εγγραφή από το %s."
|
||||
|
||||
#: views.py:354
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Ο χρήστης %(rs)sέχει διαγραφεί από το %(my_newsletter)s."
|
||||
|
||||
#: views.py:367
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Δεν έχετε εγγραφεί στο %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Sophocles Tsivides <sophocles.tsivides@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2017-09-23 17:24+0000\n"
|
||||
"Last-Translator: Sophocles Tsivides <sophocles.tsivides@gmail.com>\n"
|
||||
"Language-Team: Greek (Greece) (http://www.transifex.com/dokterbob/django-newsletter/language/el_GR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: el_GR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Η υποβολή έχει αλλάξει. Πρέπει να αποθηκευτεί πριν μπορέσετε να υποβάλετε. Κάντε κλικ στο OK για να προχωρήσετε στην αποθήκευση, κάντε κλικ στο κουμπί ακύρωση για να συνεχίσετε την επεξεργασία."
|
||||
Binary file not shown.
@@ -0,0 +1,850 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-16 11:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:165
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 forms.py:43 forms.py:76 models.py:39
|
||||
#: models.py:179
|
||||
msgid "e-mail"
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:264
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:290
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:309
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr ""
|
||||
|
||||
#: addressimport/parsers.py:345
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:79
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:83
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:87
|
||||
msgid "Submissions"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:99 models.py:102 models.py:300 models.py:480 models.py:699
|
||||
msgid "newsletter"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:117 models.py:555
|
||||
msgid "submission"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:124
|
||||
msgid "publish date"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:154
|
||||
msgid "Sent."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:157
|
||||
msgid "Delayed submission."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:159
|
||||
msgid "Submitting."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:161
|
||||
msgid "Not sent."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:162 admin.py:389 admin_forms.py:115
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:169
|
||||
msgid "Submission already sent."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:178
|
||||
msgid "Your submission is being sent."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:225
|
||||
msgid "Optional"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:253 models.py:450 models.py:491 models.py:703
|
||||
msgid "message"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:258 templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:275 views.py:611
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:384 admin_forms.py:103
|
||||
msgid "Subscribed"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:386 admin_forms.py:104
|
||||
msgid "Unsubscribed"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:388
|
||||
msgid "Unactivated"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:396 models.py:314
|
||||
msgid "subscribe date"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:403 models.py:322
|
||||
msgid "unsubscribe date"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:411
|
||||
#, python-format
|
||||
msgid "%d user has been successfully subscribed."
|
||||
msgid_plural "%d users have been successfully subscribed."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: admin.py:416
|
||||
msgid "Subscribe selected users"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:423
|
||||
#, python-format
|
||||
msgid "%d user has been successfully unsubscribed."
|
||||
msgid_plural "%d users have been successfully unsubscribed."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: admin.py:428
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr ""
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%d subscription has been successfully added."
|
||||
msgid_plural "%d subscriptions have been successfully added."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: admin_forms.py:43
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:60
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:64
|
||||
msgid "No entries could found in this file."
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:6
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Address file"
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:77
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:88
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:91
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:121 admin_forms.py:129
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:139
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr ""
|
||||
|
||||
#: admin_forms.py:164
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr ""
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:57
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:84
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:102
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:117
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:133
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:139
|
||||
msgid "Activation code"
|
||||
msgstr ""
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:34
|
||||
msgid "newsletter title"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:39
|
||||
msgid "Sender e-mail"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:42
|
||||
msgid "sender"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:42
|
||||
msgid "Sender name"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:46
|
||||
msgid "visible"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:50
|
||||
msgid "send html"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:51
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:103
|
||||
msgid "newsletters"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:159
|
||||
msgid "user"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:165
|
||||
msgid "optional"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:209
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:251
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:255
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:297
|
||||
msgid "IP address"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:306
|
||||
msgid "activation code"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:311
|
||||
msgid "subscribed"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:319
|
||||
msgid "unsubscribed"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:327
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:334
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:340
|
||||
msgid "subscription"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:341
|
||||
msgid "subscriptions"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:429
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a post."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:431
|
||||
msgid "sort order"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:434 models.py:476
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:435
|
||||
msgid "text"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:438
|
||||
msgid "link"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:444
|
||||
msgid "image"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:456
|
||||
msgid "article"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:457
|
||||
msgid "articles"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:477
|
||||
msgid "slug"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:484
|
||||
msgid "created"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:487
|
||||
msgid "modified"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:492
|
||||
msgid "messages"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:497
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:556
|
||||
msgid "submissions"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:559
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:578
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:637
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:646
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:664
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:709
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:711
|
||||
msgid "recipients"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:716
|
||||
msgid "publication date"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:720
|
||||
msgid "publish"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:721
|
||||
msgid "Publish in archive."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:725
|
||||
msgid "prepared"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:729
|
||||
msgid "sent"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:733
|
||||
msgid "sending"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:5
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/message.html:21
|
||||
msgid "Read more"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/message.html:27
|
||||
msgid "Read message online"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/message.html:29
|
||||
#: templates/newsletter/newsletter_detail.html:21
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/message.txt:15
|
||||
msgid "Unsubscribe:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:6
|
||||
#, python-format
|
||||
msgid "Subscription to %(title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:10
|
||||
#: templates/newsletter/message/subscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested a subscription to %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your subscription, please follow this "
|
||||
"activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/subscribe_subject.txt:1
|
||||
msgid "Confirm subscription"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:6
|
||||
#, python-format
|
||||
msgid "Unsubscription from %(title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:9
|
||||
#: templates/newsletter/message/unsubscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested unsubscription from %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your unsubscription, please follow this "
|
||||
"activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/unsubscribe_subject.txt:1
|
||||
msgid "Confirm unsubscription"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/update.html:6
|
||||
#, python-format
|
||||
msgid "Update of subscription to %(title)s"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/update.html:9
|
||||
#: templates/newsletter/message/update.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested updating your personal information "
|
||||
"for %(title)s.\n"
|
||||
"\n"
|
||||
"To make changes to your information in our database, please follow this "
|
||||
"activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/message/update_subject.txt:1
|
||||
msgid "Update information"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:13
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:17
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:24
|
||||
msgid "Archive"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:27
|
||||
#: templates/newsletter/submission_archive.html:18
|
||||
msgid "Back to list"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email. "
|
||||
"This could be because your email address is invalid."
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr ""
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr ""
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr ""
|
||||
|
||||
#: validators.py:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:120
|
||||
msgid "Your changes have been saved."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:311
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:315
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:325
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:350
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:354
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr ""
|
||||
|
||||
#: views.py:367
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr ""
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr ""
|
||||
Binary file not shown.
@@ -0,0 +1,853 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Alex Santos <alexsnavas@gmail.com>, 2013
|
||||
# Dehivis Perez <dperez@unerg.edu.ve>, 2015
|
||||
# Diamo Rafaela <contacto@diamo.com.ar>, 2016
|
||||
# hernantz <hernantz@gmail.com>, 2013
|
||||
# Javi Palanca <jpalanca@dsic.upv.es>, 2017-2018
|
||||
# Jorge Cuaron <kerloom@yahoo.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-16 11:31+0000\n"
|
||||
"PO-Revision-Date: 2018-03-19 10:35+0000\n"
|
||||
"Last-Translator: Javi Palanca <jpalanca@dsic.upv.es>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/dokterbob/django-newsletter/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "La entrada '%s' no contiene una dirección de email válida."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "El archivo de direcciones contiene entradas duplicadas para '%s'"
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Algunas entradas ya están suscritas."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Dirección de e-mail %(email)s demasiado larga, el máximo es de %(email_length)s caracteres."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Nombre %(name)s demasiado largo, el máximo es de %(name_length)s caracteres."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:165
|
||||
msgid "name"
|
||||
msgstr "nombre"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "mostrar"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "No se encuentra el nombre de columna. El nombre de esta columna debe ser 'name' o '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 forms.py:43 forms.py:76 models.py:39
|
||||
#: models.py:179
|
||||
msgid "e-mail"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "La columna e-mail no se encuentra. El nombre de esta columna debe ser 'email', 'e-mail' o '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "No se pudo determinar adecuadamente las columnas apropiadas en el archivo CSV. Debe haber un campo llamado 'nombre' o '%(name)s' y uno llamado \"e-mail\" o \"%(e-mail)s '."
|
||||
|
||||
#: addressimport/parsers.py:264
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "La fila con el contenido '%(row)s' no contiene un campo de nombre y email."
|
||||
|
||||
#: addressimport/parsers.py:290
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Error leyendo archivo vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:309
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "La entrada '%s' no contiene una dirección de email."
|
||||
|
||||
#: addressimport/parsers.py:345
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Algunas entradas no tienen dirección de email."
|
||||
|
||||
#: admin.py:79
|
||||
msgid "Messages"
|
||||
msgstr "Mensajes"
|
||||
|
||||
#: admin.py:83
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Suscripciones"
|
||||
|
||||
#: admin.py:87
|
||||
msgid "Submissions"
|
||||
msgstr "Envíos"
|
||||
|
||||
#: admin.py:99 models.py:102 models.py:300 models.py:480 models.py:699
|
||||
msgid "newsletter"
|
||||
msgstr "boletín de noticias"
|
||||
|
||||
#: admin.py:117 models.py:555
|
||||
msgid "submission"
|
||||
msgstr "envío"
|
||||
|
||||
#: admin.py:124
|
||||
msgid "publish date"
|
||||
msgstr "fecha de publicación"
|
||||
|
||||
#: admin.py:154
|
||||
msgid "Sent."
|
||||
msgstr "Enviado."
|
||||
|
||||
#: admin.py:157
|
||||
msgid "Delayed submission."
|
||||
msgstr "Envío aplazado."
|
||||
|
||||
#: admin.py:159
|
||||
msgid "Submitting."
|
||||
msgstr "Enviando."
|
||||
|
||||
#: admin.py:161
|
||||
msgid "Not sent."
|
||||
msgstr "No enviado."
|
||||
|
||||
#: admin.py:162 admin.py:389 admin_forms.py:115
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
|
||||
#: admin.py:169
|
||||
msgid "Submission already sent."
|
||||
msgstr "Envío ya enviado."
|
||||
|
||||
#: admin.py:178
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Tu envío está siendo enviado."
|
||||
|
||||
#: admin.py:225
|
||||
msgid "Optional"
|
||||
msgstr "Opcional"
|
||||
|
||||
#: admin.py:253 models.py:450 models.py:491 models.py:703
|
||||
msgid "message"
|
||||
msgstr "mensaje"
|
||||
|
||||
#: admin.py:258 templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Vista previa"
|
||||
|
||||
#: admin.py:275 views.py:611
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "No hay una plantilla HTML asociada al boletín de noticias al que pertenece este mensaje."
|
||||
|
||||
#: admin.py:384 admin_forms.py:103
|
||||
msgid "Subscribed"
|
||||
msgstr "Suscrito"
|
||||
|
||||
#: admin.py:386 admin_forms.py:104
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Eliminado"
|
||||
|
||||
#: admin.py:388
|
||||
msgid "Unactivated"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: admin.py:396 models.py:314
|
||||
msgid "subscribe date"
|
||||
msgstr "fecha de suscripción"
|
||||
|
||||
#: admin.py:403 models.py:322
|
||||
msgid "unsubscribe date"
|
||||
msgstr "fecha de baja"
|
||||
|
||||
#: admin.py:411
|
||||
#, python-format
|
||||
msgid "%d user has been successfully subscribed."
|
||||
msgid_plural "%d users have been successfully subscribed."
|
||||
msgstr[0] "%d usuario se ha suscrito con éxito."
|
||||
msgstr[1] "%d usuarios se han suscrito con éxito."
|
||||
|
||||
#: admin.py:416
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Suscribir usuarios seleccionados"
|
||||
|
||||
#: admin.py:423
|
||||
#, python-format
|
||||
msgid "%d user has been successfully unsubscribed."
|
||||
msgid_plural "%d users have been successfully unsubscribed."
|
||||
msgstr[0] "%d usuario se ha dado de baja con éxito. "
|
||||
msgstr[1] "%d usuarios se han dado de baja con éxito."
|
||||
|
||||
#: admin.py:428
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Dar de baja usuarios seleccionados"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%d subscription has been successfully added."
|
||||
msgid_plural "%d subscriptions have been successfully added."
|
||||
msgstr[0] "%d suscripción se ha añadido con éxito. "
|
||||
msgstr[1] "%d suscripciones se han añadido con éxito."
|
||||
|
||||
#: admin_forms.py:43
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Tipo de archivo '%s' no fue reconocido."
|
||||
|
||||
#: admin_forms.py:60
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "La extensión de archivo '%s' no fue reconocida."
|
||||
|
||||
#: admin_forms.py:64
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "No se encontraron entradas en este archivo."
|
||||
|
||||
#: admin_forms.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:6
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Boletín de Noticias"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Address file"
|
||||
msgstr "Archivo de direcciones"
|
||||
|
||||
#: admin_forms.py:77
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Ignorar errores no fatales"
|
||||
|
||||
#: admin_forms.py:88
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Debes confirmar para poder continuar."
|
||||
|
||||
#: admin_forms.py:91
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Confirmar importación"
|
||||
|
||||
#: admin_forms.py:121 admin_forms.py:129
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Si un usuario ha sido seleccionado este campo debería permanecer vacío."
|
||||
|
||||
#: admin_forms.py:139
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "O bien un usuario debe ser seleccionado o una dirección de correo debe ser especificada."
|
||||
|
||||
#: admin_forms.py:164
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Este mensaje ya ha sido publicado en otra publicación. Los mensajes solo pueden ser publicados una sola vez."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "El objeto %(name)s con clave primaria %(key)r no existe."
|
||||
|
||||
#: forms.py:57
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Su dirección de e-mail ya ha sido suscrita."
|
||||
|
||||
#: forms.py:84
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Tu suscripción no ha sido activada todavía."
|
||||
|
||||
#: forms.py:102
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Esta dirección de correo electrónico no ha sido suscrita."
|
||||
|
||||
#: forms.py:117
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Esta suscripción ya se ha cancelado."
|
||||
|
||||
#: forms.py:133
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "El código de validación introducido por usted no coincide."
|
||||
|
||||
#: forms.py:139
|
||||
msgid "Activation code"
|
||||
msgstr "Código de activación"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Enviando emails en cola del boletín de noticias."
|
||||
|
||||
#: models.py:34
|
||||
msgid "newsletter title"
|
||||
msgstr "título del boletín de noticias"
|
||||
|
||||
#: models.py:39
|
||||
msgid "Sender e-mail"
|
||||
msgstr "Correo del remitente"
|
||||
|
||||
#: models.py:42
|
||||
msgid "sender"
|
||||
msgstr "remitente"
|
||||
|
||||
#: models.py:42
|
||||
msgid "Sender name"
|
||||
msgstr "Nombre del remitente"
|
||||
|
||||
#: models.py:46
|
||||
msgid "visible"
|
||||
msgstr "visible"
|
||||
|
||||
#: models.py:50
|
||||
msgid "send html"
|
||||
msgstr "enviar html"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Enviar o no las versiones HTML de los correos."
|
||||
|
||||
#: models.py:103
|
||||
msgid "newsletters"
|
||||
msgstr "boletines de noticias"
|
||||
|
||||
#: models.py:159
|
||||
msgid "user"
|
||||
msgstr "usuario"
|
||||
|
||||
#: models.py:165
|
||||
msgid "optional"
|
||||
msgstr "opcional"
|
||||
|
||||
#: models.py:209
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Suscripción %(subscription)s editada a %(action)s."
|
||||
|
||||
#: models.py:251
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Ni el email ni el nombre del usuario han sido introducidos. ¡Esto puede provocar inconsistencias!"
|
||||
|
||||
#: models.py:255
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Si el usuario está especificado, el campo email debe estar vacío y viceversa."
|
||||
|
||||
#: models.py:297
|
||||
msgid "IP address"
|
||||
msgstr "Dirección IP"
|
||||
|
||||
#: models.py:306
|
||||
msgid "activation code"
|
||||
msgstr "código de activación"
|
||||
|
||||
#: models.py:311
|
||||
msgid "subscribed"
|
||||
msgstr "suscrito"
|
||||
|
||||
#: models.py:319
|
||||
msgid "unsubscribed"
|
||||
msgstr "eliminado"
|
||||
|
||||
#: models.py:327
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> a %(newsletter)s"
|
||||
|
||||
#: models.py:334
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s a %(newsletter)s"
|
||||
|
||||
#: models.py:340
|
||||
msgid "subscription"
|
||||
msgstr "suscripción"
|
||||
|
||||
#: models.py:341
|
||||
msgid "subscriptions"
|
||||
msgstr "suscripciones"
|
||||
|
||||
#: models.py:429
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "El orden de clasificación determina el orden en el que los artículos se concatenan en una publicación."
|
||||
|
||||
#: models.py:431
|
||||
msgid "sort order"
|
||||
msgstr "Orden de clasificación"
|
||||
|
||||
#: models.py:434 models.py:476
|
||||
msgid "title"
|
||||
msgstr "título"
|
||||
|
||||
#: models.py:435
|
||||
msgid "text"
|
||||
msgstr "texto"
|
||||
|
||||
#: models.py:438
|
||||
msgid "link"
|
||||
msgstr "enlace"
|
||||
|
||||
#: models.py:444
|
||||
msgid "image"
|
||||
msgstr "imagen"
|
||||
|
||||
#: models.py:456
|
||||
msgid "article"
|
||||
msgstr "artículo"
|
||||
|
||||
#: models.py:457
|
||||
msgid "articles"
|
||||
msgstr "artículos"
|
||||
|
||||
#: models.py:477
|
||||
msgid "slug"
|
||||
msgstr "slug"
|
||||
|
||||
#: models.py:484
|
||||
msgid "created"
|
||||
msgstr "creado"
|
||||
|
||||
#: models.py:487
|
||||
msgid "modified"
|
||||
msgstr "modificado"
|
||||
|
||||
#: models.py:492
|
||||
msgid "messages"
|
||||
msgstr "mensajes"
|
||||
|
||||
#: models.py:497
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s en %(newsletter)s"
|
||||
|
||||
#: models.py:556
|
||||
msgid "submissions"
|
||||
msgstr "envios"
|
||||
|
||||
#: models.py:559
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s en %(publish_date)s"
|
||||
|
||||
#: models.py:578
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Enviando %(submission)s a %(count)d personas"
|
||||
|
||||
#: models.py:637
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Enviando mensaje a %s."
|
||||
|
||||
#: models.py:646
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "El mensaje %(subscription)s falló con el error: %(error)s"
|
||||
|
||||
#: models.py:664
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Envío del mensaje %s"
|
||||
|
||||
#: models.py:709
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Si no selecciona ninguno, el sistema automaticamente buscará los suscriptores por usted."
|
||||
|
||||
#: models.py:711
|
||||
msgid "recipients"
|
||||
msgstr "destinatarios"
|
||||
|
||||
#: models.py:716
|
||||
msgid "publication date"
|
||||
msgstr "fecha de publicación"
|
||||
|
||||
#: models.py:720
|
||||
msgid "publish"
|
||||
msgstr "publicar"
|
||||
|
||||
#: models.py:721
|
||||
msgid "Publish in archive."
|
||||
msgstr "Publicar en archivo."
|
||||
|
||||
#: models.py:725
|
||||
msgid "prepared"
|
||||
msgstr "preparado"
|
||||
|
||||
#: models.py:729
|
||||
msgid "sent"
|
||||
msgstr "enviado"
|
||||
|
||||
#: models.py:733
|
||||
msgid "sending"
|
||||
msgstr "enviando"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Previsualizar el mensaje"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Inicio"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Cambiar"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Crear suscripción"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Texto"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:5
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Importar direcciones"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Subir"
|
||||
|
||||
#: templates/newsletter/message/message.html:21
|
||||
msgid "Read more"
|
||||
msgstr "Leer más"
|
||||
|
||||
#: templates/newsletter/message/message.html:27
|
||||
msgid "Read message online"
|
||||
msgstr "Leer mensaje online"
|
||||
|
||||
#: templates/newsletter/message/message.html:29
|
||||
#: templates/newsletter/newsletter_detail.html:21
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Dar de baja"
|
||||
|
||||
#: templates/newsletter/message/message.txt:15
|
||||
msgid "Unsubscribe:"
|
||||
msgstr "Cancelar suscripción:"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:6
|
||||
#, python-format
|
||||
msgid "Subscription to %(title)s"
|
||||
msgstr "Suscripción a %(title)s"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:10
|
||||
#: templates/newsletter/message/subscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested a subscription to %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your subscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Estimado %(name)s,\n\nusted o alguien en su nombre solicitó una suscripción a %(title)s.\n\nSi desea confirmar su suscripción, siga este enlace de activación: \nhttp://%(domain)s%(url)s\n\nSaludos cordiales,"
|
||||
|
||||
#: templates/newsletter/message/subscribe_subject.txt:1
|
||||
msgid "Confirm subscription"
|
||||
msgstr "Confirmar suscripción"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:6
|
||||
#, python-format
|
||||
msgid "Unsubscription from %(title)s"
|
||||
msgstr "Baja de la suscripción de %(title)s"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:9
|
||||
#: templates/newsletter/message/unsubscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested unsubscription from %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your unsubscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Estimado %(name)s,\n\nusted, o alguien en su nombre, ha solicitado darse de baja de %(title)s.\n\nSi desea confirmar su baja, siga este enlace de activación: \nhttp://%(domain)s%(url)s\n\nSaludos cordiales,"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe_subject.txt:1
|
||||
msgid "Confirm unsubscription"
|
||||
msgstr "Confirmar la cancelación de la suscripción"
|
||||
|
||||
#: templates/newsletter/message/update.html:6
|
||||
#, python-format
|
||||
msgid "Update of subscription to %(title)s"
|
||||
msgstr "Actualización de la suscripción a %(title)s"
|
||||
|
||||
#: templates/newsletter/message/update.html:9
|
||||
#: templates/newsletter/message/update.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested updating your personal information for %(title)s.\n"
|
||||
"\n"
|
||||
"To make changes to your information in our database, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Estimado %(name)s,\n\nusted, o alguien en su nombre solicitó actualizar su información personal para %(title)s.\n\nPara hacer cambios a su información en nuestra base de datos, por favor siga este enlace de activación: \nhttp://%(domain)s%(url)s\n\nSaludos cordiales,"
|
||||
|
||||
#: templates/newsletter/message/update_subject.txt:1
|
||||
msgid "Update information"
|
||||
msgstr "Actualizar información"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Detalle de Boletín de Noticias"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:13
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Suscribirse"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:17
|
||||
msgid "Update"
|
||||
msgstr "Actualizar"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:24
|
||||
msgid "Archive"
|
||||
msgstr "Archivar"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:27
|
||||
#: templates/newsletter/submission_archive.html:18
|
||||
msgid "Back to list"
|
||||
msgstr "Volver al listado"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Lista de Boletines de Noticias"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Actualizar suscripciones"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Archivo de Boletín de Noticias"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "activar"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Activar"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Suscribirse al boletín de noticias"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Por un problema técnico no hemos podido enviar su correo de confirmación. Esto puede ser porque su correo electrónico es inválido."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Su suscripción se ha activado con éxito."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Tu petición de suscripción ha sido recibida y se te ha enviado un correo. En dicho correo encontrarás un enlace que debes seguir para activar tu suscripción."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "¿Desea suscribirse a este Boletín de Noticias?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Baja de boletín de noticias"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Te has dado de baja con éxito."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Tu petición de baja ha sido recibida. Un correo ha sido enviado con un enlace que debes seguir para confirmar tu baja."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "¿Desea darse de baja de este Boletín de Noticias?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Actualización de Boletín de Noticias"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Actualizar suscripción"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Tu suscripción ha sido actualizada con éxito."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Tu petición de actualización ha sido recibida y se te ha enviado un correo. En dicho correo encontrarás un enlace que debes seguir para confirmar la actualización de tu subscripción."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Actualmente:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Cambiar:"
|
||||
|
||||
#: validators.py:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "La dirección de correo electrónico '%(email)s' pertenece a un usuario con una cuenta en este sitio. Por favor, inicie sesión como ese usuario y vuelva a intentarlo."
|
||||
|
||||
#: views.py:120
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Sus cambios han sido guardados."
|
||||
|
||||
#: views.py:311
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Te has suscrito a %s."
|
||||
|
||||
#: views.py:315
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "El usuario %(rs)s se suscribió a %(my_newsletter)s."
|
||||
|
||||
#: views.py:325
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Ya esta suscrito a %s."
|
||||
|
||||
#: views.py:350
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Te has dado de baja de %s."
|
||||
|
||||
#: views.py:354
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Usuario %(rs)s dado de baja de %(my_newsletter)s."
|
||||
|
||||
#: views.py:367
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "No estás suscrito a %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Diamo Rafaela <contacto@diamo.com.ar>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2016-05-07 13:56+0000\n"
|
||||
"Last-Translator: Diamo Rafaela <contacto@diamo.com.ar>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/dokterbob/django-newsletter/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Este envío fue modificado. Se debe guardar antes de que puedas enviarlo. Haz click en el botón de OK para proceder a guardar, haz click en cancelar para continuar editando."
|
||||
Binary file not shown.
@@ -0,0 +1,780 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Ali Javadi <rohamn@hotmail.com>, 2013
|
||||
# arian hedayati far <arian.hedayatifar@gmail.com>, 2016
|
||||
# hooman zabeti <hoomanzabeti@gmail.com>, 2013
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
# Mohammad Hossein Mojtahedi <Mhm5000@gmail.com>, 2014
|
||||
# mohsen rbb <mohsenrbb@yahoo.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-05 17:58+0100\n"
|
||||
"PO-Revision-Date: 2016-03-22 19:20+0000\n"
|
||||
"Last-Translator: arian hedayati far <arian.hedayatifar@gmail.com>\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/dokterbob/django-newsletter/language/fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fa\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "ورودی '%s' دارای آدرس ایمیل معتبر نمی باشد."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "آدرس فایل شامل نوشته های تکراری برای '%s' است."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "بعضی از ورودیها هماکنون عضو هستند."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "آدرس ایمیل %(email)s بسیار بلند است، حداکثر %(email_length)s کاراکتر پذیرفته میشود."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "نام %(name)s بسیار بلند است، حداکثر %(name_length)s کاراکتر پذیرفته میشود."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:162
|
||||
msgid "name"
|
||||
msgstr "نام"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "نمایش"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "نام این ستون پیدا نشده است.نام این ستون می بایست 'name' یا '%s' باشد"
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:37 models.py:176
|
||||
msgid "e-mail"
|
||||
msgstr "ایمیل"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "ستون ایمیل پیدا نشد.نام این ستون می بایست 'email','e-mail' یا '%(email) s'باشد"
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "سیستم بهدرستی نمیتواند ستونهای فایل سیاسوی را تشخیص دهد. در فایل باید یک ستون به نام 'name' یا '%(name)s' و ستونی به نام 'e-mail' یا '%(e-mail)s' وجود داشته باشند."
|
||||
|
||||
#: addressimport/parsers.py:262
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "ردیف '%(row)s' دارای فیلد نام و ایمیل نمی باشد."
|
||||
|
||||
#: addressimport/parsers.py:288
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "خطای خواندن فایل vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:307
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "ورودی '%s' حاوی آدرس ایمیل نمی باشد."
|
||||
|
||||
#: addressimport/parsers.py:343
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "برخی از ورودی ها حاوی آدرس ایمیل نمی باشند."
|
||||
|
||||
#: admin.py:63
|
||||
msgid "Messages"
|
||||
msgstr "پیامها"
|
||||
|
||||
#: admin.py:71
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "عضویت"
|
||||
|
||||
#: admin.py:77
|
||||
msgid "Submissions"
|
||||
msgstr "ارسال"
|
||||
|
||||
#: admin.py:97 models.py:537
|
||||
msgid "submission"
|
||||
msgstr "ارسال"
|
||||
|
||||
#: admin.py:104 admin.py:247 admin.py:365 models.py:100 models.py:296
|
||||
#: models.py:487 models.py:665
|
||||
msgid "newsletter"
|
||||
msgstr "خبرنامه"
|
||||
|
||||
#: admin.py:112
|
||||
msgid "publish date"
|
||||
msgstr "تاریخ انتشار"
|
||||
|
||||
#: admin.py:138
|
||||
msgid "Sent."
|
||||
msgstr "فرستاده شده"
|
||||
|
||||
#: admin.py:141
|
||||
msgid "Delayed submission."
|
||||
msgstr "ارسال با تأخیر"
|
||||
|
||||
#: admin.py:143
|
||||
msgid "Submitting."
|
||||
msgstr "ارسال."
|
||||
|
||||
#: admin.py:145
|
||||
msgid "Not sent."
|
||||
msgstr "فرستاده نشده"
|
||||
|
||||
#: admin.py:146 admin.py:390 admin_forms.py:113
|
||||
msgid "Status"
|
||||
msgstr "وضعیت"
|
||||
|
||||
#: admin.py:153
|
||||
msgid "Submission already sent."
|
||||
msgstr "ارسال انجام شد."
|
||||
|
||||
#: admin.py:162
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "ارسال انجام شد."
|
||||
|
||||
#: admin.py:208
|
||||
msgid "Optional"
|
||||
msgstr "انتخابی"
|
||||
|
||||
#: admin.py:235 models.py:460 models.py:512 models.py:668
|
||||
msgid "message"
|
||||
msgstr "پیام"
|
||||
|
||||
#: admin.py:239 templates/admin/newsletter/message/change_form.html.py:9
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "پیشنمایش"
|
||||
|
||||
#: admin.py:267 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "هیچ نمونه اچتیامالی برای خبرنامهای که این پیام متعلق به آن است، موجود نیست."
|
||||
|
||||
#: admin.py:385 admin_forms.py:101
|
||||
msgid "Subscribed"
|
||||
msgstr "عضو شده"
|
||||
|
||||
#: admin.py:387 admin_forms.py:102
|
||||
msgid "Unsubscribed"
|
||||
msgstr "لغو عضویت شده"
|
||||
|
||||
#: admin.py:389
|
||||
msgid "Unactivated"
|
||||
msgstr "غیر فعال"
|
||||
|
||||
#: admin.py:397 models.py:309
|
||||
msgid "subscribe date"
|
||||
msgstr "تاریخ عضویت"
|
||||
|
||||
#: admin.py:404 models.py:317
|
||||
msgid "unsubscribe date"
|
||||
msgstr "تاریخ لغو عضویت"
|
||||
|
||||
#: admin.py:412
|
||||
#, python-format
|
||||
msgid "%s user has been successfully subscribed."
|
||||
msgid_plural "%s users have been successfully subscribed."
|
||||
msgstr[0] "%s کاربر با موفقیت عضو شدهاند."
|
||||
|
||||
#: admin.py:417
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "کاربران انتخاب شده را عضو نمایید."
|
||||
|
||||
#: admin.py:424
|
||||
#, python-format
|
||||
msgid "%s user has been successfully unsubscribed."
|
||||
msgid_plural "%s users have been successfully unsubscribed."
|
||||
msgstr[0] "%s کاربر با موفقیت عضویت خود را لغو کردهاند."
|
||||
|
||||
#: admin.py:429
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "عضویت کاربران انتخاب شده را لغو کنید"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%s subscriptions have been successfully added."
|
||||
msgstr "%s عضویت به صورت موفقیت آمیز اضافه شد."
|
||||
|
||||
#: admin_forms.py:41
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "نوع فایل '%s' قابل شناسایی نمی باشد."
|
||||
|
||||
#: admin_forms.py:58
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "پسوند فایل '%s' قابل شناسایی نمی باشد."
|
||||
|
||||
#: admin_forms.py:62
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "دراین فایل هیچ ورودی پیدا نشد."
|
||||
|
||||
#: admin_forms.py:70
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "خبرنامه"
|
||||
|
||||
#: admin_forms.py:73
|
||||
msgid "Address file"
|
||||
msgstr "فایل آدرس"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "نادیده گرفتن خطاهای غیراساسی"
|
||||
|
||||
#: admin_forms.py:86
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "شما قبل از اینکه ادامه دهید باید تأیید کنید"
|
||||
|
||||
#: admin_forms.py:89
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "تأیید ورود اطلاعات"
|
||||
|
||||
#: admin_forms.py:119 admin_forms.py:127
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "اگر کاربری این فیلد را انتخاب کرده باشد باید خالی بماند."
|
||||
|
||||
#: admin_forms.py:137
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "یک کاربر یا یک ایمیل باید انتخاب شود."
|
||||
|
||||
#: admin_forms.py:162
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "این پیام در یکی از ارسال های گذشته استفاده شده.هر پیام تنها یک بار قابلیت نشر را دارد."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "%(name)s شی با کلید اساسی %(key)r وجود ندارد."
|
||||
|
||||
#: forms.py:47 forms.py:106
|
||||
msgid "An e-mail address is required."
|
||||
msgstr "آدرس ایمیل اجباری است"
|
||||
|
||||
#: forms.py:55
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "این آدرس ایمیل '%(email)s' متعلق به یکی از اعضاء سایت می باشد.در صورتی که این اشتراک متعلق به شماست لطفا با آن وارد شوید"
|
||||
|
||||
#: forms.py:72
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "آدرس ایمیل شما عضو این خبرنامه است."
|
||||
|
||||
#: forms.py:97
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "این عضویت هنوز فعال نشده است."
|
||||
|
||||
#: forms.py:114
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This e-mail address belongs to the user '%(username)s'. Please log in as "
|
||||
"that user and try again."
|
||||
msgstr "این آدرس ایمیل متعلق به کاربر '%(username)s' می باشد. اگر این نام کاربری به شما تعلق دارد لطفا با آن وارد شوید."
|
||||
|
||||
#: forms.py:132
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "این آدرس ایمیل عضو این خبرنامه نیست."
|
||||
|
||||
#: forms.py:147
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "این عضویت لغو شده است"
|
||||
|
||||
#: forms.py:163
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "کد اعتباری که توسط شما ارایه شده است"
|
||||
|
||||
#: forms.py:169
|
||||
msgid "Activation code"
|
||||
msgstr "کد فعالسازی"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "ارسال نامه صف خبرنامه"
|
||||
|
||||
#: models.py:32
|
||||
msgid "newsletter title"
|
||||
msgstr "عنوان خبرنامه"
|
||||
|
||||
#: models.py:37
|
||||
msgid "Sender e-mail"
|
||||
msgstr "ایمیل ارسال کننده"
|
||||
|
||||
#: models.py:40
|
||||
msgid "sender"
|
||||
msgstr "فرستنده"
|
||||
|
||||
#: models.py:40
|
||||
msgid "Sender name"
|
||||
msgstr "نام فرستنده"
|
||||
|
||||
#: models.py:44
|
||||
msgid "visible"
|
||||
msgstr "نمایان"
|
||||
|
||||
#: models.py:48
|
||||
msgid "send html"
|
||||
msgstr "ارسال html"
|
||||
|
||||
#: models.py:49
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "نخسه های html ایمیل نیز ارسال شود."
|
||||
|
||||
#: models.py:101
|
||||
msgid "newsletters"
|
||||
msgstr "خبرنامهها"
|
||||
|
||||
#: models.py:157
|
||||
msgid "user"
|
||||
msgstr "کاربر"
|
||||
|
||||
#: models.py:162
|
||||
msgid "optional"
|
||||
msgstr "انتخابی"
|
||||
|
||||
#: models.py:206
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:248
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "نه ایمیل و نه نام کاربری انتخاب نشده است. "
|
||||
|
||||
#: models.py:252
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "اگر کاربر انتخاب شود، ایمیل باید خالی باشد و بر عکس."
|
||||
|
||||
#: models.py:294
|
||||
msgid "IP address"
|
||||
msgstr "آدرس آیپی"
|
||||
|
||||
#: models.py:301
|
||||
msgid "activation code"
|
||||
msgstr "کد فعالسازی"
|
||||
|
||||
#: models.py:306
|
||||
msgid "subscribed"
|
||||
msgstr "عضو شده"
|
||||
|
||||
#: models.py:314
|
||||
msgid "unsubscribed"
|
||||
msgstr "لغو عضویت شده"
|
||||
|
||||
#: models.py:322
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> به %(newsletter)s"
|
||||
|
||||
#: models.py:329
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s به %(newsletter)s"
|
||||
|
||||
#: models.py:335
|
||||
msgid "subscription"
|
||||
msgstr "اشتراک"
|
||||
|
||||
#: models.py:336
|
||||
msgid "subscriptions"
|
||||
msgstr "اشتراک ها"
|
||||
|
||||
#: models.py:439
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "روش مرتب کردن مشخص می کند روش پشت سر هم گذاشتن مقالات چگونه باشد."
|
||||
|
||||
#: models.py:441
|
||||
msgid "sort order"
|
||||
msgstr "مرتب کردن بر اساس"
|
||||
|
||||
#: models.py:444 models.py:483
|
||||
msgid "title"
|
||||
msgstr "عنوان"
|
||||
|
||||
#: models.py:445
|
||||
msgid "text"
|
||||
msgstr "متن"
|
||||
|
||||
#: models.py:448
|
||||
msgid "link"
|
||||
msgstr "لینک"
|
||||
|
||||
#: models.py:454
|
||||
msgid "image"
|
||||
msgstr "تصویر"
|
||||
|
||||
#: models.py:465
|
||||
msgid "article"
|
||||
msgstr "مقاله"
|
||||
|
||||
#: models.py:466
|
||||
msgid "articles"
|
||||
msgstr "مقالات"
|
||||
|
||||
#: models.py:484
|
||||
msgid "slug"
|
||||
msgstr "نام ماشینی"
|
||||
|
||||
#: models.py:491
|
||||
msgid "created"
|
||||
msgstr "تولید شده"
|
||||
|
||||
#: models.py:494
|
||||
msgid "modified"
|
||||
msgstr "ویرایش شده"
|
||||
|
||||
#: models.py:499
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s در%(newsletter)s"
|
||||
|
||||
#: models.py:513
|
||||
msgid "messages"
|
||||
msgstr "پیام "
|
||||
|
||||
#: models.py:538
|
||||
msgid "submissions"
|
||||
msgstr "ارسالی"
|
||||
|
||||
#: models.py:541
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s در %(publish_date)s"
|
||||
|
||||
#: models.py:550
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "ارسال %(submission)s به %(count)d نفر"
|
||||
|
||||
#: models.py:597
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "ارسال پیام به: %s."
|
||||
|
||||
#: models.py:606
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "پیام %(subscription)s به علت مشکل %(error)s ارسال نشد"
|
||||
|
||||
#: models.py:630
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "پیام های ارسالی %s"
|
||||
|
||||
#: models.py:673
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "اگر شما گزینه ی هیچکدام را انتخاب کنید،سیستم به صورت خودکار اشتراکی را برای شما پیدا می کند"
|
||||
|
||||
#: models.py:675
|
||||
msgid "recipients"
|
||||
msgstr "دریافت کنندگان"
|
||||
|
||||
#: models.py:680
|
||||
msgid "publication date"
|
||||
msgstr "تاریخ انتشار"
|
||||
|
||||
#: models.py:684
|
||||
msgid "publish"
|
||||
msgstr "انتشار"
|
||||
|
||||
#: models.py:685
|
||||
msgid "Publish in archive."
|
||||
msgstr "انتشار در ارشیو"
|
||||
|
||||
#: models.py:689
|
||||
msgid "prepared"
|
||||
msgstr "مهیا"
|
||||
|
||||
#: models.py:693
|
||||
msgid "sent"
|
||||
msgstr "ارسال شده "
|
||||
|
||||
#: models.py:697
|
||||
msgid "sending"
|
||||
msgstr "در حال ارسال"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:7
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:7
|
||||
#: templates/admin/newsletter/submission/change_form.html:14
|
||||
msgid "History"
|
||||
msgstr "تاریخچه"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:8
|
||||
#: templates/admin/newsletter/submission/change_form.html:15
|
||||
msgid "View on site"
|
||||
msgstr "نمایش در سایت"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "پیش نمایش پیام"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "خانه"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "پیام"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "ویرایش"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "ایجاد شمارهی جدید خبرنامه"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "اچتیامال"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "متن"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "ثبت"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:8
|
||||
msgid "import"
|
||||
msgstr "ورود"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:12
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "اضافهکردن %(name)s"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "ورود آدرسها"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "تأیید"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "بارگذاری"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "جزئیات خبرنامه"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "لیست خبرنامهها"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "عضویت"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "بروز رسانی اشتراک ها"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "آرشیو خبرنامه"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "فعال"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "فعال"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "عضویت خبرنامه"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "متاسفانه به دلیل مشکل فنی قادر به ارسال ایمیل تایید برای شما نمی باشیم.این مشکل ممکن است به دلیل نامعتبر بودن آدرس ایمیل شما باشد."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "اشتراک شما با موفقیت فعال شد."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "در خواست اشتراک شما با موفقیت دریافت شد و ایمیل فعال سازی برای شما ارسال گردید.دستورات و لینک فعال سازی در ایمیل قرار دارد."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "آیا می خواهید مشترک خبرنامه شوید؟"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "لغو عضویت خبرنامه"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "لغو عضویت"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "عضویت شما با موفقیت لغو شد."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "درخواست لغو اشتراک شما با موفقیت دریافت شد.ایمیلی حاوی لینک لغو اشتراک برای شما ارسال گردید."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "آیا می خواهید اشتراک خبرنامه خود را لغو کنید؟"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "بروز رسانی خبرنامه"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "بهروزرسانی اشتراک"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "اشتراک شما با موفقیت به روز رسانی شد."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "درخواست بروز رسانی شما با موفقیت دریافت شد و ایمیل دستورات به همراه لینک بروز رسانی برای شما ارسال گردید."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "در حال حاضر:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "تغییر:"
|
||||
|
||||
#: views.py:114
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "تغییرات شما ثبت شد."
|
||||
|
||||
#: views.py:305
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "شما در %s عضو شدید."
|
||||
|
||||
#: views.py:309
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "User %(rs)s مشترک %(my_newsletter)s. شد"
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "شما عضو خبر نامه '%s' می باشید"
|
||||
|
||||
#: views.py:344
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "عضویت شما از %s لغو شد"
|
||||
|
||||
#: views.py:348
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "User %(rs)s اشتراک خود را از %(my_newsletter)s. لغو کرد"
|
||||
|
||||
#: views.py:361
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "شما عضو خبرنامه %s نیستید"
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Ali Javadi <rohamn@hotmail.com>, 2013
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2013-11-20 12:25+0000\n"
|
||||
"Last-Translator: Ali Javadi <rohamn@hotmail.com>\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/dokterbob/django-newsletter/language/fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fa\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "پیام تغییر یافته است و باید پیش از ارسال ذخیره شود. تأیید کنید تا ذخیرهسازی انجام شود یا کنسل کنید و به ویرایش ادامه دهید."
|
||||
Binary file not shown.
@@ -0,0 +1,851 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Claude Paroz <claude@2xlibre.net>, 2016
|
||||
# Marc Belmont <contact@marcbelmont.com>, 2014
|
||||
# Santiago Malter-Terrada <s@yop.li>, 2013
|
||||
# Spout <spoutnik@gmail.com>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-11-16 11:31+0000\n"
|
||||
"PO-Revision-Date: 2018-03-19 10:53+0000\n"
|
||||
"Last-Translator: Spout <spoutnik@gmail.com>\n"
|
||||
"Language-Team: French (http://www.transifex.com/dokterbob/django-newsletter/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "L'entrée « %s » ne contient pas d'adresse de courriel valide."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Le fichier d'adresses comporte des doublons pour « %s »."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Certaines entrées sont déjà abonnées."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "L'adresse de courriel %(email)s est trop longue. La taille maximum est %(email_length)s caractères."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Le nom %(name)s est trop long. La taille maximum est de %(name_length)s caractères."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:165
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "affichage"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "La colonne du nom n'a pas été trouvée. Le nom de cette colonne doit être « name » ou « %s »."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 forms.py:43 forms.py:76 models.py:39
|
||||
#: models.py:179
|
||||
msgid "e-mail"
|
||||
msgstr "courriel"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "La colonne de l'adresse électronique n'a pas été trouvée. Le nom de cette colonne doit être « email », « e-mail » ou « %(email)s »."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Impossible de déterminer les colonnes dans ce fichier CSV. Il doit y avoir un champ nommé « name » ou « %(name)s » et un nommé « e-mail » ou « %(e-mail)s »."
|
||||
|
||||
#: addressimport/parsers.py:264
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "La ligne « %(row)s » ne contient pas de champ de courriel et de nom."
|
||||
|
||||
#: addressimport/parsers.py:290
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Erreur de lecture du fichier vCard : %s"
|
||||
|
||||
#: addressimport/parsers.py:309
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "L'entrée « %s » ne contient pas d'adresse électronique."
|
||||
|
||||
#: addressimport/parsers.py:345
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Plusieurs entrées n'ont pas d'adresse électronique. "
|
||||
|
||||
#: admin.py:79
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#: admin.py:83
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Inscriptions"
|
||||
|
||||
#: admin.py:87
|
||||
msgid "Submissions"
|
||||
msgstr "Publications"
|
||||
|
||||
#: admin.py:99 models.py:102 models.py:300 models.py:480 models.py:699
|
||||
msgid "newsletter"
|
||||
msgstr "newsletter"
|
||||
|
||||
#: admin.py:117 models.py:555
|
||||
msgid "submission"
|
||||
msgstr "publication"
|
||||
|
||||
#: admin.py:124
|
||||
msgid "publish date"
|
||||
msgstr "date de publication"
|
||||
|
||||
#: admin.py:154
|
||||
msgid "Sent."
|
||||
msgstr "Envoyé."
|
||||
|
||||
#: admin.py:157
|
||||
msgid "Delayed submission."
|
||||
msgstr "Publication reportée."
|
||||
|
||||
#: admin.py:159
|
||||
msgid "Submitting."
|
||||
msgstr "Envoi en cours."
|
||||
|
||||
#: admin.py:161
|
||||
msgid "Not sent."
|
||||
msgstr "Pas envoyé."
|
||||
|
||||
#: admin.py:162 admin.py:389 admin_forms.py:115
|
||||
msgid "Status"
|
||||
msgstr "Statut"
|
||||
|
||||
#: admin.py:169
|
||||
msgid "Submission already sent."
|
||||
msgstr "Publication déjà envoyée."
|
||||
|
||||
#: admin.py:178
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Votre publication est en cours d'envoi."
|
||||
|
||||
#: admin.py:225
|
||||
msgid "Optional"
|
||||
msgstr "Facultatif"
|
||||
|
||||
#: admin.py:253 models.py:450 models.py:491 models.py:703
|
||||
msgid "message"
|
||||
msgstr "message"
|
||||
|
||||
#: admin.py:258 templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Prévisualisation"
|
||||
|
||||
#: admin.py:275 views.py:611
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Aucun gabarit HTML n'est associé à la newsletter relative à ce message."
|
||||
|
||||
#: admin.py:384 admin_forms.py:103
|
||||
msgid "Subscribed"
|
||||
msgstr "Inscrit"
|
||||
|
||||
#: admin.py:386 admin_forms.py:104
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Désinscrit"
|
||||
|
||||
#: admin.py:388
|
||||
msgid "Unactivated"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: admin.py:396 models.py:314
|
||||
msgid "subscribe date"
|
||||
msgstr "date d'inscription"
|
||||
|
||||
#: admin.py:403 models.py:322
|
||||
msgid "unsubscribe date"
|
||||
msgstr "date de désinscription"
|
||||
|
||||
#: admin.py:411
|
||||
#, python-format
|
||||
msgid "%d user has been successfully subscribed."
|
||||
msgid_plural "%d users have been successfully subscribed."
|
||||
msgstr[0] "%d utilisateur a bien été inscrit."
|
||||
msgstr[1] "%d utilisateurs ont bien été inscrits."
|
||||
|
||||
#: admin.py:416
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Inscrire les utilisateurs sélectionnés"
|
||||
|
||||
#: admin.py:423
|
||||
#, python-format
|
||||
msgid "%d user has been successfully unsubscribed."
|
||||
msgid_plural "%d users have been successfully unsubscribed."
|
||||
msgstr[0] "%d utilisateur a été désinscrit."
|
||||
msgstr[1] "%d utilisateurs ont été désinscrits."
|
||||
|
||||
#: admin.py:428
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Désinscrire les utilisateurs sélectionnés"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%d subscription has been successfully added."
|
||||
msgid_plural "%d subscriptions have been successfully added."
|
||||
msgstr[0] "%d inscription a été ajoutée."
|
||||
msgstr[1] "%d inscriptions ont été ajoutées."
|
||||
|
||||
#: admin_forms.py:43
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Le type de fichier « %s » n'est pas reconnu."
|
||||
|
||||
#: admin_forms.py:60
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "L'extension de fichier « %s » n'est pas reconnue."
|
||||
|
||||
#: admin_forms.py:64
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Aucune entrée trouvée dans ce fichier."
|
||||
|
||||
#: admin_forms.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:6
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Address file"
|
||||
msgstr "Fichier d'adresses"
|
||||
|
||||
#: admin_forms.py:77
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Ignorer les erreurs non bloquantes"
|
||||
|
||||
#: admin_forms.py:88
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Vous devez confirmer avant de pouvoir continuer."
|
||||
|
||||
#: admin_forms.py:91
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Confirmer l'importation"
|
||||
|
||||
#: admin_forms.py:121 admin_forms.py:129
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Si un utilisateur a été choisi, ce champ doit rester vide."
|
||||
|
||||
#: admin_forms.py:139
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Il faut soit choisir un utilisateur ou indiquer une adresse électronique."
|
||||
|
||||
#: admin_forms.py:164
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Ce message a déjà été publié dans un autre envoi. Les messages ne peuvent être publiés qu'une seule fois."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "L'objet %(name)s avec la clé %(key)r n'existe pas."
|
||||
|
||||
#: forms.py:57
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Votre adresse électronique est déjà inscrite."
|
||||
|
||||
#: forms.py:84
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Cette inscription n'a pas encore été activée."
|
||||
|
||||
#: forms.py:102
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Cette adresse électronique n'a pas été inscrite."
|
||||
|
||||
#: forms.py:117
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Cette inscription a déjà été annulée."
|
||||
|
||||
#: forms.py:133
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Le code de validation que vous avez saisi ne correspond pas."
|
||||
|
||||
#: forms.py:139
|
||||
msgid "Activation code"
|
||||
msgstr "Code d'activation"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Envoi des newsletters dans la queue"
|
||||
|
||||
#: models.py:34
|
||||
msgid "newsletter title"
|
||||
msgstr "titre de la newsletter"
|
||||
|
||||
#: models.py:39
|
||||
msgid "Sender e-mail"
|
||||
msgstr "Courriel de l'expéditeur"
|
||||
|
||||
#: models.py:42
|
||||
msgid "sender"
|
||||
msgstr "expéditeur"
|
||||
|
||||
#: models.py:42
|
||||
msgid "Sender name"
|
||||
msgstr "Nom de l'expéditeur"
|
||||
|
||||
#: models.py:46
|
||||
msgid "visible"
|
||||
msgstr "visible"
|
||||
|
||||
#: models.py:50
|
||||
msgid "send html"
|
||||
msgstr "envoyer en HTML"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Indique si des versions HTML des courriels doivent être envoyés."
|
||||
|
||||
#: models.py:103
|
||||
msgid "newsletters"
|
||||
msgstr "newsletters"
|
||||
|
||||
#: models.py:159
|
||||
msgid "user"
|
||||
msgstr "utilisateur"
|
||||
|
||||
#: models.py:165
|
||||
msgid "optional"
|
||||
msgstr "facultatif"
|
||||
|
||||
#: models.py:209
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "L'inscription %(subscription)s a été mise à jour avec l'action « %(action)s »."
|
||||
|
||||
#: models.py:251
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Ni adresse électronique, ni nom d'utilisateur n'ont été fournis. Il manque quelque chose !"
|
||||
|
||||
#: models.py:255
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Si un utilisateur est défini, l'adresse électronique doit être vide et inversement."
|
||||
|
||||
#: models.py:297
|
||||
msgid "IP address"
|
||||
msgstr "Adresse IP"
|
||||
|
||||
#: models.py:306
|
||||
msgid "activation code"
|
||||
msgstr "code d'activation"
|
||||
|
||||
#: models.py:311
|
||||
msgid "subscribed"
|
||||
msgstr "inscrit"
|
||||
|
||||
#: models.py:319
|
||||
msgid "unsubscribed"
|
||||
msgstr "désinscrit"
|
||||
|
||||
#: models.py:327
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> à %(newsletter)s"
|
||||
|
||||
#: models.py:334
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s à %(newsletter)s"
|
||||
|
||||
#: models.py:340
|
||||
msgid "subscription"
|
||||
msgstr "inscription"
|
||||
|
||||
#: models.py:341
|
||||
msgid "subscriptions"
|
||||
msgstr "inscriptions"
|
||||
|
||||
#: models.py:429
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "L'orde de tri détermine l'ordre dans lequel les articles sont concaténés dans un post."
|
||||
|
||||
#: models.py:431
|
||||
msgid "sort order"
|
||||
msgstr "ordre de tri"
|
||||
|
||||
#: models.py:434 models.py:476
|
||||
msgid "title"
|
||||
msgstr "titre"
|
||||
|
||||
#: models.py:435
|
||||
msgid "text"
|
||||
msgstr "texte"
|
||||
|
||||
#: models.py:438
|
||||
msgid "link"
|
||||
msgstr "lien"
|
||||
|
||||
#: models.py:444
|
||||
msgid "image"
|
||||
msgstr "image"
|
||||
|
||||
#: models.py:456
|
||||
msgid "article"
|
||||
msgstr "article"
|
||||
|
||||
#: models.py:457
|
||||
msgid "articles"
|
||||
msgstr "articles"
|
||||
|
||||
#: models.py:477
|
||||
msgid "slug"
|
||||
msgstr "slug"
|
||||
|
||||
#: models.py:484
|
||||
msgid "created"
|
||||
msgstr "créé"
|
||||
|
||||
#: models.py:487
|
||||
msgid "modified"
|
||||
msgstr "modifié"
|
||||
|
||||
#: models.py:492
|
||||
msgid "messages"
|
||||
msgstr "messages"
|
||||
|
||||
#: models.py:497
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s dans %(newsletter)s"
|
||||
|
||||
#: models.py:556
|
||||
msgid "submissions"
|
||||
msgstr "publications"
|
||||
|
||||
#: models.py:559
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s le %(publish_date)s"
|
||||
|
||||
#: models.py:578
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Publication de %(submission)s à %(count)d personnes."
|
||||
|
||||
#: models.py:637
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Publication du message à : %s."
|
||||
|
||||
#: models.py:646
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Le message %(subscription)s a échoué avec cette erreur : %(error)s"
|
||||
|
||||
#: models.py:664
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Publication du message %s"
|
||||
|
||||
#: models.py:709
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Si vous n'en choisissez pas, le système va automatiquement choisir les destinataires pour vous."
|
||||
|
||||
#: models.py:711
|
||||
msgid "recipients"
|
||||
msgstr "destinataires"
|
||||
|
||||
#: models.py:716
|
||||
msgid "publication date"
|
||||
msgstr "date de publication"
|
||||
|
||||
#: models.py:720
|
||||
msgid "publish"
|
||||
msgstr "publier"
|
||||
|
||||
#: models.py:721
|
||||
msgid "Publish in archive."
|
||||
msgstr "Publier dans l'archive."
|
||||
|
||||
#: models.py:725
|
||||
msgid "prepared"
|
||||
msgstr "préparé"
|
||||
|
||||
#: models.py:729
|
||||
msgid "sent"
|
||||
msgstr "envoyé"
|
||||
|
||||
#: models.py:733
|
||||
msgid "sending"
|
||||
msgstr "envoi en cours"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Aperçu du message"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Changer"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Créer une publication"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Texte"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Soumettre"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:5
|
||||
msgid "Import"
|
||||
msgstr "Importer"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Importer des adresses"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: templates/newsletter/message/message.html:21
|
||||
msgid "Read more"
|
||||
msgstr "En savoir plus"
|
||||
|
||||
#: templates/newsletter/message/message.html:27
|
||||
msgid "Read message online"
|
||||
msgstr "Lire le message en ligne"
|
||||
|
||||
#: templates/newsletter/message/message.html:29
|
||||
#: templates/newsletter/newsletter_detail.html:21
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Désinscription"
|
||||
|
||||
#: templates/newsletter/message/message.txt:15
|
||||
msgid "Unsubscribe:"
|
||||
msgstr "Désinscription :"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:6
|
||||
#, python-format
|
||||
msgid "Subscription to %(title)s"
|
||||
msgstr "Inscription à %(title)s"
|
||||
|
||||
#: templates/newsletter/message/subscribe.html:10
|
||||
#: templates/newsletter/message/subscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested a subscription to %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your subscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Cher %(name)s,\n\nvous, ou quelqu'un en votre nom a demandé une inscription à %(title)s.\n\nSi vous voulez confirmer votre inscription, veuillez suivre ce lien d'activation :\nhttp://%(domain)s%(url)s\n\nCordialement,"
|
||||
|
||||
#: templates/newsletter/message/subscribe_subject.txt:1
|
||||
msgid "Confirm subscription"
|
||||
msgstr "Confirmer l'inscription"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:6
|
||||
#, python-format
|
||||
msgid "Unsubscription from %(title)s"
|
||||
msgstr "Désinscription de %(title)s"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe.html:9
|
||||
#: templates/newsletter/message/unsubscribe.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested unsubscription from %(title)s.\n"
|
||||
"\n"
|
||||
"If you would like to confirm your unsubscription, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Cher %(name)s,\n\nvous, ou quelqu'un en votre nom a demandé une désinscription à %(title)s.\n\nSi vous voulez confirmer votre désinscription, veuillez suivre ce lien d'activation :\nhttp://%(domain)s%(url)s\n\nCordialement,"
|
||||
|
||||
#: templates/newsletter/message/unsubscribe_subject.txt:1
|
||||
msgid "Confirm unsubscription"
|
||||
msgstr "Confirmer la désinscription"
|
||||
|
||||
#: templates/newsletter/message/update.html:6
|
||||
#, python-format
|
||||
msgid "Update of subscription to %(title)s"
|
||||
msgstr "Modifier l'inscription à %(title)s"
|
||||
|
||||
#: templates/newsletter/message/update.html:9
|
||||
#: templates/newsletter/message/update.txt:1
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Dear %(name)s,\n"
|
||||
"\n"
|
||||
"you, or someone in your name requested updating your personal information for %(title)s.\n"
|
||||
"\n"
|
||||
"To make changes to your information in our database, please follow this activation link:\n"
|
||||
"http://%(domain)s%(url)s\n"
|
||||
"\n"
|
||||
"Kind regards,"
|
||||
msgstr "Cher %(name)s,\n\nvous, ou quelqu'un en votre nom a demandé la modification de vos données personnelles pour %(title)s.\n\nPour valider les modifications de vos informations dans notre base de données, veuillez suivre ce lien d'activation :\nhttp://%(domain)s%(url)s\n\nCordialement,"
|
||||
|
||||
#: templates/newsletter/message/update_subject.txt:1
|
||||
msgid "Update information"
|
||||
msgstr "Modifier les informations"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Détail de la newsletter"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:13
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Inscription"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:17
|
||||
msgid "Update"
|
||||
msgstr "Mise à jour"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:24
|
||||
msgid "Archive"
|
||||
msgstr "Archiver"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:27
|
||||
#: templates/newsletter/submission_archive.html:18
|
||||
msgid "Back to list"
|
||||
msgstr "Retour à la liste"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Liste de newsletter"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Mettre à jour les inscriptions"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Archives de la newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "activer"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Activer"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Inscription newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "En raison d'un problème technique, nous n'avons pas pu vous envoyer de courriel de confirmation. Votre adresse électronique n'est peut-être pas valide."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Votre inscription a été activée avec succès."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Votre demande d'inscription a bien été prise en compte et un courriel d'activation vous a été envoyé. Veuillez cliquer sur le lien s'y trouvant afin d'activer votre inscription."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Voulez-vous vous inscrire à cette newsletter ?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Désinscription newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Vous avez été désinscrit."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Votre demande de désinscription a bien été prise en compte. Un courriel vous a été envoyé. Veuillez cliquer sur le lien s'y trouvant afin de confirmer votre désinscription."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Voulez-vous vous désinscrire de cette newsletter ?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Mise à jour newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Mettre à jour l'inscription"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Votre inscription a été mise à jour."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Votre demande de mise à jour a bien été reçue et un courriel de confirmation vous a été envoyé. Veuillez cliquer sur le lien s'y trouvant afin de mettre à jour votre inscription."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Actuellement :"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Changement :"
|
||||
|
||||
#: validators.py:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "Le courriel « %(email)s » correspond à un utilisateur ayant déjà un compte sur ce site. Veuillez vous connecter en tant que cet utilisateur et essayer à nouveau."
|
||||
|
||||
#: views.py:120
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Vos modifications ont été enregistrées."
|
||||
|
||||
#: views.py:311
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Vous avez été inscrit à %s."
|
||||
|
||||
#: views.py:315
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "L'utilisateur %(rs)s s'est inscrit à %(my_newsletter)s."
|
||||
|
||||
#: views.py:325
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Vous êtes déjà inscrit à %s."
|
||||
|
||||
#: views.py:350
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Vous avez été désinscrit de %s."
|
||||
|
||||
#: views.py:354
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "L'utilisateur %(rs)s s'est désinscrit de %(my_newsletter)s."
|
||||
|
||||
#: views.py:367
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Vous n'êtes pas inscrit à %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Santiago Malter-Terrada <s@yop.li>, 2013
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2013-11-20 12:25+0000\n"
|
||||
"Last-Translator: Santiago Malter-Terrada <s@yop.li>\n"
|
||||
"Language-Team: French (http://www.transifex.com/dokterbob/django-newsletter/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "La publication a été modifiée. Elle doit être sauvée avant que vous puissiez l'envoyer. Cliquez sur OK pour continuer en sauvegardant, ou sur annuler pour continuer l'édition."
|
||||
Binary file not shown.
@@ -0,0 +1,778 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# ebergmundur <einar@nature.is>, 2014
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-05 17:58+0100\n"
|
||||
"PO-Revision-Date: 2016-02-02 13:35+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Icelandic (Iceland) (http://www.transifex.com/dokterbob/django-newsletter/language/is_IS/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: is_IS\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "Færsla '%s' inniheldur ekki nothæft netfang"
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Netfangalisitinn inniheldur tvítekið '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Þegar er áskrift að sumum færslum."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Netfangið %(email)s er of langt, hámarf %(email_length)s bókstafir."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Nafn %(name)s of langt, hámark %(name_length)s bókstafir."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:162
|
||||
msgid "name"
|
||||
msgstr "nafn"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "sýna"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Nafnadálkur finnst ekki. Heiti dálksins ætti að vera 'name' eða '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:37 models.py:176
|
||||
msgid "e-mail"
|
||||
msgstr "netfang"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Netfangadálkur fannst ekki. Dálkurinn ætti að heita 'email', 'e-mail' eða '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Gat ekki skilgreint dálka CVS skjalsins með vissu. Það ætti að vera dálkur sem heitir 'name' eða '%(name)s' og annar kallaður 'e-mail' eða '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:262
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "Færsla með '%(row)s' inniheldur ekki nafn né netfang."
|
||||
|
||||
#: addressimport/parsers.py:288
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Villa við lestur vCars skrár: %s"
|
||||
|
||||
#: addressimport/parsers.py:307
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "Færsla '%s' inniheldur ekki netfang."
|
||||
|
||||
#: addressimport/parsers.py:343
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Sumar færslur hafa engin netföng."
|
||||
|
||||
#: admin.py:63
|
||||
msgid "Messages"
|
||||
msgstr "Skilaboð"
|
||||
|
||||
#: admin.py:71
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Áskriftir"
|
||||
|
||||
#: admin.py:77
|
||||
msgid "Submissions"
|
||||
msgstr "Sendingar"
|
||||
|
||||
#: admin.py:97 models.py:537
|
||||
msgid "submission"
|
||||
msgstr "sendingar"
|
||||
|
||||
#: admin.py:104 admin.py:247 admin.py:365 models.py:100 models.py:296
|
||||
#: models.py:487 models.py:665
|
||||
msgid "newsletter"
|
||||
msgstr "fréttabréf"
|
||||
|
||||
#: admin.py:112
|
||||
msgid "publish date"
|
||||
msgstr "dagsetning birtingar"
|
||||
|
||||
#: admin.py:138
|
||||
msgid "Sent."
|
||||
msgstr "Sent."
|
||||
|
||||
#: admin.py:141
|
||||
msgid "Delayed submission."
|
||||
msgstr "Sendingar í bið."
|
||||
|
||||
#: admin.py:143
|
||||
msgid "Submitting."
|
||||
msgstr "Sendi."
|
||||
|
||||
#: admin.py:145
|
||||
msgid "Not sent."
|
||||
msgstr "Ekki sent."
|
||||
|
||||
#: admin.py:146 admin.py:390 admin_forms.py:113
|
||||
msgid "Status"
|
||||
msgstr "Staða"
|
||||
|
||||
#: admin.py:153
|
||||
msgid "Submission already sent."
|
||||
msgstr "Sending þegar send."
|
||||
|
||||
#: admin.py:162
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Sending í gagni."
|
||||
|
||||
#: admin.py:208
|
||||
msgid "Optional"
|
||||
msgstr "Valkvæmt"
|
||||
|
||||
#: admin.py:235 models.py:460 models.py:512 models.py:668
|
||||
msgid "message"
|
||||
msgstr "skilaboð"
|
||||
|
||||
#: admin.py:239 templates/admin/newsletter/message/change_form.html.py:9
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Forskoða"
|
||||
|
||||
#: admin.py:267 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Ekkert HMTL sniðmát tengt því fréttabréfi sem þessi skilaboð tilheyra."
|
||||
|
||||
#: admin.py:385 admin_forms.py:101
|
||||
msgid "Subscribed"
|
||||
msgstr "Í áskrift"
|
||||
|
||||
#: admin.py:387 admin_forms.py:102
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Ekki í áskrift"
|
||||
|
||||
#: admin.py:389
|
||||
msgid "Unactivated"
|
||||
msgstr "Ekki virkjað"
|
||||
|
||||
#: admin.py:397 models.py:309
|
||||
msgid "subscribe date"
|
||||
msgstr "dagsetning áskriftar"
|
||||
|
||||
#: admin.py:404 models.py:317
|
||||
msgid "unsubscribe date"
|
||||
msgstr "áskrift lokið"
|
||||
|
||||
#: admin.py:412
|
||||
#, python-format
|
||||
msgid "%s user has been successfully subscribed."
|
||||
msgid_plural "%s users have been successfully subscribed."
|
||||
msgstr[0] "%s notendur hafa verið aftengdir áskrift."
|
||||
msgstr[1] "%s notendur hafa verið aftengdir áskrift."
|
||||
|
||||
#: admin.py:417
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Gerðu þessa notendur að áskrifendum."
|
||||
|
||||
#: admin.py:424
|
||||
#, python-format
|
||||
msgid "%s user has been successfully unsubscribed."
|
||||
msgid_plural "%s users have been successfully unsubscribed."
|
||||
msgstr[0] "%s notendur hafa verið aftengdir áskrift."
|
||||
msgstr[1] "%s notendur hafa verið aftengdir áskrift."
|
||||
|
||||
#: admin.py:429
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Aftengja valda notendur"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%s subscriptions have been successfully added."
|
||||
msgstr "%s áskriftum giftusamlega bætt við."
|
||||
|
||||
#: admin_forms.py:41
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Skráargerð '%s' er óþekkt."
|
||||
|
||||
#: admin_forms.py:58
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Skráarending '%s' er óþekkt."
|
||||
|
||||
#: admin_forms.py:62
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Engar færslur fundust í þessu skjali."
|
||||
|
||||
#: admin_forms.py:70
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Fréttabréf"
|
||||
|
||||
#: admin_forms.py:73
|
||||
msgid "Address file"
|
||||
msgstr "Netfangaskrá"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Láta ómerkilegar villur sem vind um eyru þjóta"
|
||||
|
||||
#: admin_forms.py:86
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Þú þarft að staðfesta til að halda áfram."
|
||||
|
||||
#: admin_forms.py:89
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Staðfesta innlestur"
|
||||
|
||||
#: admin_forms.py:119 admin_forms.py:127
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Ef notandi hefur verið valinn ætti þessi reitur að vera tómur."
|
||||
|
||||
#: admin_forms.py:137
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Annað hvort notandi eða netfang verður að vera valið."
|
||||
|
||||
#: admin_forms.py:162
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Þessi skilaboð hafa þegar verið send í annari sendingu.\nSkilaboð er einungid hægt að senda einu sinni."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "%(name)s hlutiur með lykli %(key)r finnst ekki."
|
||||
|
||||
#: forms.py:47 forms.py:106
|
||||
msgid "An e-mail address is required."
|
||||
msgstr "Netfang er nauðsynlegt."
|
||||
|
||||
#: forms.py:55
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "Netfangið '%(email)s' tilheyrir skráðum notenda. Skráðu þig inn og reyndu aftur."
|
||||
|
||||
#: forms.py:72
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Netfang þitt er þegar á skrá."
|
||||
|
||||
#: forms.py:97
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Þessi áskrift er ekki virkjuð."
|
||||
|
||||
#: forms.py:114
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This e-mail address belongs to the user '%(username)s'. Please log in as "
|
||||
"that user and try again."
|
||||
msgstr "Þetta netfang tilheyrir notanda '%(username)s'. Skráðu þig inn og reyndu aftur."
|
||||
|
||||
#: forms.py:132
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Þetta nefagn er ekki í áskrift."
|
||||
|
||||
#: forms.py:147
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Þessari áskrift hefur þegar verið sagt upp."
|
||||
|
||||
#: forms.py:163
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Staðfestingarkóði passar ekki."
|
||||
|
||||
#: forms.py:169
|
||||
msgid "Activation code"
|
||||
msgstr "Virkjunarkóði"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Sendi fréttabréf í biðröð"
|
||||
|
||||
#: models.py:32
|
||||
msgid "newsletter title"
|
||||
msgstr "yfirskirft fréttabréfs"
|
||||
|
||||
#: models.py:37
|
||||
msgid "Sender e-mail"
|
||||
msgstr "Netfang sendanda"
|
||||
|
||||
#: models.py:40
|
||||
msgid "sender"
|
||||
msgstr "sendandi"
|
||||
|
||||
#: models.py:40
|
||||
msgid "Sender name"
|
||||
msgstr "Nafn sendanda"
|
||||
|
||||
#: models.py:44
|
||||
msgid "visible"
|
||||
msgstr "sýnilegt"
|
||||
|
||||
#: models.py:48
|
||||
msgid "send html"
|
||||
msgstr "senda HTML"
|
||||
|
||||
#: models.py:49
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Val um HTML eður ei í póstum."
|
||||
|
||||
#: models.py:101
|
||||
msgid "newsletters"
|
||||
msgstr "fréttabréf"
|
||||
|
||||
#: models.py:157
|
||||
msgid "user"
|
||||
msgstr "notandi"
|
||||
|
||||
#: models.py:162
|
||||
msgid "optional"
|
||||
msgstr "valkvæmt"
|
||||
|
||||
#: models.py:206
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Uppfærði áskriftir %(subscription)s sem %(action)s."
|
||||
|
||||
#: models.py:248
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Hvorki netfang né notendanafn eru skráð. Það kallar á ósamræmi."
|
||||
|
||||
#: models.py:252
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Ef notandi er valinn, verður netfang að vera tómt eða öfugt."
|
||||
|
||||
#: models.py:294
|
||||
msgid "IP address"
|
||||
msgstr "IP tala"
|
||||
|
||||
#: models.py:301
|
||||
msgid "activation code"
|
||||
msgstr "staðfestingarkóði"
|
||||
|
||||
#: models.py:306
|
||||
msgid "subscribed"
|
||||
msgstr "í áskrift"
|
||||
|
||||
#: models.py:314
|
||||
msgid "unsubscribed"
|
||||
msgstr "ekki í áskrift"
|
||||
|
||||
#: models.py:322
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> til %(newsletter)s"
|
||||
|
||||
#: models.py:329
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s til %(newsletter)s"
|
||||
|
||||
#: models.py:335
|
||||
msgid "subscription"
|
||||
msgstr "áskrift"
|
||||
|
||||
#: models.py:336
|
||||
msgid "subscriptions"
|
||||
msgstr "áskriftir"
|
||||
|
||||
#: models.py:439
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Röðun stýrir röð greina í sendingu"
|
||||
|
||||
#: models.py:441
|
||||
msgid "sort order"
|
||||
msgstr "röðun"
|
||||
|
||||
#: models.py:444 models.py:483
|
||||
msgid "title"
|
||||
msgstr "fyrirsögn"
|
||||
|
||||
#: models.py:445
|
||||
msgid "text"
|
||||
msgstr "text"
|
||||
|
||||
#: models.py:448
|
||||
msgid "link"
|
||||
msgstr "tengill"
|
||||
|
||||
#: models.py:454
|
||||
msgid "image"
|
||||
msgstr "mynd"
|
||||
|
||||
#: models.py:465
|
||||
msgid "article"
|
||||
msgstr "grein"
|
||||
|
||||
#: models.py:466
|
||||
msgid "articles"
|
||||
msgstr "greinar"
|
||||
|
||||
#: models.py:484
|
||||
msgid "slug"
|
||||
msgstr "slóðarkóði [slug}"
|
||||
|
||||
#: models.py:491
|
||||
msgid "created"
|
||||
msgstr "stofnað"
|
||||
|
||||
#: models.py:494
|
||||
msgid "modified"
|
||||
msgstr "breytt"
|
||||
|
||||
#: models.py:499
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s í %(newsletter)s"
|
||||
|
||||
#: models.py:513
|
||||
msgid "messages"
|
||||
msgstr "skilaboð"
|
||||
|
||||
#: models.py:538
|
||||
msgid "submissions"
|
||||
msgstr "sendingar"
|
||||
|
||||
#: models.py:541
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s á %(publish_date)s"
|
||||
|
||||
#: models.py:550
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Sendi %(submission)s til %(count)d fólks"
|
||||
|
||||
#: models.py:597
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Sendi boð til: %s."
|
||||
|
||||
#: models.py:606
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Skilaboð %(subscription)s brugðust með villu: %(error)s"
|
||||
|
||||
#: models.py:630
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Sending skilaboða %s"
|
||||
|
||||
#: models.py:673
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Ef þú velur ekkert mun kerfið velja áskrifendur."
|
||||
|
||||
#: models.py:675
|
||||
msgid "recipients"
|
||||
msgstr "viðtakendur"
|
||||
|
||||
#: models.py:680
|
||||
msgid "publication date"
|
||||
msgstr "dagsetning birtignar"
|
||||
|
||||
#: models.py:684
|
||||
msgid "publish"
|
||||
msgstr "birta"
|
||||
|
||||
#: models.py:685
|
||||
msgid "Publish in archive."
|
||||
msgstr "Birta í safni"
|
||||
|
||||
#: models.py:689
|
||||
msgid "prepared"
|
||||
msgstr "tilbúið"
|
||||
|
||||
#: models.py:693
|
||||
msgid "sent"
|
||||
msgstr "sent"
|
||||
|
||||
#: models.py:697
|
||||
msgid "sending"
|
||||
msgstr "sendi"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:7
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:7
|
||||
#: templates/admin/newsletter/submission/change_form.html:14
|
||||
msgid "History"
|
||||
msgstr "Saga"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:8
|
||||
#: templates/admin/newsletter/submission/change_form.html:15
|
||||
msgid "View on site"
|
||||
msgstr "Sjá á vef"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Forskoða skilaboð"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Heim"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Skilaboð"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Breyta"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Stofna sendingu"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Texti"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Senda"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:8
|
||||
msgid "import"
|
||||
msgstr "sækja"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:12
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "Bæta við %(name)s"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Sækja netföng"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Staðfesta"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Sækja"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Upplýsingar um fréttabréf"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Fréttabréf, listi"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Áskrift"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Uppfæra áskriftir"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Safn fréttabréfa"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "virkja"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Virkja"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Áskrift fréttabréfa"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Vegna villu hefur ekki tekist að senda þér staðfestingarpóst.\nGæti stafað af villu í netfangi."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Áskrift þín hefur verið virkjuð með sóma."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Áskriftarbeiðni þín er móttekin og póstur sendur á netfangið með tengli sem smella þarf á til að virkja áskriftina."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Vilt þú gerast áskrifandi að þessu fréttabréfi?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Afþökkun fréttabréfa"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Hætta áskrift"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Áskift þinni er sagt upp."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Beiðni um uppsögn hefur verið móttekin. Tölvupóstur með tengli til stafestingar hefur verið sendur."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Viltu þú segja upp þessari áskrift?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Uppfæra fréttabréf"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Uppfæra áskrift"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Áskrift þín er sómasamlega uppfærð."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Uppfærslubeiðni þín hefur verið móttekin. Póstur með tengli til virkjunar hefur verið sendur á netfang þitt. Þú verður að staðfesta með því að smella á þann tengil."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Núna:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Breyta:"
|
||||
|
||||
#: views.py:114
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Breytingar eru vistaðar."
|
||||
|
||||
#: views.py:305
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Þú hefur gerst áskrifandi að %s."
|
||||
|
||||
#: views.py:309
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Notandi %(rs)s gerðist áskrifandi að %(my_newsletter)s."
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Þú ert þegar áskrifandi að %s."
|
||||
|
||||
#: views.py:344
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Þú hefur sagt upp áskrift að %s."
|
||||
|
||||
#: views.py:348
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Notandi %(rs)s sagði upp áskrift að %(my_newsletter)s."
|
||||
|
||||
#: views.py:361
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Þú ert ekki áskrifandi að %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# ebergmundur <einar@nature.is>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2014-04-16 20:34+0000\n"
|
||||
"Last-Translator: ebergmundur <einar@nature.is>\n"
|
||||
"Language-Team: Icelandic (Iceland) (http://www.transifex.com/dokterbob/django-newsletter/language/is_IS/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: is_IS\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Sendingin hefur tekið breytingum, það verður að vista hana áður en hægt er að senda. Smelltu á OK til að vista og halda áfram eða Cancel til að hætta við og halda áfram að breyta."
|
||||
Binary file not shown.
@@ -0,0 +1,778 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Andrea <andrea.zanibellato@gmail.com>, 2013
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-05 17:58+0100\n"
|
||||
"PO-Revision-Date: 2016-02-02 13:33+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/dokterbob/django-newsletter/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "La voce '%s' non contiene un indirizzo e-mail valido."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Il file di indirizzi contiene dei duplicati per '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Alcune voci sono già registrate per l'iscrizione."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Indirizzo e-mail %(email)s troppo lungo, la lunghezza massima è di %(email_length)s caratteri."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Nome %(name)s troppo lungo, la lunghezza massima è di %(name_length)s caratteri."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:162
|
||||
msgid "name"
|
||||
msgstr "nome"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "mostra"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Colonna nome non trovata. Il nome di questa colonna dovrebbe essere 'name' o '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:37 models.py:176
|
||||
msgid "e-mail"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Colonna e-mail non trovata. Il nome della colonna dovrebbe essere 'email', 'e-mail' o '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Non è stato possibile determinare le colonne appropriate nel file CSV. Dovrebbe esserci un campo denominato 'name' o '%(name)s' e uno denominato 'e-mail' o '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:262
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "La riga con contenuto '%(row)s' non contiene un campo nome ed indirizzo e-mail."
|
||||
|
||||
#: addressimport/parsers.py:288
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Errore nella lettura del file vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:307
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "La voce '%s' non contiene un indirizzo e-mail."
|
||||
|
||||
#: addressimport/parsers.py:343
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Alcune voci non hanno un indirizzo e-mail."
|
||||
|
||||
#: admin.py:63
|
||||
msgid "Messages"
|
||||
msgstr "Messaggi"
|
||||
|
||||
#: admin.py:71
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Iscrizioni"
|
||||
|
||||
#: admin.py:77
|
||||
msgid "Submissions"
|
||||
msgstr "Richieste"
|
||||
|
||||
#: admin.py:97 models.py:537
|
||||
msgid "submission"
|
||||
msgstr "invio"
|
||||
|
||||
#: admin.py:104 admin.py:247 admin.py:365 models.py:100 models.py:296
|
||||
#: models.py:487 models.py:665
|
||||
msgid "newsletter"
|
||||
msgstr "newsletter"
|
||||
|
||||
#: admin.py:112
|
||||
msgid "publish date"
|
||||
msgstr "data pubblicazione"
|
||||
|
||||
#: admin.py:138
|
||||
msgid "Sent."
|
||||
msgstr "Inviato."
|
||||
|
||||
#: admin.py:141
|
||||
msgid "Delayed submission."
|
||||
msgstr "Invio rimandato."
|
||||
|
||||
#: admin.py:143
|
||||
msgid "Submitting."
|
||||
msgstr "Invio in corso."
|
||||
|
||||
#: admin.py:145
|
||||
msgid "Not sent."
|
||||
msgstr "Non inviato."
|
||||
|
||||
#: admin.py:146 admin.py:390 admin_forms.py:113
|
||||
msgid "Status"
|
||||
msgstr "Stato"
|
||||
|
||||
#: admin.py:153
|
||||
msgid "Submission already sent."
|
||||
msgstr "Richiesta già inviata."
|
||||
|
||||
#: admin.py:162
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "La tua richiesta è in corso."
|
||||
|
||||
#: admin.py:208
|
||||
msgid "Optional"
|
||||
msgstr "Opzionale"
|
||||
|
||||
#: admin.py:235 models.py:460 models.py:512 models.py:668
|
||||
msgid "message"
|
||||
msgstr "messaggio"
|
||||
|
||||
#: admin.py:239 templates/admin/newsletter/message/change_form.html.py:9
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Anteprima"
|
||||
|
||||
#: admin.py:267 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Nessun template HTML è associato con la newsletter a cui appartiene questo messaggio."
|
||||
|
||||
#: admin.py:385 admin_forms.py:101
|
||||
msgid "Subscribed"
|
||||
msgstr "Iscritto"
|
||||
|
||||
#: admin.py:387 admin_forms.py:102
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Disiscritto"
|
||||
|
||||
#: admin.py:389
|
||||
msgid "Unactivated"
|
||||
msgstr "Non attivato"
|
||||
|
||||
#: admin.py:397 models.py:309
|
||||
msgid "subscribe date"
|
||||
msgstr "data iscrizione"
|
||||
|
||||
#: admin.py:404 models.py:317
|
||||
msgid "unsubscribe date"
|
||||
msgstr "data disiscrizione"
|
||||
|
||||
#: admin.py:412
|
||||
#, python-format
|
||||
msgid "%s user has been successfully subscribed."
|
||||
msgid_plural "%s users have been successfully subscribed."
|
||||
msgstr[0] "%s utente è stato iscritto con successo."
|
||||
msgstr[1] "%s utenti sono stati iscritti con successo."
|
||||
|
||||
#: admin.py:417
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Iscrivi gli utenti selezionati"
|
||||
|
||||
#: admin.py:424
|
||||
#, python-format
|
||||
msgid "%s user has been successfully unsubscribed."
|
||||
msgid_plural "%s users have been successfully unsubscribed."
|
||||
msgstr[0] "%s utente è stato disiscritto con successo."
|
||||
msgstr[1] "%s utenti sono stati disiscritti con successo."
|
||||
|
||||
#: admin.py:429
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Disiscrivi gli utenti selezionati"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%s subscriptions have been successfully added."
|
||||
msgstr "%s iscrizioni sono state aggiunte con successo."
|
||||
|
||||
#: admin_forms.py:41
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Tipo di file '%s' non riconosciuto."
|
||||
|
||||
#: admin_forms.py:58
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Estensione del file '%s' non riconosciuta."
|
||||
|
||||
#: admin_forms.py:62
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Nessuna voce trovata in questo file."
|
||||
|
||||
#: admin_forms.py:70
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: admin_forms.py:73
|
||||
msgid "Address file"
|
||||
msgstr "File di indirizzi"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Ignora errori non fatali"
|
||||
|
||||
#: admin_forms.py:86
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Dovresti confermare per continuare."
|
||||
|
||||
#: admin_forms.py:89
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Conferma importazione"
|
||||
|
||||
#: admin_forms.py:119 admin_forms.py:127
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Se è stato selezionato un utente questo campo dovrebbe rimanere vuoto."
|
||||
|
||||
#: admin_forms.py:137
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "È necessario selezionare un utente o specificare un indirizzo e-mail."
|
||||
|
||||
#: admin_forms.py:162
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Questo messaggio è già stato pubblicato in qualche altro invio. I messaggi possono essere pubblicati solo una volta."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "L'oggetto %(name)s con 'primary key' %(key)r non esiste."
|
||||
|
||||
#: forms.py:47 forms.py:106
|
||||
msgid "An e-mail address is required."
|
||||
msgstr "È richiesto un indirizzo e-mail."
|
||||
|
||||
#: forms.py:55
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "L'indirizzo e-mail '%(email)s' appartiene ad un utente registrato su questo sito. Per favore accedi con le credenziali di questo utente e riprova."
|
||||
|
||||
#: forms.py:72
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Il tuo indirizzo e-mail è già registrato come iscritto."
|
||||
|
||||
#: forms.py:97
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "L'iscrizione non è ancora stata attivata."
|
||||
|
||||
#: forms.py:114
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This e-mail address belongs to the user '%(username)s'. Please log in as "
|
||||
"that user and try again."
|
||||
msgstr "Questo indirizzo e-mail appartiene all'utente '%(username)s'. Per favore accedi con le sue credenziali e riprova."
|
||||
|
||||
#: forms.py:132
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Questo indirizzo e-mail non è registrato per l'iscrizione."
|
||||
|
||||
#: forms.py:147
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Ci si è già disiscritti da questo elenco."
|
||||
|
||||
#: forms.py:163
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Il codice di validazione che hai fornito non corrisponde."
|
||||
|
||||
#: forms.py:169
|
||||
msgid "Activation code"
|
||||
msgstr "Codice di attivazione"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Inviando mail newsletter in coda"
|
||||
|
||||
#: models.py:32
|
||||
msgid "newsletter title"
|
||||
msgstr "titolo newsletter"
|
||||
|
||||
#: models.py:37
|
||||
msgid "Sender e-mail"
|
||||
msgstr "E-mail mittente"
|
||||
|
||||
#: models.py:40
|
||||
msgid "sender"
|
||||
msgstr "mittente"
|
||||
|
||||
#: models.py:40
|
||||
msgid "Sender name"
|
||||
msgstr "Nome mittente"
|
||||
|
||||
#: models.py:44
|
||||
msgid "visible"
|
||||
msgstr "visibile"
|
||||
|
||||
#: models.py:48
|
||||
msgid "send html"
|
||||
msgstr "invia html"
|
||||
|
||||
#: models.py:49
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Se inviare o meno una versione HTML delle e-mail."
|
||||
|
||||
#: models.py:101
|
||||
msgid "newsletters"
|
||||
msgstr "newsletter"
|
||||
|
||||
#: models.py:157
|
||||
msgid "user"
|
||||
msgstr "utente"
|
||||
|
||||
#: models.py:162
|
||||
msgid "optional"
|
||||
msgstr "opzionale"
|
||||
|
||||
#: models.py:206
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Aggiornata iscrizione %(subscription)s per %(action)s."
|
||||
|
||||
#: models.py:248
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Non è stato impostato né un email né un nome utente. Questo porta all'inconsistenza!"
|
||||
|
||||
#: models.py:252
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Se è stato impostato un utente, il campo e-mail deve essere nullo e viceversa."
|
||||
|
||||
#: models.py:294
|
||||
msgid "IP address"
|
||||
msgstr "Indirizzo IP"
|
||||
|
||||
#: models.py:301
|
||||
msgid "activation code"
|
||||
msgstr "codice di attivazione"
|
||||
|
||||
#: models.py:306
|
||||
msgid "subscribed"
|
||||
msgstr "iscritto"
|
||||
|
||||
#: models.py:314
|
||||
msgid "unsubscribed"
|
||||
msgstr "disiscritto"
|
||||
|
||||
#: models.py:322
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> a %(newsletter)s"
|
||||
|
||||
#: models.py:329
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s a %(newsletter)s"
|
||||
|
||||
#: models.py:335
|
||||
msgid "subscription"
|
||||
msgstr "iscrizione"
|
||||
|
||||
#: models.py:336
|
||||
msgid "subscriptions"
|
||||
msgstr "iscrizioni"
|
||||
|
||||
#: models.py:439
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "L'ordinamento determina l'ordine in cui gli articoli sono concatenati in un post."
|
||||
|
||||
#: models.py:441
|
||||
msgid "sort order"
|
||||
msgstr "ordinamento"
|
||||
|
||||
#: models.py:444 models.py:483
|
||||
msgid "title"
|
||||
msgstr "titolo"
|
||||
|
||||
#: models.py:445
|
||||
msgid "text"
|
||||
msgstr "testo"
|
||||
|
||||
#: models.py:448
|
||||
msgid "link"
|
||||
msgstr "collegamento"
|
||||
|
||||
#: models.py:454
|
||||
msgid "image"
|
||||
msgstr "immagine"
|
||||
|
||||
#: models.py:465
|
||||
msgid "article"
|
||||
msgstr "articolo"
|
||||
|
||||
#: models.py:466
|
||||
msgid "articles"
|
||||
msgstr "articoli"
|
||||
|
||||
#: models.py:484
|
||||
msgid "slug"
|
||||
msgstr "slug"
|
||||
|
||||
#: models.py:491
|
||||
msgid "created"
|
||||
msgstr "creato"
|
||||
|
||||
#: models.py:494
|
||||
msgid "modified"
|
||||
msgstr "modificato"
|
||||
|
||||
#: models.py:499
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s in %(newsletter)s"
|
||||
|
||||
#: models.py:513
|
||||
msgid "messages"
|
||||
msgstr "messaggi"
|
||||
|
||||
#: models.py:538
|
||||
msgid "submissions"
|
||||
msgstr "invii"
|
||||
|
||||
#: models.py:541
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s del %(publish_date)s"
|
||||
|
||||
#: models.py:550
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Inviando %(submission)s a %(count)d persone"
|
||||
|
||||
#: models.py:597
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Inviando messaggio a: %s."
|
||||
|
||||
#: models.py:606
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Il messaggio %(subscription)s è fallito con errore: %(error)s"
|
||||
|
||||
#: models.py:630
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Invio del messaggio %s"
|
||||
|
||||
#: models.py:673
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Se non selezioni nessuno, il sistema troverà automaticamente i sottoscrittori per te."
|
||||
|
||||
#: models.py:675
|
||||
msgid "recipients"
|
||||
msgstr "destinatari"
|
||||
|
||||
#: models.py:680
|
||||
msgid "publication date"
|
||||
msgstr "data di pubblicazione"
|
||||
|
||||
#: models.py:684
|
||||
msgid "publish"
|
||||
msgstr "pubblica"
|
||||
|
||||
#: models.py:685
|
||||
msgid "Publish in archive."
|
||||
msgstr "Pubblica nell'archivio."
|
||||
|
||||
#: models.py:689
|
||||
msgid "prepared"
|
||||
msgstr "preparato"
|
||||
|
||||
#: models.py:693
|
||||
msgid "sent"
|
||||
msgstr "inviato"
|
||||
|
||||
#: models.py:697
|
||||
msgid "sending"
|
||||
msgstr "inviando"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:7
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:7
|
||||
#: templates/admin/newsletter/submission/change_form.html:14
|
||||
msgid "History"
|
||||
msgstr "Cronologia"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:8
|
||||
#: templates/admin/newsletter/submission/change_form.html:15
|
||||
msgid "View on site"
|
||||
msgstr "Vedi sul sito"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Anteprima messaggio"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Inizio"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Messaggio"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Cambia"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Crea invio"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Testo"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Invia"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:8
|
||||
msgid "import"
|
||||
msgstr "importa"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:12
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "Aggiungi %(name)s"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Importa indirizzi"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Conferma"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Carica"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Dettaglio newsletter"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Elenco newsletter"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Iscriviti"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Aggiorna sottoscrizioni"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Archivio newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "attiva"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Attiva"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Iscrizione newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "A causa di un errore tecnico non è stato possibile inviare la tua mail di conferma. Questo potrebbe essere causato da un indirizzo e-mail non valido."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "La tua iscrizione è stata attivata con successo."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "La tua richiesta di iscrizione è stata ricevuta con successo e ti è stata inviata una e-mail di attivazione. In quella e-mail troverai un link da cliccare per poter attivare la tua iscrizione."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Vuoi iscriverti a questa newsletter?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Disiscrizione newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Disiscriviti"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Sei stato disiscritto con successo."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "La tua richiesta di cancellazione è stata ricevuta con successo. Ti è stata inviata un'e-mail con il link da cliccare per poter confermare la tua disiscrizione."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Vuoi disiscriverti da questa newsletter?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Aggiornamento newsletter"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Aggiorna iscrizione"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "La tua iscrizione è stata aggiornata con successo."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "La tua richiesta di aggiornamento è stata ricevuta con successo e ti è stata inviata una e-mail di attivazione. In quella e-mail troverai un link da cliccare per poter completare l'aggiornamento della tua iscrizione."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Attualmente:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Cambia:"
|
||||
|
||||
#: views.py:114
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Le tue modifiche sono state salvate."
|
||||
|
||||
#: views.py:305
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Sei ora iscritto a %s."
|
||||
|
||||
#: views.py:309
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "L'utente %(rs)s si è iscritto a %(my_newsletter)s."
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Sei già iscritto a %s."
|
||||
|
||||
#: views.py:344
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Sei stato disiscritto da %s."
|
||||
|
||||
#: views.py:348
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "L'utente %(rs)s si è disiscritto da %(my_newsletter)s."
|
||||
|
||||
#: views.py:361
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Non sei iscritto a %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Andrea <andrea.zanibellato@gmail.com>, 2013
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2013-11-20 12:25+0000\n"
|
||||
"Last-Translator: Andrea <andrea.zanibellato@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/dokterbob/django-newsletter/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Il contenuto è stato cambiato. Deve essere salvato prima che tu possa inviarlo. Clicca OK per procedere con il salvataggio, clicca annulla per continuare con la modifica."
|
||||
Binary file not shown.
@@ -0,0 +1,754 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2011
|
||||
# G M <gerben_m88@hotmail.com>, 2016
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2013,2016
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2012
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-11 16:09+0200\n"
|
||||
"PO-Revision-Date: 2016-08-11 14:14+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/dokterbob/django-newsletter/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "Rij met '%s' bevat geen geldig e-mail adres."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Het adressenbestand bevat een dubbele rij voor '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Op enkele rijen is al geabonneerd."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "E-mail adres %(email)s is te lang, maximale lengte is %(email_length)s karakters."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Naam %(name)s is te lang, maximale lengte is %(name_length)s karakters."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:164
|
||||
msgid "name"
|
||||
msgstr "naam"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "display"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Naam kolom niet gevonden. De naam van deze kolom moet 'name' of '%s' zijn."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:39 models.py:178
|
||||
msgid "e-mail"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Email-kolom niet gevonden. De naam van deze kolom moet 'email', 'e-mail' of '%(email)s' zijn."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Het is niet gelukt om de juiste kolommon in het CSV-betand te bepalen. Er zou een veld 'name' of '%(name)s' en een veld 'e-mail' of '%(e-mail)s' in moeten staan.'"
|
||||
|
||||
#: addressimport/parsers.py:264
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "Rij met inhoud '%(row)s' bevat geen naam- en email-veld."
|
||||
|
||||
#: addressimport/parsers.py:290
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Fout bij lezen vCard-bestand: %s"
|
||||
|
||||
#: addressimport/parsers.py:309
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "Ingang '%s' bevat geen geldig e-mail adres."
|
||||
|
||||
#: addressimport/parsers.py:345
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Enkele ingangen hebben geen geldig e-mail adres."
|
||||
|
||||
#: admin.py:64
|
||||
msgid "Messages"
|
||||
msgstr "Berichten"
|
||||
|
||||
#: admin.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Abonnementen"
|
||||
|
||||
#: admin.py:78
|
||||
msgid "Submissions"
|
||||
msgstr "Zendingen"
|
||||
|
||||
#: admin.py:98 models.py:551
|
||||
msgid "submission"
|
||||
msgstr "zending"
|
||||
|
||||
#: admin.py:105 admin.py:249 admin.py:364 models.py:102 models.py:298
|
||||
#: models.py:476 models.py:687
|
||||
msgid "newsletter"
|
||||
msgstr "nieuwsbrief"
|
||||
|
||||
#: admin.py:113
|
||||
msgid "publish date"
|
||||
msgstr "publicatiedatum"
|
||||
|
||||
#: admin.py:139
|
||||
msgid "Sent."
|
||||
msgstr "Verzonden."
|
||||
|
||||
#: admin.py:142
|
||||
msgid "Delayed submission."
|
||||
msgstr "Wordt later verzonden."
|
||||
|
||||
#: admin.py:144
|
||||
msgid "Submitting."
|
||||
msgstr "Wordt nu verzonden."
|
||||
|
||||
#: admin.py:146
|
||||
msgid "Not sent."
|
||||
msgstr "Niet verzonden."
|
||||
|
||||
#: admin.py:147 admin.py:389 admin_forms.py:115
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: admin.py:154
|
||||
msgid "Submission already sent."
|
||||
msgstr "Zending is al verzonden."
|
||||
|
||||
#: admin.py:163
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Uw zending wordt verzonden."
|
||||
|
||||
#: admin.py:210
|
||||
msgid "Optional"
|
||||
msgstr "Optioneel"
|
||||
|
||||
#: admin.py:237 models.py:447 models.py:487 models.py:690
|
||||
msgid "message"
|
||||
msgstr "bericht"
|
||||
|
||||
#: admin.py:241 templates/admin/newsletter/message/change_form.html.py:8
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Voorvertonen"
|
||||
|
||||
#: admin.py:266 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Er is geen HTML-template geässocieerd met de nieuwsbrief die bij dit bericht hoort."
|
||||
|
||||
#: admin.py:384 admin_forms.py:103
|
||||
msgid "Subscribed"
|
||||
msgstr "Aangemeld"
|
||||
|
||||
#: admin.py:386 admin_forms.py:104
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Opzeggen"
|
||||
|
||||
#: admin.py:388
|
||||
msgid "Unactivated"
|
||||
msgstr "Ongeactiveerd"
|
||||
|
||||
#: admin.py:396 models.py:311
|
||||
msgid "subscribe date"
|
||||
msgstr "abonneerdatum"
|
||||
|
||||
#: admin.py:403 models.py:319
|
||||
msgid "unsubscribe date"
|
||||
msgstr "opzegdatum"
|
||||
|
||||
#: admin.py:411
|
||||
#, python-format
|
||||
msgid "%d user has been successfully subscribed."
|
||||
msgid_plural "%d users have been successfully subscribed."
|
||||
msgstr[0] "%d gebruiker is succesvol ingeschreven."
|
||||
msgstr[1] "%d gebruikers zijn succesvol ingeschreven."
|
||||
|
||||
#: admin.py:416
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Schrijf geselecteerde gebruikers in"
|
||||
|
||||
#: admin.py:423
|
||||
#, python-format
|
||||
msgid "%d user has been successfully unsubscribed."
|
||||
msgid_plural "%d users have been successfully unsubscribed."
|
||||
msgstr[0] "%d gebruiker is succesvol uitgeschreven."
|
||||
msgstr[1] "%d gebruikers zijn succesvol uitgeschreven."
|
||||
|
||||
#: admin.py:428
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Geselecteerde gebruikers uitschrijven"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%d subscription has been successfully added."
|
||||
msgid_plural "%d subscriptions have been successfully added."
|
||||
msgstr[0] "%d aanmelding is succesvol toegevoegd."
|
||||
msgstr[1] "%d aanmeldingen zijn succesvol toegevoegd."
|
||||
|
||||
#: admin_forms.py:43
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Bestandstype '%s' wordt niet herkend."
|
||||
|
||||
#: admin_forms.py:60
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Bestandsextensie '%s' is niet herkend."
|
||||
|
||||
#: admin_forms.py:64
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Er zijn geen adressen gevonden in dit bestand."
|
||||
|
||||
#: admin_forms.py:72
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Nieuwsbrief"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Address file"
|
||||
msgstr "Adressenbestand"
|
||||
|
||||
#: admin_forms.py:77
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Negeer niet-fatale fouten"
|
||||
|
||||
#: admin_forms.py:88
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "U moet bevestigen om door te kunnen gaan."
|
||||
|
||||
#: admin_forms.py:91
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Bevestig import"
|
||||
|
||||
#: admin_forms.py:121 admin_forms.py:129
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Als er een gebruiker is geselecteerd dient dit veld leeg te blijven."
|
||||
|
||||
#: admin_forms.py:139
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Er moet óf een gebruiker of een e-mail adres worden ingevoerd."
|
||||
|
||||
#: admin_forms.py:164
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Dit bericht is al gepubliceerd in een andere zending. Berichten kunnen maar eenmalig gepubliceerd worden."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "%(name)s-object met primaire sleutel %(key)r bestaat niet."
|
||||
|
||||
#: forms.py:57
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Uw e-mail adres is al geabonneerd."
|
||||
|
||||
#: forms.py:84
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Deze inschrijving is nog niet geactiveerd."
|
||||
|
||||
#: forms.py:102
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Er is geen abonnement voor dit email adres."
|
||||
|
||||
#: forms.py:117
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Deze inschrijving is al opgezegd."
|
||||
|
||||
#: forms.py:133
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "De verificatiecode die door u is opgegeven komt niet overeen."
|
||||
|
||||
#: forms.py:139
|
||||
msgid "Activation code"
|
||||
msgstr "Verificatiecode"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Bezig met versturen van klaarstaande zendingen"
|
||||
|
||||
#: models.py:34
|
||||
msgid "newsletter title"
|
||||
msgstr "Nieuwsbrief titel"
|
||||
|
||||
#: models.py:39
|
||||
msgid "Sender e-mail"
|
||||
msgstr "E-mail verzender"
|
||||
|
||||
#: models.py:42
|
||||
msgid "sender"
|
||||
msgstr "verzender"
|
||||
|
||||
#: models.py:42
|
||||
msgid "Sender name"
|
||||
msgstr "Naam verzender"
|
||||
|
||||
#: models.py:46
|
||||
msgid "visible"
|
||||
msgstr "zichtbaar"
|
||||
|
||||
#: models.py:50
|
||||
msgid "send html"
|
||||
msgstr "html versturen"
|
||||
|
||||
#: models.py:51
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Of er al dan niet HTML versies van e-mails verstuurd moeten worden."
|
||||
|
||||
#: models.py:103
|
||||
msgid "newsletters"
|
||||
msgstr "nieuwsbrieven"
|
||||
|
||||
#: models.py:159
|
||||
msgid "user"
|
||||
msgstr "gebruiker"
|
||||
|
||||
#: models.py:164
|
||||
msgid "optional"
|
||||
msgstr "optioneel"
|
||||
|
||||
#: models.py:208
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Abonement %(subscription)s aangepast naar %(action)s."
|
||||
|
||||
#: models.py:250
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Er is geen e-mail adres noch een gebruikersnaam ingesteld. Dit is vragen om inconsistentie!"
|
||||
|
||||
#: models.py:254
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Als er een gebruiker is ingesteld moet e-mail null zijn en vice versa."
|
||||
|
||||
#: models.py:296
|
||||
msgid "IP address"
|
||||
msgstr "IP-adres"
|
||||
|
||||
#: models.py:303
|
||||
msgid "activation code"
|
||||
msgstr "activatiecode"
|
||||
|
||||
#: models.py:308
|
||||
msgid "subscribed"
|
||||
msgstr "aangemeld"
|
||||
|
||||
#: models.py:316
|
||||
msgid "unsubscribed"
|
||||
msgstr "opgezegd"
|
||||
|
||||
#: models.py:324
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> op %(newsletter)s"
|
||||
|
||||
#: models.py:331
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s aan %(newsletter)s"
|
||||
|
||||
#: models.py:337
|
||||
msgid "subscription"
|
||||
msgstr "abonnement"
|
||||
|
||||
#: models.py:338
|
||||
msgid "subscriptions"
|
||||
msgstr "abonnementen"
|
||||
|
||||
#: models.py:426
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Sorteer volgorde bepaald de volgorde waarin artikelen in een bericht achter elkaar gezet worden."
|
||||
|
||||
#: models.py:428
|
||||
msgid "sort order"
|
||||
msgstr "sorteer volgorde"
|
||||
|
||||
#: models.py:431 models.py:472
|
||||
msgid "title"
|
||||
msgstr "titel"
|
||||
|
||||
#: models.py:432
|
||||
msgid "text"
|
||||
msgstr "tekst"
|
||||
|
||||
#: models.py:435
|
||||
msgid "link"
|
||||
msgstr "koppeling"
|
||||
|
||||
#: models.py:441
|
||||
msgid "image"
|
||||
msgstr "afbeelding"
|
||||
|
||||
#: models.py:452
|
||||
msgid "article"
|
||||
msgstr "artikel"
|
||||
|
||||
#: models.py:453
|
||||
msgid "articles"
|
||||
msgstr "artikelen"
|
||||
|
||||
#: models.py:473
|
||||
msgid "slug"
|
||||
msgstr "slug"
|
||||
|
||||
#: models.py:480
|
||||
msgid "created"
|
||||
msgstr "aangemaakt"
|
||||
|
||||
#: models.py:483
|
||||
msgid "modified"
|
||||
msgstr "verandert"
|
||||
|
||||
#: models.py:488
|
||||
msgid "messages"
|
||||
msgstr "berichten"
|
||||
|
||||
#: models.py:493
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s in %(newsletter)s"
|
||||
|
||||
#: models.py:552
|
||||
msgid "submissions"
|
||||
msgstr "zendingen"
|
||||
|
||||
#: models.py:555
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s op %(publish_date)s"
|
||||
|
||||
#: models.py:574
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Versturen van %(submission)s aan %(count)d mensen"
|
||||
|
||||
#: models.py:628
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Versturen bericht aan: %s"
|
||||
|
||||
#: models.py:637
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Bericht %(subscription)s is gefaald met fout: %(error)s"
|
||||
|
||||
#: models.py:655
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Verzending van bericht %s"
|
||||
|
||||
#: models.py:695
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Als u er geen selecteerd, zal het systeem automatisch de abonnees voor u opzoeken."
|
||||
|
||||
#: models.py:697
|
||||
msgid "recipients"
|
||||
msgstr "geaddresseerden"
|
||||
|
||||
#: models.py:702
|
||||
msgid "publication date"
|
||||
msgstr "publicatiedatum"
|
||||
|
||||
#: models.py:706
|
||||
msgid "publish"
|
||||
msgstr "publiceer"
|
||||
|
||||
#: models.py:707
|
||||
msgid "Publish in archive."
|
||||
msgstr "Publiceer in archief."
|
||||
|
||||
#: models.py:711
|
||||
msgid "prepared"
|
||||
msgstr "voorbereid"
|
||||
|
||||
#: models.py:715
|
||||
msgid "sent"
|
||||
msgstr "verzonden"
|
||||
|
||||
#: models.py:719
|
||||
msgid "sending"
|
||||
msgstr "verzenden"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Voorvertoning bericht"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Bericht"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Verander"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Maak zending aan"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Tekst"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Verzend"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:5
|
||||
msgid "Import"
|
||||
msgstr "Importeer"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Importeer adres"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Bevestig"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Upload"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Nieuwsbrief detail"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Nieuwsbrieven lijst"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Abonneer"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Pas inschrijvingen aan"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Nieuwsbrief archief"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "activeer"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Activeer"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Abonneer op nieuwsbrief"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Wegens technische omstandigheden is het niet gelukt om een bevestigingsmail te versturen. Misschien heeft u een ongeldig e-mail adres ingevuld."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Uw inschrijving is succesvol geactiveerd."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Uw inschrijfverzoek is succesvol ontvangen en een activiatie e-mail is naar u verstuurd. In deze e-mail vind u een link die gevolgd moet worden om uw inschrijving te activeren."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Wilt u zich inschrijven op deze nieuwsbrief?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Zeg nieuwsbrief op"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Opzeggen"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "U bent succesvol uitgeschreven."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Uw uitschrijfverzoek is succesvol ontvangen. Er is een e-mail naar u verstuurd met een link die u dient te volgen om de uitschrijving te bevestigen."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Wilt u zich uitschrijven van deze nieuwsbrief?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Nieuwsbrief aanpassen"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Pas inschrijving aan"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Uw inschrijving is succesvol aangepast."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Uw aanpassingsverzoek is succesvol ontvangen en een activiatiemail is naar u verstuurd. In deze e-mail vind u een link die u dient aan te klikken om de aanpassingen te bevestigen."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Huidig:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Verander:"
|
||||
|
||||
#: validators.py:15
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "Het email-adres '%(email)s' hoort bij een gebruiker van deze site. Log in als deze gebruiker en probeer het nog eens."
|
||||
|
||||
#: views.py:115
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Uw veranderingen zijn opgeslagen."
|
||||
|
||||
#: views.py:306
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "U bent geaboneerd op %s."
|
||||
|
||||
#: views.py:310
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Gebruiker %(rs)s geaboneerd op %(my_newsletter)s."
|
||||
|
||||
#: views.py:320
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "U bent al geabonneerd op %s."
|
||||
|
||||
#: views.py:345
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "U bent uitgeschreven van %s."
|
||||
|
||||
#: views.py:349
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Gebruiker %(rs)s uitgeschreven van %(my_newsletter)s."
|
||||
|
||||
#: views.py:362
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "U bent niet ingeschreven op %s."
|
||||
Binary file not shown.
@@ -0,0 +1,24 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2010-11-30 06:53+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/dokterbob/django-newsletter/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "De zending is veranderd. Hij moet opgeslagen worden voordat u kunt verzenden. Klik op OK om de zending op te slaan, klik op annuleren om verder te gaan met bewerken."
|
||||
Binary file not shown.
@@ -0,0 +1,782 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# maciej.maciaszek <maciej.maciaszek@gmail.com>, 2014
|
||||
# marcinph <marcinpuhacz@gmail.com>, 2014
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
# mmiskiew <mmiskiew@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-05 17:58+0100\n"
|
||||
"PO-Revision-Date: 2016-02-02 13:33+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/dokterbob/django-newsletter/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "Wpis '%s' nie zawiera poprawnego adresu e-mail."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Plik z adresem zawiera zduplikowany wpis dla '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Niektóre wpisy są już dodane do subskrypcji."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Adres email %(email)s jest zbyt długi, maksymalna liczba znaków to %(email_length)s"
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Nazwa %(name)s jest zbyt długa, maksymalna liczba znaków to %(name_length)s"
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:162
|
||||
msgid "name"
|
||||
msgstr "nazwa"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "wyświetlanie"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Nazwa kolumny nie została znaleziona. Prawidłowa nazwa kolumny to albo 'name' albo '%s'"
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:37 models.py:176
|
||||
msgid "e-mail"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Kolumna e-mail nie została znaleziona. Prawidłowa nazwa kolumny to albo 'email' albo '%(email)s'"
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Nie znaleziono odpowiednich kolumn w pliku CSV. Powinno w nim wystąpić pole o nazwie 'name' lub '%(name)s' oraz pole o nazwie 'e-mail' lub '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:262
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "Wiersz o zawartości '%(row)s' nie zawiera pól 'name' oraz 'email'"
|
||||
|
||||
#: addressimport/parsers.py:288
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Błąd przy odczycie pliku vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:307
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "Wpis '%s' nie zawiera adresu e-mail."
|
||||
|
||||
#: addressimport/parsers.py:343
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Niektóre wpisy nie posiadają adresów e-mail."
|
||||
|
||||
#: admin.py:63
|
||||
msgid "Messages"
|
||||
msgstr "Wiadomości"
|
||||
|
||||
#: admin.py:71
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Subskrybcje"
|
||||
|
||||
#: admin.py:77
|
||||
msgid "Submissions"
|
||||
msgstr "Wysyłki"
|
||||
|
||||
#: admin.py:97 models.py:537
|
||||
msgid "submission"
|
||||
msgstr "wysyłka"
|
||||
|
||||
#: admin.py:104 admin.py:247 admin.py:365 models.py:100 models.py:296
|
||||
#: models.py:487 models.py:665
|
||||
msgid "newsletter"
|
||||
msgstr "newsletter"
|
||||
|
||||
#: admin.py:112
|
||||
msgid "publish date"
|
||||
msgstr "data publikacji"
|
||||
|
||||
#: admin.py:138
|
||||
msgid "Sent."
|
||||
msgstr "Wysłane."
|
||||
|
||||
#: admin.py:141
|
||||
msgid "Delayed submission."
|
||||
msgstr "Odroczone wysyłki."
|
||||
|
||||
#: admin.py:143
|
||||
msgid "Submitting."
|
||||
msgstr "Wysyłanie."
|
||||
|
||||
#: admin.py:145
|
||||
msgid "Not sent."
|
||||
msgstr "Nie wysłane."
|
||||
|
||||
#: admin.py:146 admin.py:390 admin_forms.py:113
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: admin.py:153
|
||||
msgid "Submission already sent."
|
||||
msgstr "Wysyłka została zakończona."
|
||||
|
||||
#: admin.py:162
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Twoja wysyłka jest przetwarzana."
|
||||
|
||||
#: admin.py:208
|
||||
msgid "Optional"
|
||||
msgstr "Opcjonalny"
|
||||
|
||||
#: admin.py:235 models.py:460 models.py:512 models.py:668
|
||||
msgid "message"
|
||||
msgstr "wiadomość"
|
||||
|
||||
#: admin.py:239 templates/admin/newsletter/message/change_form.html.py:9
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Podgląd"
|
||||
|
||||
#: admin.py:267 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Nie odnaleziono szablonu HTML dla newslettera do którego należy ta wiadomość"
|
||||
|
||||
#: admin.py:385 admin_forms.py:101
|
||||
msgid "Subscribed"
|
||||
msgstr "Zapisany"
|
||||
|
||||
#: admin.py:387 admin_forms.py:102
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Niezapisany"
|
||||
|
||||
#: admin.py:389
|
||||
msgid "Unactivated"
|
||||
msgstr "Dezaktywowany"
|
||||
|
||||
#: admin.py:397 models.py:309
|
||||
msgid "subscribe date"
|
||||
msgstr "data zapisania"
|
||||
|
||||
#: admin.py:404 models.py:317
|
||||
msgid "unsubscribe date"
|
||||
msgstr "data wypisania"
|
||||
|
||||
#: admin.py:412
|
||||
#, python-format
|
||||
msgid "%s user has been successfully subscribed."
|
||||
msgid_plural "%s users have been successfully subscribed."
|
||||
msgstr[0] "%s użytkownik został pomyślnie zapisany"
|
||||
msgstr[1] "%s użytkowników zostało pomyślnie zapisanych"
|
||||
msgstr[2] "%s użytkowników zostało pomyślnie zapisanych."
|
||||
|
||||
#: admin.py:417
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Zapisz wybranych użytkowników"
|
||||
|
||||
#: admin.py:424
|
||||
#, python-format
|
||||
msgid "%s user has been successfully unsubscribed."
|
||||
msgid_plural "%s users have been successfully unsubscribed."
|
||||
msgstr[0] "%s użytkownik został pomyślnie wypisany."
|
||||
msgstr[1] "%s użytkowników zostało pomyślnie wypisanych"
|
||||
msgstr[2] "%s użytkowników zostało pomyślnie wypisanych."
|
||||
|
||||
#: admin.py:429
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Wypisz zaznaczonych użytkowników"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%s subscriptions have been successfully added."
|
||||
msgstr "%s subskrypcji zostało dodanych pomyślnie."
|
||||
|
||||
#: admin_forms.py:41
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Rodzaj pliku '%s' nie został rozpoznany."
|
||||
|
||||
#: admin_forms.py:58
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Rozszerzenie '%s' nie zostało rozpoznane."
|
||||
|
||||
#: admin_forms.py:62
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Żadne wpisy nie zostały znalezione w tym pliku."
|
||||
|
||||
#: admin_forms.py:70
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Newsletter"
|
||||
|
||||
#: admin_forms.py:73
|
||||
msgid "Address file"
|
||||
msgstr "Plik z adresami"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Zignoruj błędy niekrytyczne."
|
||||
|
||||
#: admin_forms.py:86
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Powinieneś zatwierdzić, żeby móc kontynuować."
|
||||
|
||||
#: admin_forms.py:89
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Potwierdź import"
|
||||
|
||||
#: admin_forms.py:119 admin_forms.py:127
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Jeśli użytkownik został wybrany, to pole powinno zostać puste."
|
||||
|
||||
#: admin_forms.py:137
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Użytkownik lub adres e-mail musi zostać podany."
|
||||
|
||||
#: admin_forms.py:162
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Ta wiadomość została już opublikowana w innej wysyłce. Wiadomości mogą być publikowane tylko raz."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "Obiekt %(name)s z kluczem głównym %(key)r nie istnieje."
|
||||
|
||||
#: forms.py:47 forms.py:106
|
||||
msgid "An e-mail address is required."
|
||||
msgstr "Adres e-mail jest wymagany."
|
||||
|
||||
#: forms.py:55
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "Adres e-mail '%(email)s' należy do użytkownika posiadającego konto w tym systemie. Zaloguj się jako ten użytkownik i spróbuj ponownie."
|
||||
|
||||
#: forms.py:72
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Twój adres e-mail został już zapisany."
|
||||
|
||||
#: forms.py:97
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Ta subskrypcja nie została jeszcze aktywowana."
|
||||
|
||||
#: forms.py:114
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This e-mail address belongs to the user '%(username)s'. Please log in as "
|
||||
"that user and try again."
|
||||
msgstr "Ten adres e-mail należy do użytkownika '%(username)s'. Zaloguj się jako ten użytkownik i spróbuj ponownie."
|
||||
|
||||
#: forms.py:132
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Ten adres e-mail został zapisany."
|
||||
|
||||
#: forms.py:147
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Ta subskrypcja została już anulowana."
|
||||
|
||||
#: forms.py:163
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Podany kod weryfikacyjny jest nieprawidłowy."
|
||||
|
||||
#: forms.py:169
|
||||
msgid "Activation code"
|
||||
msgstr "Kod aktywacyjny"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Wysyłanie zaplanowanych wiadomości newslettera"
|
||||
|
||||
#: models.py:32
|
||||
msgid "newsletter title"
|
||||
msgstr "tytuł newslettera"
|
||||
|
||||
#: models.py:37
|
||||
msgid "Sender e-mail"
|
||||
msgstr "E-mail nadawcy"
|
||||
|
||||
#: models.py:40
|
||||
msgid "sender"
|
||||
msgstr "nadawca"
|
||||
|
||||
#: models.py:40
|
||||
msgid "Sender name"
|
||||
msgstr "Imię nadawcy"
|
||||
|
||||
#: models.py:44
|
||||
msgid "visible"
|
||||
msgstr "widoczny"
|
||||
|
||||
#: models.py:48
|
||||
msgid "send html"
|
||||
msgstr "wyślij html"
|
||||
|
||||
#: models.py:49
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Czy wiadomości e-mail mają być wysyłane w wersji HTML."
|
||||
|
||||
#: models.py:101
|
||||
msgid "newsletters"
|
||||
msgstr "newslettery"
|
||||
|
||||
#: models.py:157
|
||||
msgid "user"
|
||||
msgstr "użytkownik"
|
||||
|
||||
#: models.py:162
|
||||
msgid "optional"
|
||||
msgstr "opcjonalny"
|
||||
|
||||
#: models.py:206
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Zaktualizowano subskrypcję %(subscription)s o %(action)s"
|
||||
|
||||
#: models.py:248
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Email ani nazwa nie została ustawiona. To prosi się o niespójność!"
|
||||
|
||||
#: models.py:252
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Jeżeli wpiszesz użytkownika, adres email musi pozostać pusty i na odwrót."
|
||||
|
||||
#: models.py:294
|
||||
msgid "IP address"
|
||||
msgstr "adres IP"
|
||||
|
||||
#: models.py:301
|
||||
msgid "activation code"
|
||||
msgstr "kod aktywacyjny"
|
||||
|
||||
#: models.py:306
|
||||
msgid "subscribed"
|
||||
msgstr "zapisany"
|
||||
|
||||
#: models.py:314
|
||||
msgid "unsubscribed"
|
||||
msgstr "wypisany"
|
||||
|
||||
#: models.py:322
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> do %(newsletter)s"
|
||||
|
||||
#: models.py:329
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s do %(newsletter)s"
|
||||
|
||||
#: models.py:335
|
||||
msgid "subscription"
|
||||
msgstr "subskrypcja"
|
||||
|
||||
#: models.py:336
|
||||
msgid "subscriptions"
|
||||
msgstr "subskrypcje"
|
||||
|
||||
#: models.py:439
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Porządek sortowania determinuje kolejność w jakiej artykuły są wyświetlane w wiadomości"
|
||||
|
||||
#: models.py:441
|
||||
msgid "sort order"
|
||||
msgstr "porządek sortowania"
|
||||
|
||||
#: models.py:444 models.py:483
|
||||
msgid "title"
|
||||
msgstr "tytuł"
|
||||
|
||||
#: models.py:445
|
||||
msgid "text"
|
||||
msgstr "tekst"
|
||||
|
||||
#: models.py:448
|
||||
msgid "link"
|
||||
msgstr "odnośnik"
|
||||
|
||||
#: models.py:454
|
||||
msgid "image"
|
||||
msgstr "obraz"
|
||||
|
||||
#: models.py:465
|
||||
msgid "article"
|
||||
msgstr "artykuł"
|
||||
|
||||
#: models.py:466
|
||||
msgid "articles"
|
||||
msgstr "artykuły"
|
||||
|
||||
#: models.py:484
|
||||
msgid "slug"
|
||||
msgstr "slug"
|
||||
|
||||
#: models.py:491
|
||||
msgid "created"
|
||||
msgstr "stworzony"
|
||||
|
||||
#: models.py:494
|
||||
msgid "modified"
|
||||
msgstr "zmodyfikowany"
|
||||
|
||||
#: models.py:499
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s w %(newsletter)s"
|
||||
|
||||
#: models.py:513
|
||||
msgid "messages"
|
||||
msgstr "wiadomości"
|
||||
|
||||
#: models.py:538
|
||||
msgid "submissions"
|
||||
msgstr "wysyłki"
|
||||
|
||||
#: models.py:541
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s dnia %(publish_date)s"
|
||||
|
||||
#: models.py:550
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Wysłano %(submission)s wiadomości do %(count)d odbiorców"
|
||||
|
||||
#: models.py:597
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Wysyłanie wiadomości do: %s."
|
||||
|
||||
#: models.py:606
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Wiadomość %(subscription)s zakończyła się niepowodzeniem: %(error)s"
|
||||
|
||||
#: models.py:630
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Wysyłka wiadomości %s"
|
||||
|
||||
#: models.py:673
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Jeśli nic nie zaznaczysz, system automatycznie wybierze odbiorców dla Ciebie."
|
||||
|
||||
#: models.py:675
|
||||
msgid "recipients"
|
||||
msgstr "odbiorcy"
|
||||
|
||||
#: models.py:680
|
||||
msgid "publication date"
|
||||
msgstr "data publikacji"
|
||||
|
||||
#: models.py:684
|
||||
msgid "publish"
|
||||
msgstr "publikuj"
|
||||
|
||||
#: models.py:685
|
||||
msgid "Publish in archive."
|
||||
msgstr "Publikuj w archiwum"
|
||||
|
||||
#: models.py:689
|
||||
msgid "prepared"
|
||||
msgstr "przygotowany"
|
||||
|
||||
#: models.py:693
|
||||
msgid "sent"
|
||||
msgstr "wysłany"
|
||||
|
||||
#: models.py:697
|
||||
msgid "sending"
|
||||
msgstr "wysyłanie"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:7
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:7
|
||||
#: templates/admin/newsletter/submission/change_form.html:14
|
||||
msgid "History"
|
||||
msgstr "Historia"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:8
|
||||
#: templates/admin/newsletter/submission/change_form.html:15
|
||||
msgid "View on site"
|
||||
msgstr "Zobacz na stronie"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Podgląd wiadomości"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Strona główna"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Wiadomość"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Zmiana"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Utwórz wysyłkę"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Tekst"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Wyślij"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:8
|
||||
msgid "import"
|
||||
msgstr "import"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:12
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "Dodaj %(name)s"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Importuj adresy"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Potwierdź"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Wyślij"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Szczegóły newslettera"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Lista newslettera"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Subskrybuj"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Zaktualizuj subskrypcje"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Archiwum newslettera"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "aktywuj"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Aktywuj"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Zapisz do newslettera"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "W związku z problemami technicznymi nie jesteśmy w stanie przesłać emaila z potwierdzeniem. Powodem może być błędnie zdefiniowany adres email."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Twoja subskrypcja została pomyślnie aktywowana"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Twoja subskrypcja została pomyślnie przyjęta i został do Ciebie wysłany e-mail aktywacyjny. W tej wiadomości znajdziesz odnośnik, który musisz kliknąć w celu aktywacji Twojej subskrypcji."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Czy chcesz się zapisać do tego newslettera ?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Wypisz z newslettera"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Przestań subskrybować"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Zostałeś pomyślnie wypisany."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Twoja rezygnacja z subskrypcji została pomyślnie przyjęta. Została do Ciebie wysłana wiadomość e-mail z linkiem, który musisz kliknąć w celu potwierdzenia rezygnacji."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Czy na pewno chcesz się wypisać z tego newslettera?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Aktualizacja newslettera"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Zaktualizuj subskrypcję"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Twoja subskrypcja została pomyślnie zaktualizowana"
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Twoja aktualizacja z subskrypcji została pomyślnie przyjęta. Została do Ciebie wysłana wiadomość e-mail z linkiem, który musisz kliknąć w celu potwierdzenia subskrypcji."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Obecnie:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Zmiana:"
|
||||
|
||||
#: views.py:114
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Twoje zmiany zostały zapisane."
|
||||
|
||||
#: views.py:305
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Zostałeś zapisany do %s."
|
||||
|
||||
#: views.py:309
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Użytkownik %(rs)s zapisany %(my_newsletter)s."
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Jesteś już zapisany do %s."
|
||||
|
||||
#: views.py:344
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Zostałeś wypisany z %s."
|
||||
|
||||
#: views.py:348
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Użytkownik %(rs)s został wypisany z %(my_newsletter)s."
|
||||
|
||||
#: views.py:361
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Nie jesteś zapisany do %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# mmiskiew <mmiskiew@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2014-07-31 18:30+0000\n"
|
||||
"Last-Translator: mmiskiew <mmiskiew@gmail.com>\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/dokterbob/django-newsletter/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Wysyłka została zmieniona. Musi zostać zapisana zanim będzie możliwe jej wysłanie. Kliknij OK aby zapisać lub anuluj aby kontynuować edycję."
|
||||
Binary file not shown.
@@ -0,0 +1,784 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# brunojm <brunojm@gmail.com>, 2013
|
||||
# brunojm <brunojm@gmail.com>, 2013-2015
|
||||
# Fábio <fabio@laborautonomo.org>, 2014
|
||||
# Luan Fonseca de Farias <luanfonceca@gmail.com>, 2013
|
||||
# Marcelo Zenaide <marcelo.zenaide@gmail.com>, 2013
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
# Partec <suzane@tangerinalab.com>, 2014
|
||||
# Ronaldo Bahia <bahiamartins@hotmail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-05 17:58+0100\n"
|
||||
"PO-Revision-Date: 2016-02-02 13:34+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/dokterbob/django-newsletter/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "A entrada '%s' não contém um endereço de e-mail válido."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "O arquivo de endereços contém referências duplicadas para '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Algumas entradas já foram inscritas."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Endereço de email %(email)s está muito grande, o tamanho máximo é de %(email_length)s caracteres."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "O nome %(name)s está muito grande, o tamanho máximo é de %(name_length)s caracteres"
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:162
|
||||
msgid "name"
|
||||
msgstr "nome"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "exibir"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Coluna Nome não encontrada. O nome desta coluna deveria ser 'nome' ou '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:37 models.py:176
|
||||
msgid "e-mail"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Coluna Email não encontrada. O nome desta coluna deveria ser 'email', 'e-mail' ou '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Não foi possível determinar as colunas corretas no arquivo CSV. Deveria existir um campo chamado 'nome' ou '%(name)s' e um campo chamado 'e-mail' ou '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:262
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "A linha '%(row)s' não possui o campo nome ou email."
|
||||
|
||||
#: addressimport/parsers.py:288
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Erro lendo arquivo vCard: %s"
|
||||
|
||||
#: addressimport/parsers.py:307
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "O texto informado '%s' não contém um endereço de e-mail."
|
||||
|
||||
#: addressimport/parsers.py:343
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Algumas entradas não contêm endereços de e-mail."
|
||||
|
||||
#: admin.py:63
|
||||
msgid "Messages"
|
||||
msgstr "Mensagens"
|
||||
|
||||
#: admin.py:71
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Assinaturas"
|
||||
|
||||
#: admin.py:77
|
||||
msgid "Submissions"
|
||||
msgstr "Envios"
|
||||
|
||||
#: admin.py:97 models.py:537
|
||||
msgid "submission"
|
||||
msgstr "envio"
|
||||
|
||||
#: admin.py:104 admin.py:247 admin.py:365 models.py:100 models.py:296
|
||||
#: models.py:487 models.py:665
|
||||
msgid "newsletter"
|
||||
msgstr "boletim"
|
||||
|
||||
#: admin.py:112
|
||||
msgid "publish date"
|
||||
msgstr "data de publicação"
|
||||
|
||||
#: admin.py:138
|
||||
msgid "Sent."
|
||||
msgstr "Enviado."
|
||||
|
||||
#: admin.py:141
|
||||
msgid "Delayed submission."
|
||||
msgstr "Envio atrasado."
|
||||
|
||||
#: admin.py:143
|
||||
msgid "Submitting."
|
||||
msgstr "Enviando."
|
||||
|
||||
#: admin.py:145
|
||||
msgid "Not sent."
|
||||
msgstr "Não enviado."
|
||||
|
||||
#: admin.py:146 admin.py:390 admin_forms.py:113
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
|
||||
#: admin.py:153
|
||||
msgid "Submission already sent."
|
||||
msgstr "Sua requisição está sendo enviada."
|
||||
|
||||
#: admin.py:162
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Sua requisição está sendo enviada."
|
||||
|
||||
#: admin.py:208
|
||||
msgid "Optional"
|
||||
msgstr "Opcional"
|
||||
|
||||
#: admin.py:235 models.py:460 models.py:512 models.py:668
|
||||
msgid "message"
|
||||
msgstr "mensagem"
|
||||
|
||||
#: admin.py:239 templates/admin/newsletter/message/change_form.html.py:9
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Visualização"
|
||||
|
||||
#: admin.py:267 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Nenhum template HTML associado com o boletim que essa mensagem pertence"
|
||||
|
||||
#: admin.py:385 admin_forms.py:101
|
||||
msgid "Subscribed"
|
||||
msgstr "Assinado"
|
||||
|
||||
#: admin.py:387 admin_forms.py:102
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Assinatura cancelada"
|
||||
|
||||
#: admin.py:389
|
||||
msgid "Unactivated"
|
||||
msgstr "Desativado"
|
||||
|
||||
#: admin.py:397 models.py:309
|
||||
msgid "subscribe date"
|
||||
msgstr "data da assinatura"
|
||||
|
||||
#: admin.py:404 models.py:317
|
||||
msgid "unsubscribe date"
|
||||
msgstr "data de cancelamento da assinatura"
|
||||
|
||||
#: admin.py:412
|
||||
#, python-format
|
||||
msgid "%s user has been successfully subscribed."
|
||||
msgid_plural "%s users have been successfully subscribed."
|
||||
msgstr[0] "%s usuário assinou com sucesso."
|
||||
msgstr[1] "%s usuários assinaram com sucesso."
|
||||
|
||||
#: admin.py:417
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Assinar usuários selecionados"
|
||||
|
||||
#: admin.py:424
|
||||
#, python-format
|
||||
msgid "%s user has been successfully unsubscribed."
|
||||
msgid_plural "%s users have been successfully unsubscribed."
|
||||
msgstr[0] "%s usuários tiveram sua inscrição cancelada."
|
||||
msgstr[1] "%s usuários tiveram sua inscrição cancelada."
|
||||
|
||||
#: admin.py:429
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Cancelar assinatura dos usuários selecionados"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%s subscriptions have been successfully added."
|
||||
msgstr "%s assinaturas foram adicionadas com sucesso."
|
||||
|
||||
#: admin_forms.py:41
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Tipo de arquivo '%s' desconhecido."
|
||||
|
||||
#: admin_forms.py:58
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Extensão '%s' desconhecida."
|
||||
|
||||
#: admin_forms.py:62
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Nenhuma entrada encontrada neste arquivo."
|
||||
|
||||
#: admin_forms.py:70
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Boletim"
|
||||
|
||||
#: admin_forms.py:73
|
||||
msgid "Address file"
|
||||
msgstr "Arquivo de endereços"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Ignorar erros não fatais."
|
||||
|
||||
#: admin_forms.py:86
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Você deve confirmar antes de continuar a ação."
|
||||
|
||||
#: admin_forms.py:89
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Confirmar a importação"
|
||||
|
||||
#: admin_forms.py:119 admin_forms.py:127
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Se um usuário foi selecionado esse campo deve permanecer vazio."
|
||||
|
||||
#: admin_forms.py:137
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Selecione um usuário ou um endereço de email."
|
||||
|
||||
#: admin_forms.py:162
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Essa mensagem já foi publicada em alguma outra submissão. Mensagens só podem ser publicadas uma vez."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "O objeto %(name)s com chave primária %(key)r não existe."
|
||||
|
||||
#: forms.py:47 forms.py:106
|
||||
msgid "An e-mail address is required."
|
||||
msgstr "Um endereço de e-mail é obrigatório."
|
||||
|
||||
#: forms.py:55
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "O endereço de e-mail '%(email)s' pertence a um usuário com uma conta neste site. Por favor acesse como esse usuário e tente novamente."
|
||||
|
||||
#: forms.py:72
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Seu endereço de e-mail já está inscrito."
|
||||
|
||||
#: forms.py:97
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Esta inscrição ainda não foi ativada."
|
||||
|
||||
#: forms.py:114
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This e-mail address belongs to the user '%(username)s'. Please log in as "
|
||||
"that user and try again."
|
||||
msgstr "Esse endereço de e-mail pertence ao usuário '%(username)s'. Por favor acesse como esse usuário e tente novamente."
|
||||
|
||||
#: forms.py:132
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Este endereço de e-mail não está inscrito."
|
||||
|
||||
#: forms.py:147
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Esta inscrição já foi cancelada."
|
||||
|
||||
#: forms.py:163
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "O código de validação informado não é válido."
|
||||
|
||||
#: forms.py:169
|
||||
msgid "Activation code"
|
||||
msgstr "Código de ativação"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Enviando boletim para lista de e-mails"
|
||||
|
||||
#: models.py:32
|
||||
msgid "newsletter title"
|
||||
msgstr "título da lista"
|
||||
|
||||
#: models.py:37
|
||||
msgid "Sender e-mail"
|
||||
msgstr "E-mail do remetente"
|
||||
|
||||
#: models.py:40
|
||||
msgid "sender"
|
||||
msgstr "remetente"
|
||||
|
||||
#: models.py:40
|
||||
msgid "Sender name"
|
||||
msgstr "Nome do remetente"
|
||||
|
||||
#: models.py:44
|
||||
msgid "visible"
|
||||
msgstr "visível"
|
||||
|
||||
#: models.py:48
|
||||
msgid "send html"
|
||||
msgstr "enviar html"
|
||||
|
||||
#: models.py:49
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Se deseja ou não enviar versões HTML de e-mails."
|
||||
|
||||
#: models.py:101
|
||||
msgid "newsletters"
|
||||
msgstr "Boletins"
|
||||
|
||||
#: models.py:157
|
||||
msgid "user"
|
||||
msgstr "usuário"
|
||||
|
||||
#: models.py:162
|
||||
msgid "optional"
|
||||
msgstr "opcional"
|
||||
|
||||
#: models.py:206
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Inscrição %(subscription)s atualizada para %(action)s."
|
||||
|
||||
#: models.py:248
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Informe um e-mail ou nome de usuário!"
|
||||
|
||||
#: models.py:252
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Se o usuário for definido, e-mail deve ser nulo e vice versa."
|
||||
|
||||
#: models.py:294
|
||||
msgid "IP address"
|
||||
msgstr "Endereço IP"
|
||||
|
||||
#: models.py:301
|
||||
msgid "activation code"
|
||||
msgstr "código de ativação"
|
||||
|
||||
#: models.py:306
|
||||
msgid "subscribed"
|
||||
msgstr "assinado"
|
||||
|
||||
#: models.py:314
|
||||
msgid "unsubscribed"
|
||||
msgstr "assinatura cancelada"
|
||||
|
||||
#: models.py:322
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> para %(newsletter)s"
|
||||
|
||||
#: models.py:329
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s para %(newsletter)s"
|
||||
|
||||
#: models.py:335
|
||||
msgid "subscription"
|
||||
msgstr "assinatura"
|
||||
|
||||
#: models.py:336
|
||||
msgid "subscriptions"
|
||||
msgstr "assinaturas"
|
||||
|
||||
#: models.py:439
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Ordenação determina a ordem que os artigos são concatenados numa postagem."
|
||||
|
||||
#: models.py:441
|
||||
msgid "sort order"
|
||||
msgstr "ordenação"
|
||||
|
||||
#: models.py:444 models.py:483
|
||||
msgid "title"
|
||||
msgstr "título"
|
||||
|
||||
#: models.py:445
|
||||
msgid "text"
|
||||
msgstr "texto"
|
||||
|
||||
#: models.py:448
|
||||
msgid "link"
|
||||
msgstr "link"
|
||||
|
||||
#: models.py:454
|
||||
msgid "image"
|
||||
msgstr "imagem"
|
||||
|
||||
#: models.py:465
|
||||
msgid "article"
|
||||
msgstr "artigo"
|
||||
|
||||
#: models.py:466
|
||||
msgid "articles"
|
||||
msgstr "artigos"
|
||||
|
||||
#: models.py:484
|
||||
msgid "slug"
|
||||
msgstr "slug"
|
||||
|
||||
#: models.py:491
|
||||
msgid "created"
|
||||
msgstr "criado"
|
||||
|
||||
#: models.py:494
|
||||
msgid "modified"
|
||||
msgstr "modificado"
|
||||
|
||||
#: models.py:499
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s em %(newsletter)s"
|
||||
|
||||
#: models.py:513
|
||||
msgid "messages"
|
||||
msgstr "mensagens"
|
||||
|
||||
#: models.py:538
|
||||
msgid "submissions"
|
||||
msgstr "envios"
|
||||
|
||||
#: models.py:541
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s em %(publish_date)s"
|
||||
|
||||
#: models.py:550
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Submetendo %(submission)s para %(count)d pessoas"
|
||||
|
||||
#: models.py:597
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Submetendo mensagem para %s."
|
||||
|
||||
#: models.py:606
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Mensagem %(subscription)s falhou com o erro: %(error)s"
|
||||
|
||||
#: models.py:630
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Envio de mensagem %s"
|
||||
|
||||
#: models.py:673
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Se você selecionar nenhum, o sistema automaticamente encontrará os assinantes para você."
|
||||
|
||||
#: models.py:675
|
||||
msgid "recipients"
|
||||
msgstr "destinatários"
|
||||
|
||||
#: models.py:680
|
||||
msgid "publication date"
|
||||
msgstr "data de publicação"
|
||||
|
||||
#: models.py:684
|
||||
msgid "publish"
|
||||
msgstr "publicar"
|
||||
|
||||
#: models.py:685
|
||||
msgid "Publish in archive."
|
||||
msgstr "Publicar em arquivo."
|
||||
|
||||
#: models.py:689
|
||||
msgid "prepared"
|
||||
msgstr "Pronto"
|
||||
|
||||
#: models.py:693
|
||||
msgid "sent"
|
||||
msgstr "enviado"
|
||||
|
||||
#: models.py:697
|
||||
msgid "sending"
|
||||
msgstr "enviando"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:7
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:7
|
||||
#: templates/admin/newsletter/submission/change_form.html:14
|
||||
msgid "History"
|
||||
msgstr "Histórico"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:8
|
||||
#: templates/admin/newsletter/submission/change_form.html:15
|
||||
msgid "View on site"
|
||||
msgstr "Ver no site"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Pré-visualizar mensagem"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Início"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Mensagem"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Alteração"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Criar envio"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Texto"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Enviar"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:8
|
||||
msgid "import"
|
||||
msgstr "importar"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:12
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "Adicionar %(name)s"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Importar endereço"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Upload"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Detalhes do Boletim"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Lista de Boletins"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Assinar"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Atualizar inscrições"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Arquivos do Boletim"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "ativar"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Ativar"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Assinar Boletim"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Devido a um erro técnico, não foi possível enviar seu e-mail de confirmação. Isto pode ter ocorrido porque o seu endereço de e-mail é inválido."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Sua assinatura foi ativada com sucesso."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Sua solicitação de inscrição foi recebido com sucesso e um e-mail de ativação foi enviado para você. Nesse e-mail você vai encontrar um link que deve ser acessado a fim de ativar sua assinatura."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Você deseja assinar este boletim?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Cancelar assinatura do Boletim"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Cancelar assinatura"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Sua assinatura foi cancelada com sucesso."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Sua solicitação de cancelamento foi recebida com sucesso. Um e-mail foi enviado para você com um link que deve ser acessado a fim de confirmar o seu cancelamento."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Você realmente deseja cancelar a assinatura desse boletim?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Atualizar Boletim"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Atualizar assinatura"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Sua assinatura foi atualizada com sucesso."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Sua solicitação de atualização foi recebido com sucesso e um e-mail de ativação foi enviado para você. Nesse e-mail você vai encontrar um link que deve ser acessado a fim de atualizar a sua assinatura."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "Atualmente:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Alteração:"
|
||||
|
||||
#: views.py:114
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Suas alterações foram salvas."
|
||||
|
||||
#: views.py:305
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Você foi inscrito em %s."
|
||||
|
||||
#: views.py:309
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Usuário %(rs)s assinou a %(my_newsletter)s."
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Você já está inscrito em %s."
|
||||
|
||||
#: views.py:344
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Você foi desinscrito de %s."
|
||||
|
||||
#: views.py:348
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Usuário %(rs)s desinscrito de %(my_newsletter)s."
|
||||
|
||||
#: views.py:361
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Você não está inscrito em %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# brunojm <brunojm@gmail.com>, 2013
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2013-11-20 12:25+0000\n"
|
||||
"Last-Translator: brunojm <brunojm@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/dokterbob/django-newsletter/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "O envio foi modificado. Deve ser salvo antes de continuar. Clique 'OK' para continuar com o salvamento, clique 'Cancelar' para continuar editando."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# jumpifzero <jumpifzero@gmail.com>, 2011
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2013-11-20 12:25+0000\n"
|
||||
"Last-Translator: jumpifzero <jumpifzero@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/dokterbob/django-newsletter/language/pt_PT/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_PT\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "A submissão foi alterada e tem de ser gravada antes de poder submeter. Pressione OK para gravar ou cancelar para continuar a editar."
|
||||
Binary file not shown.
@@ -0,0 +1,783 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Eugene Akentyev <ak3ntev@gmail.com>, 2013
|
||||
# dokterbob <mathijs@mathijsfietst.nl>, 2016
|
||||
# Oleksandr <shtalinberg@mail.ru>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-01-05 17:58+0100\n"
|
||||
"PO-Revision-Date: 2016-02-02 13:36+0000\n"
|
||||
"Last-Translator: dokterbob <mathijs@mathijsfietst.nl>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/dokterbob/django-newsletter/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: addressimport/parsers.py:40
|
||||
#, python-format
|
||||
msgid "Entry '%s' does not contain a valid e-mail address."
|
||||
msgstr "Запись '%s' не содержит правильный адрес электронной почты."
|
||||
|
||||
#: addressimport/parsers.py:55
|
||||
#, python-format
|
||||
msgid "The address file contains duplicate entries for '%s'."
|
||||
msgstr "Файл с адресами содержит копии '%s'."
|
||||
|
||||
#: addressimport/parsers.py:69
|
||||
msgid "Some entries are already subscribed to."
|
||||
msgstr "Некоторые записи уже подписаны."
|
||||
|
||||
#: addressimport/parsers.py:108
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail address %(email)s too long, maximum length is %(email_length)s "
|
||||
"characters."
|
||||
msgstr "Адрес электронной почты %(email)s слишком длинный, максимальная длина: %(email_length)s символов."
|
||||
|
||||
#: addressimport/parsers.py:135
|
||||
#, python-format
|
||||
msgid "Name %(name)s too long, maximum length is %(name_length)s characters."
|
||||
msgstr "Имя %(name)s слишком длинное, максимальная длина: %(name_length)s символов."
|
||||
|
||||
#: addressimport/parsers.py:196 addressimport/parsers.py:208
|
||||
#: addressimport/parsers.py:243 models.py:162
|
||||
msgid "name"
|
||||
msgstr "имя"
|
||||
|
||||
#: addressimport/parsers.py:200
|
||||
msgid "display"
|
||||
msgstr "отображение"
|
||||
|
||||
#: addressimport/parsers.py:207
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Name column not found. The name of this column should be either 'name' or "
|
||||
"'%s'."
|
||||
msgstr "Столбец с именем не найден. Имя этого столбца должно быть 'name' или '%s'."
|
||||
|
||||
#: addressimport/parsers.py:219 addressimport/parsers.py:231
|
||||
#: addressimport/parsers.py:244 models.py:37 models.py:176
|
||||
msgid "e-mail"
|
||||
msgstr "электронная почта"
|
||||
|
||||
#: addressimport/parsers.py:229
|
||||
#, python-format
|
||||
msgid ""
|
||||
"E-mail column not found. The name of this column should be either 'email', "
|
||||
"'e-mail' or '%(email)s'."
|
||||
msgstr "Колонка с электронной почтой не найдена. Имя этой колонки должно быть 'email', 'e-mail' или '%(email)s'."
|
||||
|
||||
#: addressimport/parsers.py:239
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Could not properly determine the proper columns in the CSV-file. There "
|
||||
"should be a field called 'name' or '%(name)s' and one called 'e-mail' or "
|
||||
"'%(e-mail)s'."
|
||||
msgstr "Невозможно верно определить колонки в CSV-файле. Необходимы поля с именами 'name' или '%(name)s' и 'e-mail' или '%(e-mail)s'."
|
||||
|
||||
#: addressimport/parsers.py:262
|
||||
#, python-format
|
||||
msgid "Row with content '%(row)s' does not contain a name and email field."
|
||||
msgstr "Строка, содержащая '%(row)s', не содержит поля имени и электронной почты."
|
||||
|
||||
#: addressimport/parsers.py:288
|
||||
#, python-format
|
||||
msgid "Error reading vCard file: %s"
|
||||
msgstr "Ошибка при чтении vCard файла: %s"
|
||||
|
||||
#: addressimport/parsers.py:307
|
||||
#, python-format
|
||||
msgid "Entry '%s' contains no email address."
|
||||
msgstr "В записи '%s' нет адреса электронной почты."
|
||||
|
||||
#: addressimport/parsers.py:343
|
||||
msgid "Some entries have no e-mail address."
|
||||
msgstr "Некоторые записи не содержат адрес электронной почты."
|
||||
|
||||
#: admin.py:63
|
||||
msgid "Messages"
|
||||
msgstr "Сообщения"
|
||||
|
||||
#: admin.py:71
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:16
|
||||
#: templates/admin/newsletter/subscription/importform.html:16
|
||||
msgid "Subscriptions"
|
||||
msgstr "Подписчики"
|
||||
|
||||
#: admin.py:77
|
||||
msgid "Submissions"
|
||||
msgstr "Отправки"
|
||||
|
||||
#: admin.py:97 models.py:537
|
||||
msgid "submission"
|
||||
msgstr "отправка"
|
||||
|
||||
#: admin.py:104 admin.py:247 admin.py:365 models.py:100 models.py:296
|
||||
#: models.py:487 models.py:665
|
||||
msgid "newsletter"
|
||||
msgstr "рассылка"
|
||||
|
||||
#: admin.py:112
|
||||
msgid "publish date"
|
||||
msgstr "дата публикации"
|
||||
|
||||
#: admin.py:138
|
||||
msgid "Sent."
|
||||
msgstr "Отправлено."
|
||||
|
||||
#: admin.py:141
|
||||
msgid "Delayed submission."
|
||||
msgstr "Отправка с задержкой."
|
||||
|
||||
#: admin.py:143
|
||||
msgid "Submitting."
|
||||
msgstr "Отправляется."
|
||||
|
||||
#: admin.py:145
|
||||
msgid "Not sent."
|
||||
msgstr "Не отправлено."
|
||||
|
||||
#: admin.py:146 admin.py:390 admin_forms.py:113
|
||||
msgid "Status"
|
||||
msgstr "Статус"
|
||||
|
||||
#: admin.py:153
|
||||
msgid "Submission already sent."
|
||||
msgstr "Посылка уже отправлена."
|
||||
|
||||
#: admin.py:162
|
||||
msgid "Your submission is being sent."
|
||||
msgstr "Ваша посылка отправляется."
|
||||
|
||||
#: admin.py:208
|
||||
msgid "Optional"
|
||||
msgstr "Необязательно"
|
||||
|
||||
#: admin.py:235 models.py:460 models.py:512 models.py:668
|
||||
msgid "message"
|
||||
msgstr "сообщение"
|
||||
|
||||
#: admin.py:239 templates/admin/newsletter/message/change_form.html.py:9
|
||||
#: templates/admin/newsletter/message/preview.html:13
|
||||
msgid "Preview"
|
||||
msgstr "Предпросмотр"
|
||||
|
||||
#: admin.py:267 views.py:606
|
||||
msgid ""
|
||||
"No HTML template associated with the newsletter this message belongs to."
|
||||
msgstr "Для рассылки, к которой принадлежит это сообщение, не было найдено HTML шаблона."
|
||||
|
||||
#: admin.py:385 admin_forms.py:101
|
||||
msgid "Subscribed"
|
||||
msgstr "Подписался"
|
||||
|
||||
#: admin.py:387 admin_forms.py:102
|
||||
msgid "Unsubscribed"
|
||||
msgstr "Отписанный"
|
||||
|
||||
#: admin.py:389
|
||||
msgid "Unactivated"
|
||||
msgstr "Неактивированный"
|
||||
|
||||
#: admin.py:397 models.py:309
|
||||
msgid "subscribe date"
|
||||
msgstr "дата подписки"
|
||||
|
||||
#: admin.py:404 models.py:317
|
||||
msgid "unsubscribe date"
|
||||
msgstr "дата отписки"
|
||||
|
||||
#: admin.py:412
|
||||
#, python-format
|
||||
msgid "%s user has been successfully subscribed."
|
||||
msgid_plural "%s users have been successfully subscribed."
|
||||
msgstr[0] "%s пользователь был успешно подписан."
|
||||
msgstr[1] "%s пользователи были успешно подписаны."
|
||||
msgstr[2] "%s пользователей были успешно подписаны."
|
||||
msgstr[3] "%s пользователей были успешно подписаны."
|
||||
|
||||
#: admin.py:417
|
||||
msgid "Subscribe selected users"
|
||||
msgstr "Подписать выбранных пользователей"
|
||||
|
||||
#: admin.py:424
|
||||
#, python-format
|
||||
msgid "%s user has been successfully unsubscribed."
|
||||
msgid_plural "%s users have been successfully unsubscribed."
|
||||
msgstr[0] "%s пользователь был успешно отписан."
|
||||
msgstr[1] "%s пользователи были успешно отписаны."
|
||||
msgstr[2] "%s пользователей были успешно отписаны."
|
||||
msgstr[3] "%s пользователей были успешно отписаны."
|
||||
|
||||
#: admin.py:429
|
||||
msgid "Unsubscribe selected users"
|
||||
msgstr "Отписать выбранных пользователей"
|
||||
|
||||
#: admin.py:484
|
||||
#, python-format
|
||||
msgid "%s subscriptions have been successfully added."
|
||||
msgstr "%s подписчики успешно добавлены."
|
||||
|
||||
#: admin_forms.py:41
|
||||
#, python-format
|
||||
msgid "File type '%s' was not recognized."
|
||||
msgstr "Тип файла '%s' не был опознан."
|
||||
|
||||
#: admin_forms.py:58
|
||||
#, python-format
|
||||
msgid "File extension '%s' was not recognized."
|
||||
msgstr "Расширение файла '%s' не было опознано."
|
||||
|
||||
#: admin_forms.py:62
|
||||
msgid "No entries could found in this file."
|
||||
msgstr "Данный файл не содержит записей."
|
||||
|
||||
#: admin_forms.py:70
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:12
|
||||
#: templates/admin/newsletter/subscription/importform.html:12
|
||||
#: templates/newsletter/common.html:7
|
||||
#: templates/newsletter/newsletter_detail.html:10
|
||||
#: templates/newsletter/newsletter_list.html:14
|
||||
#: templates/newsletter/newsletter_list.html:32
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "Newsletter"
|
||||
msgstr "Рассылка"
|
||||
|
||||
#: admin_forms.py:73
|
||||
msgid "Address file"
|
||||
msgstr "Файл с адресами"
|
||||
|
||||
#: admin_forms.py:75
|
||||
msgid "Ignore non-fatal errors"
|
||||
msgstr "Игнорировать неустранимые ошибки"
|
||||
|
||||
#: admin_forms.py:86
|
||||
msgid "You should confirm in order to continue."
|
||||
msgstr "Вы должны подтвердить, чтобы продолжить."
|
||||
|
||||
#: admin_forms.py:89
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:23
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:28
|
||||
msgid "Confirm import"
|
||||
msgstr "Подтвердить импортирование"
|
||||
|
||||
#: admin_forms.py:119 admin_forms.py:127
|
||||
msgid "If a user has been selected this field should remain empty."
|
||||
msgstr "Поле должно быть пустым, если пользователь был выбран."
|
||||
|
||||
#: admin_forms.py:137
|
||||
msgid "Either a user must be selected or an email address must be specified."
|
||||
msgstr "Какой-нибудь пользователь должен быть выбран или указан адрес электронной почты."
|
||||
|
||||
#: admin_forms.py:162
|
||||
msgid ""
|
||||
"This message has already been published in some other submission. Messages "
|
||||
"can only be published once."
|
||||
msgstr "Это сообщение уже было опубликовано в другой посылке. Сообщения могут быть опубликованы только раз."
|
||||
|
||||
#: admin_utils.py:25
|
||||
#, python-format
|
||||
msgid "%(name)s object with primary key %(key)r does not exist."
|
||||
msgstr "%(name)s объект с первичным ключем %(key)r не существует"
|
||||
|
||||
#: forms.py:47 forms.py:106
|
||||
msgid "An e-mail address is required."
|
||||
msgstr "Необходим адрес электронной почты."
|
||||
|
||||
#: forms.py:55
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The e-mail address '%(email)s' belongs to a user with an account on this "
|
||||
"site. Please log in as that user and try again."
|
||||
msgstr "Адрес электронной почты '%(email)s' принадлежит пользователю этого сайта. Пожалуйста зайдите и попробуйте снова."
|
||||
|
||||
#: forms.py:72
|
||||
msgid "Your e-mail address has already been subscribed to."
|
||||
msgstr "Ваш адрес электронной почты уже подписан."
|
||||
|
||||
#: forms.py:97
|
||||
msgid "This subscription has not yet been activated."
|
||||
msgstr "Эта подписка еще не активирована."
|
||||
|
||||
#: forms.py:114
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This e-mail address belongs to the user '%(username)s'. Please log in as "
|
||||
"that user and try again."
|
||||
msgstr "Этот адрес электронной почты принадлежит пользователю '%(username)s'. Пожалуйста войдите и попробуйте еще раз."
|
||||
|
||||
#: forms.py:132
|
||||
msgid "This e-mail address has not been subscribed to."
|
||||
msgstr "Этот адрес электронной почты не подписан."
|
||||
|
||||
#: forms.py:147
|
||||
msgid "This subscription has already been unsubscribed from."
|
||||
msgstr "Это подписка уже отменена."
|
||||
|
||||
#: forms.py:163
|
||||
msgid "The validation code supplied by you does not match."
|
||||
msgstr "Предоставляемый вами код подтверждения не совпадает."
|
||||
|
||||
#: forms.py:169
|
||||
msgid "Activation code"
|
||||
msgstr "Код активации"
|
||||
|
||||
#: jobs/hourly/submit.py:15
|
||||
msgid "Submitting queued newsletter mailings"
|
||||
msgstr "Посылка добавлена в очередь рассылок"
|
||||
|
||||
#: models.py:32
|
||||
msgid "newsletter title"
|
||||
msgstr "заголовок рассылки"
|
||||
|
||||
#: models.py:37
|
||||
msgid "Sender e-mail"
|
||||
msgstr "Электронная почта отправителя"
|
||||
|
||||
#: models.py:40
|
||||
msgid "sender"
|
||||
msgstr "отправитель"
|
||||
|
||||
#: models.py:40
|
||||
msgid "Sender name"
|
||||
msgstr "Имя отправителя"
|
||||
|
||||
#: models.py:44
|
||||
msgid "visible"
|
||||
msgstr "отображается"
|
||||
|
||||
#: models.py:48
|
||||
msgid "send html"
|
||||
msgstr "отправить html"
|
||||
|
||||
#: models.py:49
|
||||
msgid "Whether or not to send HTML versions of e-mails."
|
||||
msgstr "Будете или нет отправлять HTML версию электронных писем."
|
||||
|
||||
#: models.py:101
|
||||
msgid "newsletters"
|
||||
msgstr "рассылки"
|
||||
|
||||
#: models.py:157
|
||||
msgid "user"
|
||||
msgstr "пользователь"
|
||||
|
||||
#: models.py:162
|
||||
msgid "optional"
|
||||
msgstr "необязательно"
|
||||
|
||||
#: models.py:206
|
||||
#, python-format
|
||||
msgid "Updated subscription %(subscription)s to %(action)s."
|
||||
msgstr "Обновлена подписка %(subscription)s на %(action)s."
|
||||
|
||||
#: models.py:248
|
||||
msgid "Neither an email nor a username is set. This asks for inconsistency!"
|
||||
msgstr "Ни один электронный ящик или пользователь не установлены. Здесь несоответствие!"
|
||||
|
||||
#: models.py:252
|
||||
msgid "If user is set, email must be null and vice versa."
|
||||
msgstr "Если пользователь указан, то электронная почта не нужна и наоборот."
|
||||
|
||||
#: models.py:294
|
||||
msgid "IP address"
|
||||
msgstr "IP адрес"
|
||||
|
||||
#: models.py:301
|
||||
msgid "activation code"
|
||||
msgstr "код активации"
|
||||
|
||||
#: models.py:306
|
||||
msgid "subscribed"
|
||||
msgstr "подписался"
|
||||
|
||||
#: models.py:314
|
||||
msgid "unsubscribed"
|
||||
msgstr "отписался"
|
||||
|
||||
#: models.py:322
|
||||
#, python-format
|
||||
msgid "%(name)s <%(email)s> to %(newsletter)s"
|
||||
msgstr "%(name)s <%(email)s> в %(newsletter)s"
|
||||
|
||||
#: models.py:329
|
||||
#, python-format
|
||||
msgid "%(email)s to %(newsletter)s"
|
||||
msgstr "%(email)s в %(newsletter)s"
|
||||
|
||||
#: models.py:335
|
||||
msgid "subscription"
|
||||
msgstr "подписка"
|
||||
|
||||
#: models.py:336
|
||||
msgid "subscriptions"
|
||||
msgstr "подписки"
|
||||
|
||||
#: models.py:439
|
||||
msgid ""
|
||||
"Sort order determines the order in which articles are concatenated in a "
|
||||
"post."
|
||||
msgstr "Порядок сортировки определяет порядок, в котором статьи будут собраны в пост."
|
||||
|
||||
#: models.py:441
|
||||
msgid "sort order"
|
||||
msgstr "порядок сортировки"
|
||||
|
||||
#: models.py:444 models.py:483
|
||||
msgid "title"
|
||||
msgstr "заголовок"
|
||||
|
||||
#: models.py:445
|
||||
msgid "text"
|
||||
msgstr "текст"
|
||||
|
||||
#: models.py:448
|
||||
msgid "link"
|
||||
msgstr "ссылка"
|
||||
|
||||
#: models.py:454
|
||||
msgid "image"
|
||||
msgstr "изображение"
|
||||
|
||||
#: models.py:465
|
||||
msgid "article"
|
||||
msgstr "статья"
|
||||
|
||||
#: models.py:466
|
||||
msgid "articles"
|
||||
msgstr "статьи"
|
||||
|
||||
#: models.py:484
|
||||
msgid "slug"
|
||||
msgstr "ЧПУ"
|
||||
|
||||
#: models.py:491
|
||||
msgid "created"
|
||||
msgstr "создан"
|
||||
|
||||
#: models.py:494
|
||||
msgid "modified"
|
||||
msgstr "изменен"
|
||||
|
||||
#: models.py:499
|
||||
#, python-format
|
||||
msgid "%(title)s in %(newsletter)s"
|
||||
msgstr "%(title)s в %(newsletter)s"
|
||||
|
||||
#: models.py:513
|
||||
msgid "messages"
|
||||
msgstr "сообщения"
|
||||
|
||||
#: models.py:538
|
||||
msgid "submissions"
|
||||
msgstr "отправки"
|
||||
|
||||
#: models.py:541
|
||||
#, python-format
|
||||
msgid "%(newsletter)s on %(publish_date)s"
|
||||
msgstr "%(newsletter)s на %(publish_date)s"
|
||||
|
||||
#: models.py:550
|
||||
#, python-format
|
||||
msgid "Submitting %(submission)s to %(count)d people"
|
||||
msgstr "Отправка %(submission)s для %(count)d людей"
|
||||
|
||||
#: models.py:597
|
||||
#, python-format
|
||||
msgid "Submitting message to: %s."
|
||||
msgstr "Отправка сообщения для: %s"
|
||||
|
||||
#: models.py:606
|
||||
#, python-format
|
||||
msgid "Message %(subscription)s failed with error: %(error)s"
|
||||
msgstr "Отправить сообщение в %(subscription)s не удалось, ошибка: %(error)s"
|
||||
|
||||
#: models.py:630
|
||||
#, python-format
|
||||
msgid "Submission of message %s"
|
||||
msgstr "Отправка сообщения %s"
|
||||
|
||||
#: models.py:673
|
||||
msgid ""
|
||||
"If you select none, the system will automatically find the subscribers for "
|
||||
"you."
|
||||
msgstr "Если вы ничего не выберете, тогда система автоматически найдет подписчиков для вас."
|
||||
|
||||
#: models.py:675
|
||||
msgid "recipients"
|
||||
msgstr "получатели"
|
||||
|
||||
#: models.py:680
|
||||
msgid "publication date"
|
||||
msgstr "дата публикации"
|
||||
|
||||
#: models.py:684
|
||||
msgid "publish"
|
||||
msgstr "опубликованная"
|
||||
|
||||
#: models.py:685
|
||||
msgid "Publish in archive."
|
||||
msgstr "Опубликованные в архиве."
|
||||
|
||||
#: models.py:689
|
||||
msgid "prepared"
|
||||
msgstr "подготовленные"
|
||||
|
||||
#: models.py:693
|
||||
msgid "sent"
|
||||
msgstr "отправлено"
|
||||
|
||||
#: models.py:697
|
||||
msgid "sending"
|
||||
msgstr "отправляется"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:7
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:7
|
||||
#: templates/admin/newsletter/submission/change_form.html:14
|
||||
msgid "History"
|
||||
msgstr "История"
|
||||
|
||||
#: templates/admin/newsletter/message/change_form.html:8
|
||||
#: templates/admin/newsletter/newsletter/change_form.html:8
|
||||
#: templates/admin/newsletter/submission/change_form.html:15
|
||||
msgid "View on site"
|
||||
msgstr "Смотреть на сайте"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:5
|
||||
#: templates/admin/newsletter/message/preview.html:19
|
||||
msgid "Preview message"
|
||||
msgstr "Предпросмотр сообщения"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:9
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:8
|
||||
#: templates/admin/newsletter/subscription/importform.html:8
|
||||
msgid "Home"
|
||||
msgstr "Главная"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:11
|
||||
msgid "Message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:22
|
||||
#: templates/admin/newsletter/subscription/importform.html:28
|
||||
msgid "Change"
|
||||
msgstr "Изменить"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:23
|
||||
#: templates/admin/newsletter/subscription/importform.html:29
|
||||
msgid "Create submission"
|
||||
msgstr "Создать отправку"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:26
|
||||
msgid "HTML"
|
||||
msgstr "HTML"
|
||||
|
||||
#: templates/admin/newsletter/message/preview.html:30
|
||||
msgid "Text"
|
||||
msgstr "Текст"
|
||||
|
||||
#: templates/admin/newsletter/submission/change_form.html:16
|
||||
msgid "Submit"
|
||||
msgstr "Отправить"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:8
|
||||
msgid "import"
|
||||
msgstr "Импортировать"
|
||||
|
||||
#: templates/admin/newsletter/subscription/change_list.html:12
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "Добавить %(name)s"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:3
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:20
|
||||
#: templates/admin/newsletter/subscription/importform.html:3
|
||||
#: templates/admin/newsletter/subscription/importform.html:19
|
||||
#: templates/admin/newsletter/subscription/importform.html:24
|
||||
msgid "Import addresses"
|
||||
msgstr "Импортировать адреса"
|
||||
|
||||
#: templates/admin/newsletter/subscription/confirmimportform.html:40
|
||||
msgid "Confirm"
|
||||
msgstr "Подтвердить"
|
||||
|
||||
#: templates/admin/newsletter/subscription/importform.html:37
|
||||
msgid "Upload"
|
||||
msgstr "Загрузить"
|
||||
|
||||
#: templates/newsletter/newsletter_detail.html:5
|
||||
msgid "Newsletter detail"
|
||||
msgstr "Подробности рассылок"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:5
|
||||
msgid "Newsletter list"
|
||||
msgstr "Список рассылок"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:16
|
||||
#: templates/newsletter/subscription_subscribe.html:23
|
||||
#: templates/newsletter/subscription_subscribe_user.html:22
|
||||
msgid "Subscribe"
|
||||
msgstr "Подписаться"
|
||||
|
||||
#: templates/newsletter/newsletter_list.html:27
|
||||
msgid "Update subscriptions"
|
||||
msgstr "Обновить подписки"
|
||||
|
||||
#: templates/newsletter/submission_archive.html:5
|
||||
#: templates/newsletter/submission_archive.html:10
|
||||
msgid "Newsletter archive"
|
||||
msgstr "Архив рассылок"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:5
|
||||
#: templates/newsletter/subscription_activate.html:8
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:8
|
||||
#: templates/newsletter/subscription_update_activated.html:5
|
||||
#: templates/newsletter/subscription_update_activated.html:8
|
||||
msgid "activate"
|
||||
msgstr "активировать"
|
||||
|
||||
#: templates/newsletter/subscription_activate.html:13
|
||||
msgid "Activate"
|
||||
msgstr "Активировать"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:5
|
||||
#: templates/newsletter/subscription_subscribe.html:8
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_subscribe_user.html:5
|
||||
#: templates/newsletter/subscription_subscribe_user.html:8
|
||||
msgid "Newsletter subscribe"
|
||||
msgstr "Подписаться на рассылку"
|
||||
|
||||
#: templates/newsletter/subscription_subscribe.html:11
|
||||
#: templates/newsletter/subscription_unsubscribe.html:11
|
||||
#: templates/newsletter/subscription_update.html:11
|
||||
msgid ""
|
||||
"Due to a technical error we were not able to submit your confirmation email."
|
||||
" This could be because your email address is invalid."
|
||||
msgstr "Из-за технической ошибки письмо с подтверждением не было отправлено. Возможно ваш адрес электронной почты неправильный."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_activated.html:10
|
||||
msgid "Your subscription has successfully been activated."
|
||||
msgstr "Ваша подписка была успешно активирована."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your subscription request was successfully received and an activation email "
|
||||
"has been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to activate your subscription."
|
||||
msgstr "Ваш запрос на подписку был успешно получен, и email для активации был отправлен Вам. В нем вы должны найти ссылку и перейти по ней, чтобы подтвердить свое решение активировать подписку."
|
||||
|
||||
#: templates/newsletter/subscription_subscribe_user.html:19
|
||||
msgid "Do you want to subscribe to this newsletter?"
|
||||
msgstr "Вы хотите подписаться на эту рассылку?"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:8
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:5
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:8
|
||||
msgid "Newsletter unsubscribe"
|
||||
msgstr "Отписаться от рассылки"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe.html:23
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:23
|
||||
msgid "Unsubscribe"
|
||||
msgstr "Отписаться"
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_activated.html:10
|
||||
msgid "You have successfully been unsubscribed."
|
||||
msgstr "Вы успешно отписались."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_email_sent.html:10
|
||||
msgid ""
|
||||
"Your unsubscription request has successfully been received. An email has "
|
||||
"been sent to you with a link you need to follow in order to confirm your "
|
||||
"unsubscription."
|
||||
msgstr "Ваш запрос на отписку был успешно получен.Сообщение со ссылкой было отправлено Вам, вы должны перейти по ней, чтобы подтвердить свою отписку."
|
||||
|
||||
#: templates/newsletter/subscription_unsubscribe_user.html:20
|
||||
msgid "Do you want to unsubscribe from this newsletter?"
|
||||
msgstr "Вы хотите отменить подписку на эту рассылку?"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:5
|
||||
#: templates/newsletter/subscription_update.html:8
|
||||
#: templates/newsletter/subscription_update_email_sent.html:5
|
||||
#: templates/newsletter/subscription_update_email_sent.html:8
|
||||
msgid "Newsletter update"
|
||||
msgstr "Обновление рассылки"
|
||||
|
||||
#: templates/newsletter/subscription_update.html:23
|
||||
msgid "Update subscription"
|
||||
msgstr "Обновить подписку"
|
||||
|
||||
#: templates/newsletter/subscription_update_activated.html:10
|
||||
msgid "Your subscription has successfully been updated."
|
||||
msgstr "Ваша подписка успешно обновлена."
|
||||
|
||||
#: templates/newsletter/subscription_update_email_sent.html:10
|
||||
msgid ""
|
||||
"Your update request was successfully received and an activation email has "
|
||||
"been sent to you. In that email you will find a link which you need to "
|
||||
"follow in order to update your subscription."
|
||||
msgstr "Ваш запрос на обновление был успешно получен, сообщение для активации было отправлено Вам. В нем вы должны найти ссылку и перейти по ней, чтобы подтвердить свое решение обновить подписку."
|
||||
|
||||
#: templates/widget/image.html:2
|
||||
msgid "Currently:"
|
||||
msgstr "В текущий момент:"
|
||||
|
||||
#: templates/widget/image.html:4
|
||||
msgid "Change:"
|
||||
msgstr "Изменить:"
|
||||
|
||||
#: views.py:114
|
||||
msgid "Your changes have been saved."
|
||||
msgstr "Ваши изменения сохранены."
|
||||
|
||||
#: views.py:305
|
||||
#, python-format
|
||||
msgid "You have been subscribed to %s."
|
||||
msgstr "Вы подписались на %s."
|
||||
|
||||
#: views.py:309
|
||||
#, python-format
|
||||
msgid "User %(rs)s subscribed to %(my_newsletter)s."
|
||||
msgstr "Пользователь %(rs)s подписался на %(my_newsletter)s."
|
||||
|
||||
#: views.py:319
|
||||
#, python-format
|
||||
msgid "You are already subscribed to %s."
|
||||
msgstr "Вы уже подписаны на %s."
|
||||
|
||||
#: views.py:344
|
||||
#, python-format
|
||||
msgid "You have been unsubscribed from %s."
|
||||
msgstr "Вы отписались от %s."
|
||||
|
||||
#: views.py:348
|
||||
#, python-format
|
||||
msgid "User %(rs)s unsubscribed from %(my_newsletter)s."
|
||||
msgstr "Пользователь %(rs)s отписался от %(my_newsletter)s."
|
||||
|
||||
#: views.py:361
|
||||
#, python-format
|
||||
msgid "You are not subscribed to %s."
|
||||
msgstr "Вы не подписаны на %s."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Eugene Akentyev <ak3ntev@gmail.com>, 2013
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2013-11-20 12:25+0000\n"
|
||||
"Last-Translator: Eugene Akentyev <ak3ntev@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/dokterbob/django-newsletter/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "Посылка изменилась. Необходимо сохранить перед отправкой. Нажмите OK, чтобы сохранить, нажмите отменить, чтобы продолжить редактирование."
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# mozillazg <opensource.mozillazg@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django-newsletter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-11-19 21:55+0100\n"
|
||||
"PO-Revision-Date: 2014-01-21 08:15+0000\n"
|
||||
"Last-Translator: mozillazg <opensource.mozillazg@gmail.com>\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/dokterbob/django-newsletter/language/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: static/newsletter/admin/js/submit_interface.js:12
|
||||
msgid ""
|
||||
"The submission has been changed. It has to be saved before you can submit. "
|
||||
"Click OK to proceed with saving, click cancel to continue editing."
|
||||
msgstr "提交已更改。在您提交前它必须被保存。点击确定继续保存,点击取消继续编辑。"
|
||||
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# management commands for the newsletter
|
||||
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# management commands for the newsletter
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
actual sending of the submissions
|
||||
"""
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from newsletter.models import Submission
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = _("Submit pending messages.")
|
||||
|
||||
def handle(self, *args, **options):
|
||||
# Setup logging based on verbosity: 1 -> INFO, >1 -> DEBUG
|
||||
verbosity = int(options['verbosity'])
|
||||
logger = logging.getLogger('newsletter')
|
||||
if verbosity == 0:
|
||||
logger.setLevel(logging.WARN)
|
||||
elif verbosity == 1: # default
|
||||
logger.setLevel(logging.INFO)
|
||||
elif verbosity > 1:
|
||||
logger.setLevel(logging.DEBUG)
|
||||
if verbosity > 2:
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.DEBUG)
|
||||
|
||||
logger.info(_('Submitting queued newsletter mailings'))
|
||||
|
||||
# Call submission
|
||||
Submission.submit_queue()
|
||||
@@ -0,0 +1,135 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import sorl.thumbnail.fields
|
||||
import newsletter.utils
|
||||
import django.utils.timezone
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('sites', '0001_initial'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Article',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('sortorder', models.PositiveIntegerField(help_text='Sort order determines the order in which articles are concatenated in a post.', verbose_name='sort order', db_index=True)),
|
||||
('title', models.CharField(max_length=200, verbose_name='title')),
|
||||
('text', models.TextField(verbose_name='text')),
|
||||
('url', models.URLField(null=True, verbose_name='link', blank=True)),
|
||||
('image', sorl.thumbnail.fields.ImageField(upload_to='newsletter/images/%Y/%m/%d', null=True, verbose_name='image', blank=True)),
|
||||
],
|
||||
options={
|
||||
'ordering': ('sortorder',),
|
||||
'verbose_name': 'article',
|
||||
'verbose_name_plural': 'articles',
|
||||
},
|
||||
bases=(models.Model,),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Message',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('title', models.CharField(max_length=200, verbose_name='title')),
|
||||
('slug', models.SlugField(verbose_name='slug')),
|
||||
('date_create', models.DateTimeField(auto_now_add=True, verbose_name='created')),
|
||||
('date_modify', models.DateTimeField(auto_now=True, verbose_name='modified')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'message',
|
||||
'verbose_name_plural': 'messages',
|
||||
},
|
||||
bases=(models.Model,),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Newsletter',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('title', models.CharField(max_length=200, verbose_name='newsletter title')),
|
||||
('slug', models.SlugField(unique=True)),
|
||||
('email', models.EmailField(help_text='Sender e-mail', max_length=75, verbose_name='e-mail')),
|
||||
('sender', models.CharField(help_text='Sender name', max_length=200, verbose_name='sender')),
|
||||
('visible', models.BooleanField(default=True, db_index=True, verbose_name='visible')),
|
||||
('send_html', models.BooleanField(default=True, help_text='Whether or not to send HTML versions of e-mails.', verbose_name='send html')),
|
||||
('site', models.ManyToManyField(default=newsletter.utils.get_default_sites, to='sites.Site')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'newsletter',
|
||||
'verbose_name_plural': 'newsletters',
|
||||
},
|
||||
bases=(models.Model,),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Submission',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('publish_date', models.DateTimeField(default=django.utils.timezone.now, null=True, verbose_name='publication date', db_index=True, blank=True)),
|
||||
('publish', models.BooleanField(default=True, help_text='Publish in archive.', db_index=True, verbose_name='publish')),
|
||||
('prepared', models.BooleanField(default=False, verbose_name='prepared', db_index=True, editable=False)),
|
||||
('sent', models.BooleanField(default=False, verbose_name='sent', db_index=True, editable=False)),
|
||||
('sending', models.BooleanField(default=False, verbose_name='sending', db_index=True, editable=False)),
|
||||
('message', models.ForeignKey(verbose_name='message', to='newsletter.Message', on_delete=models.CASCADE)),
|
||||
('newsletter', models.ForeignKey(editable=False, to='newsletter.Newsletter', verbose_name='newsletter', on_delete=models.CASCADE)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'submission',
|
||||
'verbose_name_plural': 'submissions',
|
||||
},
|
||||
bases=(models.Model,),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Subscription',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('name_field', models.CharField(db_column='name', max_length=30, blank=True, help_text='optional', null=True, verbose_name='name')),
|
||||
('email_field', models.EmailField(db_column='email', max_length=75, blank=True, null=True, verbose_name='e-mail', db_index=True)),
|
||||
('ip', models.IPAddressField(null=True, verbose_name='IP address', blank=True)),
|
||||
('create_date', models.DateTimeField(default=django.utils.timezone.now, editable=False)),
|
||||
('activation_code', models.CharField(default=newsletter.utils.make_activation_code, max_length=40, verbose_name='activation code')),
|
||||
('subscribed', models.BooleanField(default=False, db_index=True, verbose_name='subscribed')),
|
||||
('subscribe_date', models.DateTimeField(null=True, verbose_name='subscribe date', blank=True)),
|
||||
('unsubscribed', models.BooleanField(default=False, db_index=True, verbose_name='unsubscribed')),
|
||||
('unsubscribe_date', models.DateTimeField(null=True, verbose_name='unsubscribe date', blank=True)),
|
||||
('newsletter', models.ForeignKey(verbose_name='newsletter', to='newsletter.Newsletter', on_delete=models.CASCADE)),
|
||||
('user', models.ForeignKey(verbose_name='user', blank=True, to=settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'subscription',
|
||||
'verbose_name_plural': 'subscriptions',
|
||||
},
|
||||
bases=(models.Model,),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='subscription',
|
||||
unique_together=set([('user', 'email_field', 'newsletter')]),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='submission',
|
||||
name='subscriptions',
|
||||
field=models.ManyToManyField(help_text='If you select none, the system will automatically find the subscribers for you.', to='newsletter.Subscription', db_index=True, verbose_name='recipients', blank=True),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='message',
|
||||
name='newsletter',
|
||||
field=models.ForeignKey(verbose_name='newsletter', to='newsletter.Newsletter', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='message',
|
||||
unique_together=set([('slug', 'newsletter')]),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='article',
|
||||
name='post',
|
||||
field=models.ForeignKey(related_name='articles', verbose_name='message', to='newsletter.Message', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import django.db.models.manager
|
||||
import django.contrib.sites.managers
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('newsletter', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='newsletter',
|
||||
name='email',
|
||||
field=models.EmailField(help_text='Sender e-mail', max_length=254, verbose_name='e-mail'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='email_field',
|
||||
field=models.EmailField(db_column='email', max_length=254, blank=True, null=True, verbose_name='e-mail', db_index=True),
|
||||
),
|
||||
]
|
||||
|
||||
# if using Django version 1.8 and later also apply AlterModelManagers and AlterField to GenericIPAddressField
|
||||
if django.VERSION >= (1,8):
|
||||
operations += [
|
||||
migrations.AlterModelManagers(
|
||||
name='newsletter',
|
||||
managers=[
|
||||
('objects', django.db.models.manager.Manager()),
|
||||
('on_site', django.contrib.sites.managers.CurrentSiteManager()),
|
||||
],
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='subscription',
|
||||
name='ip',
|
||||
field=models.GenericIPAddressField(null=True, verbose_name='IP address', blank=True),
|
||||
)
|
||||
]
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
def renumerate_article_sortorder(apps, schema_editor):
|
||||
""" Renumerate articles for consistent and guaranteed unique sortorder. """
|
||||
|
||||
Message = apps.get_model('newsletter', 'Message')
|
||||
|
||||
for message in Message.objects.all():
|
||||
for index, article in enumerate(message.articles.all()):
|
||||
# We're using the fact that articles are ordered by default
|
||||
|
||||
article.sortorder = (index + 1) * 10
|
||||
article.save()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('newsletter', '0002_auto_20150416_1555'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='article',
|
||||
name='sortorder',
|
||||
field=models.PositiveIntegerField(help_text='Sort order determines the order in which articles are concatenated in a post.', verbose_name='sort order', blank=True),
|
||||
),
|
||||
migrations.RunPython(renumerate_article_sortorder),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='article',
|
||||
unique_together=set([('post', 'sortorder')]),
|
||||
),
|
||||
]
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import newsletter.models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('newsletter', '0003_auto_20160226_1518'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='message',
|
||||
name='newsletter',
|
||||
field=models.ForeignKey(default=newsletter.models.get_default_newsletter,
|
||||
verbose_name='newsletter',
|
||||
to='newsletter.Newsletter',
|
||||
on_delete=models.CASCADE),
|
||||
),
|
||||
]
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 2.1 on 2018-10-26 12:08
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('newsletter', '0004_auto_20180407_1043'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='submission',
|
||||
name='subscriptions',
|
||||
field=models.ManyToManyField(blank=True, db_index=True, help_text='If you select none, the system will automatically find the subscribers for you.', limit_choices_to={'subscribed': True}, to='newsletter.Subscription', verbose_name='recipients'),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,732 @@
|
||||
import logging
|
||||
import time
|
||||
import django
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.sites.models import Site
|
||||
from django.contrib.sites.managers import CurrentSiteManager
|
||||
from django.core.mail import EmailMultiAlternatives
|
||||
from django.db import models
|
||||
from django.template.loader import select_template
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ugettext
|
||||
from django.utils.timezone import now
|
||||
|
||||
from sorl.thumbnail import ImageField
|
||||
from distutils.version import LooseVersion
|
||||
|
||||
|
||||
from .compat import get_context, reverse
|
||||
from .utils import (
|
||||
make_activation_code, get_default_sites, ACTIONS
|
||||
)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User')
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Newsletter(models.Model):
|
||||
site = models.ManyToManyField(Site, default=get_default_sites)
|
||||
|
||||
title = models.CharField(
|
||||
max_length=200, verbose_name=_('newsletter title')
|
||||
)
|
||||
slug = models.SlugField(db_index=True, unique=True)
|
||||
|
||||
email = models.EmailField(
|
||||
verbose_name=_('e-mail'), help_text=_('Sender e-mail')
|
||||
)
|
||||
sender = models.CharField(
|
||||
max_length=200, verbose_name=_('sender'), help_text=_('Sender name')
|
||||
)
|
||||
|
||||
visible = models.BooleanField(
|
||||
default=True, verbose_name=_('visible'), db_index=True
|
||||
)
|
||||
|
||||
send_html = models.BooleanField(
|
||||
default=True, verbose_name=_('send html'),
|
||||
help_text=_('Whether or not to send HTML versions of e-mails.')
|
||||
)
|
||||
|
||||
objects = models.Manager()
|
||||
|
||||
# Automatically filter the current site
|
||||
on_site = CurrentSiteManager()
|
||||
|
||||
def get_templates(self, action):
|
||||
"""
|
||||
Return a subject, text, HTML tuple with e-mail templates for
|
||||
a particular action. Returns a tuple with subject, text and e-mail
|
||||
template.
|
||||
"""
|
||||
|
||||
assert action in ACTIONS + ('message', ), 'Unknown action: %s' % action
|
||||
|
||||
# Common substitutions for filenames
|
||||
tpl_subst = {
|
||||
'action': action,
|
||||
'newsletter': self.slug
|
||||
}
|
||||
|
||||
# Common root path for all the templates
|
||||
tpl_root = 'newsletter/message/'
|
||||
|
||||
subject_template = select_template([
|
||||
tpl_root + '%(newsletter)s/%(action)s_subject.txt' % tpl_subst,
|
||||
tpl_root + '%(action)s_subject.txt' % tpl_subst,
|
||||
])
|
||||
|
||||
text_template = select_template([
|
||||
tpl_root + '%(newsletter)s/%(action)s.txt' % tpl_subst,
|
||||
tpl_root + '%(action)s.txt' % tpl_subst,
|
||||
])
|
||||
|
||||
if self.send_html:
|
||||
html_template = select_template([
|
||||
tpl_root + '%(newsletter)s/%(action)s.html' % tpl_subst,
|
||||
tpl_root + '%(action)s.html' % tpl_subst,
|
||||
])
|
||||
else:
|
||||
# HTML templates are not required
|
||||
html_template = None
|
||||
|
||||
return (subject_template, text_template, html_template)
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('newsletter')
|
||||
verbose_name_plural = _('newsletters')
|
||||
|
||||
def get_absolute_url(self):
|
||||
return (
|
||||
'newsletter_detail', (),
|
||||
{'newsletter_slug': self.slug}
|
||||
)
|
||||
|
||||
def subscribe_url(self):
|
||||
return (
|
||||
'newsletter_subscribe_request', (),
|
||||
{'newsletter_slug': self.slug}
|
||||
)
|
||||
|
||||
def unsubscribe_url(self):
|
||||
return (
|
||||
'newsletter_unsubscribe_request', (),
|
||||
{'newsletter_slug': self.slug}
|
||||
)
|
||||
|
||||
def update_url(self):
|
||||
return (
|
||||
'newsletter_update_request', (),
|
||||
{'newsletter_slug': self.slug}
|
||||
)
|
||||
|
||||
def archive_url(self):
|
||||
return (
|
||||
'newsletter_archive', (),
|
||||
{'newsletter_slug': self.slug}
|
||||
)
|
||||
|
||||
def get_sender(self):
|
||||
return get_address(self.sender, self.email)
|
||||
|
||||
def get_subscriptions(self):
|
||||
logger.debug(u'Looking up subscribers for %s', self)
|
||||
|
||||
return Subscription.objects.filter(newsletter=self, subscribed=True)
|
||||
|
||||
@classmethod
|
||||
def get_default(cls):
|
||||
try:
|
||||
return cls.objects.all()[0].pk
|
||||
except IndexError:
|
||||
return None
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Subscription(models.Model):
|
||||
user = models.ForeignKey(
|
||||
AUTH_USER_MODEL, blank=True, null=True, verbose_name=_('user'),
|
||||
on_delete=models.CASCADE
|
||||
)
|
||||
|
||||
name_field = models.CharField(
|
||||
db_column='name', max_length=30, blank=True, null=True,
|
||||
verbose_name=_('name'), help_text=_('optional')
|
||||
)
|
||||
|
||||
def get_name(self):
|
||||
if self.user:
|
||||
return self.user.get_full_name()
|
||||
return self.name_field
|
||||
|
||||
def set_name(self, name):
|
||||
if not self.user:
|
||||
self.name_field = name
|
||||
name = property(get_name, set_name)
|
||||
|
||||
email_field = models.EmailField(
|
||||
db_column='email', verbose_name=_('e-mail'), db_index=True,
|
||||
blank=True, null=True
|
||||
)
|
||||
|
||||
def get_email(self):
|
||||
if self.user:
|
||||
return self.user.email
|
||||
return self.email_field
|
||||
|
||||
def set_email(self, email):
|
||||
if not self.user:
|
||||
self.email_field = email
|
||||
email = property(get_email, set_email)
|
||||
|
||||
def update(self, action):
|
||||
"""
|
||||
Update subscription according to requested action:
|
||||
subscribe/unsubscribe/update/, then save the changes.
|
||||
"""
|
||||
|
||||
assert action in ('subscribe', 'update', 'unsubscribe')
|
||||
|
||||
# If a new subscription or update, make sure it is subscribed
|
||||
# Else, unsubscribe
|
||||
if action == 'subscribe' or action == 'update':
|
||||
self.subscribed = True
|
||||
else:
|
||||
self.unsubscribed = True
|
||||
|
||||
logger.debug(
|
||||
_(u'Updated subscription %(subscription)s to %(action)s.'),
|
||||
{
|
||||
'subscription': self,
|
||||
'action': action
|
||||
}
|
||||
)
|
||||
|
||||
# This triggers the subscribe() and/or unsubscribe() methods, taking
|
||||
# care of stuff like maintaining the (un)subscribe date.
|
||||
self.save()
|
||||
|
||||
def _subscribe(self):
|
||||
"""
|
||||
Internal helper method for managing subscription state
|
||||
during subscription.
|
||||
"""
|
||||
logger.debug(u'Subscribing subscription %s.', self)
|
||||
|
||||
self.subscribe_date = now()
|
||||
self.subscribed = True
|
||||
self.unsubscribed = False
|
||||
|
||||
def _unsubscribe(self):
|
||||
"""
|
||||
Internal helper method for managing subscription state
|
||||
during unsubscription.
|
||||
"""
|
||||
logger.debug(u'Unsubscribing subscription %s.', self)
|
||||
|
||||
self.subscribed = False
|
||||
self.unsubscribed = True
|
||||
self.unsubscribe_date = now()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
"""
|
||||
Perform some basic validation and state maintenance of Subscription.
|
||||
TODO: Move this code to a more suitable place (i.e. `clean()`) and
|
||||
cleanup the code. Refer to comment below and
|
||||
https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.clean
|
||||
"""
|
||||
assert self.user or self.email_field, \
|
||||
_('Neither an email nor a username is set. This asks for '
|
||||
'inconsistency!')
|
||||
assert ((self.user and not self.email_field) or
|
||||
(self.email_field and not self.user)), \
|
||||
_('If user is set, email must be null and vice versa.')
|
||||
|
||||
# This is a lame way to find out if we have changed but using Django
|
||||
# API internals is bad practice. This is necessary to discriminate
|
||||
# from a state where we have never been subscribed but is mostly for
|
||||
# backward compatibility. It might be very useful to make this just
|
||||
# one attribute 'subscribe' later. In this case unsubscribed can be
|
||||
# replaced by a method property.
|
||||
|
||||
if self.pk:
|
||||
assert(Subscription.objects.filter(pk=self.pk).count() == 1)
|
||||
|
||||
subscription = Subscription.objects.get(pk=self.pk)
|
||||
old_subscribed = subscription.subscribed
|
||||
old_unsubscribed = subscription.unsubscribed
|
||||
|
||||
# If we are subscribed now and we used not to be so, subscribe.
|
||||
# If we user to be unsubscribed but are not so anymore, subscribe.
|
||||
if ((self.subscribed and not old_subscribed) or
|
||||
(old_unsubscribed and not self.unsubscribed)):
|
||||
self._subscribe()
|
||||
|
||||
assert not self.unsubscribed
|
||||
assert self.subscribed
|
||||
|
||||
# If we are unsubcribed now and we used not to be so, unsubscribe.
|
||||
# If we used to be subscribed but are not subscribed anymore,
|
||||
# unsubscribe.
|
||||
elif ((self.unsubscribed and not old_unsubscribed) or
|
||||
(old_subscribed and not self.subscribed)):
|
||||
self._unsubscribe()
|
||||
|
||||
assert not self.subscribed
|
||||
assert self.unsubscribed
|
||||
else:
|
||||
if self.subscribed:
|
||||
self._subscribe()
|
||||
elif self.unsubscribed:
|
||||
self._unsubscribe()
|
||||
|
||||
super(Subscription, self).save(*args, **kwargs)
|
||||
|
||||
ip = models.GenericIPAddressField(_("IP address"), blank=True, null=True)
|
||||
|
||||
newsletter = models.ForeignKey(
|
||||
Newsletter, verbose_name=_('newsletter'), on_delete=models.CASCADE
|
||||
)
|
||||
|
||||
create_date = models.DateTimeField(editable=False, default=now)
|
||||
|
||||
activation_code = models.CharField(
|
||||
verbose_name=_('activation code'), max_length=40,
|
||||
default=make_activation_code
|
||||
)
|
||||
|
||||
subscribed = models.BooleanField(
|
||||
default=False, verbose_name=_('subscribed'), db_index=True
|
||||
)
|
||||
subscribe_date = models.DateTimeField(
|
||||
verbose_name=_("subscribe date"), null=True, blank=True
|
||||
)
|
||||
|
||||
# This should be a pseudo-field, I reckon.
|
||||
unsubscribed = models.BooleanField(
|
||||
default=False, verbose_name=_('unsubscribed'), db_index=True
|
||||
)
|
||||
unsubscribe_date = models.DateTimeField(
|
||||
verbose_name=_("unsubscribe date"), null=True, blank=True
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
if self.name:
|
||||
return _(u"%(name)s <%(email)s> to %(newsletter)s") % {
|
||||
'name': self.name,
|
||||
'email': self.email,
|
||||
'newsletter': self.newsletter
|
||||
}
|
||||
|
||||
else:
|
||||
return _(u"%(email)s to %(newsletter)s") % {
|
||||
'email': self.email,
|
||||
'newsletter': self.newsletter
|
||||
}
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('subscription')
|
||||
verbose_name_plural = _('subscriptions')
|
||||
unique_together = ('user', 'email_field', 'newsletter')
|
||||
|
||||
def get_recipient(self):
|
||||
return get_address(self.name, self.email)
|
||||
|
||||
def send_activation_email(self, action):
|
||||
assert action in ACTIONS, 'Unknown action: %s' % action
|
||||
|
||||
(subject_template, text_template, html_template) = \
|
||||
self.newsletter.get_templates(action)
|
||||
|
||||
variable_dict = {
|
||||
'subscription': self,
|
||||
'site': Site.objects.get_current(),
|
||||
'newsletter': self.newsletter,
|
||||
'date': self.subscribe_date,
|
||||
'STATIC_URL': settings.STATIC_URL,
|
||||
'MEDIA_URL': settings.MEDIA_URL
|
||||
}
|
||||
|
||||
unescaped_context = get_context(variable_dict, autoescape=False)
|
||||
|
||||
subject = subject_template.render(unescaped_context).strip()
|
||||
text = text_template.render(unescaped_context)
|
||||
|
||||
message = EmailMultiAlternatives(
|
||||
subject, text,
|
||||
from_email=self.newsletter.get_sender(),
|
||||
to=[self.email]
|
||||
)
|
||||
|
||||
if html_template:
|
||||
escaped_context = get_context(variable_dict)
|
||||
|
||||
message.attach_alternative(
|
||||
html_template.render(escaped_context), "text/html"
|
||||
)
|
||||
|
||||
message.send()
|
||||
|
||||
logger.debug(
|
||||
u'Activation email sent for action "%(action)s" to %(subscriber)s '
|
||||
u'with activation code "%(action_code)s".', {
|
||||
'action_code': self.activation_code,
|
||||
'action': action,
|
||||
'subscriber': self
|
||||
}
|
||||
)
|
||||
|
||||
def subscribe_activate_url(self):
|
||||
return ('newsletter_update_activate', (), {
|
||||
'newsletter_slug': self.newsletter.slug,
|
||||
'email': self.email,
|
||||
'action': 'subscribe',
|
||||
'activation_code': self.activation_code
|
||||
})
|
||||
|
||||
def unsubscribe_activate_url(self):
|
||||
return ('newsletter_update_activate', (), {
|
||||
'newsletter_slug': self.newsletter.slug,
|
||||
'email': self.email,
|
||||
'action': 'unsubscribe',
|
||||
'activation_code': self.activation_code
|
||||
})
|
||||
|
||||
def update_activate_url(self):
|
||||
return ('newsletter_update_activate', (), {
|
||||
'newsletter_slug': self.newsletter.slug,
|
||||
'email': self.email,
|
||||
'action': 'update',
|
||||
'activation_code': self.activation_code
|
||||
})
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Article(models.Model):
|
||||
"""
|
||||
An Article within a Message which will be send through a Submission.
|
||||
"""
|
||||
|
||||
sortorder = models.PositiveIntegerField(
|
||||
help_text=_('Sort order determines the order in which articles are '
|
||||
'concatenated in a post.'),
|
||||
verbose_name=_('sort order'), blank=True
|
||||
)
|
||||
|
||||
title = models.CharField(max_length=200, verbose_name=_('title'))
|
||||
text = models.TextField(verbose_name=_('text'))
|
||||
|
||||
url = models.URLField(
|
||||
verbose_name=_('link'), blank=True, null=True
|
||||
)
|
||||
|
||||
# Make this a foreign key for added elegance
|
||||
image = ImageField(
|
||||
upload_to='newsletter/images/%Y/%m/%d', blank=True, null=True,
|
||||
verbose_name=_('image')
|
||||
)
|
||||
|
||||
# Message this article is associated with
|
||||
# TODO: Refactor post to message (post is legacy notation).
|
||||
post = models.ForeignKey(
|
||||
'Message', verbose_name=_('message'), related_name='articles',
|
||||
on_delete=models.CASCADE
|
||||
)
|
||||
|
||||
class Meta:
|
||||
ordering = ('sortorder',)
|
||||
verbose_name = _('article')
|
||||
verbose_name_plural = _('articles')
|
||||
unique_together = ('post', 'sortorder')
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
def save(self, **kwargs):
|
||||
if self.sortorder is None:
|
||||
# If saving a new object get the next available Article ordering
|
||||
# as to assure uniqueness.
|
||||
self.sortorder = self.post.get_next_article_sortorder()
|
||||
|
||||
super(Article, self).save()
|
||||
|
||||
|
||||
def get_default_newsletter():
|
||||
return Newsletter.get_default()
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Message(models.Model):
|
||||
""" Message as sent through a Submission. """
|
||||
|
||||
title = models.CharField(max_length=200, verbose_name=_('title'))
|
||||
slug = models.SlugField(verbose_name=_('slug'))
|
||||
|
||||
newsletter = models.ForeignKey(
|
||||
Newsletter, verbose_name=_('newsletter'), on_delete=models.CASCADE, default=get_default_newsletter
|
||||
)
|
||||
|
||||
date_create = models.DateTimeField(
|
||||
verbose_name=_('created'), auto_now_add=True, editable=False
|
||||
)
|
||||
date_modify = models.DateTimeField(
|
||||
verbose_name=_('modified'), auto_now=True, editable=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('message')
|
||||
verbose_name_plural = _('messages')
|
||||
unique_together = ('slug', 'newsletter')
|
||||
|
||||
def __str__(self):
|
||||
try:
|
||||
return _(u"%(title)s in %(newsletter)s") % {
|
||||
'title': self.title,
|
||||
'newsletter': self.newsletter
|
||||
}
|
||||
except Newsletter.DoesNotExist:
|
||||
logger.warning('No newsletter has been set for this message yet.')
|
||||
return self.title
|
||||
|
||||
def get_next_article_sortorder(self):
|
||||
""" Get next available sortorder for Article. """
|
||||
|
||||
next_order = self.articles.aggregate(
|
||||
models.Max('sortorder')
|
||||
)['sortorder__max']
|
||||
|
||||
if next_order:
|
||||
return next_order + 10
|
||||
else:
|
||||
return 10
|
||||
|
||||
@cached_property
|
||||
def _templates(self):
|
||||
"""Return a (subject_template, text_template, html_template) tuple."""
|
||||
return self.newsletter.get_templates('message')
|
||||
|
||||
@property
|
||||
def subject_template(self):
|
||||
return self._templates[0]
|
||||
|
||||
@property
|
||||
def text_template(self):
|
||||
return self._templates[1]
|
||||
|
||||
@property
|
||||
def html_template(self):
|
||||
return self._templates[2]
|
||||
|
||||
@classmethod
|
||||
def get_default(cls):
|
||||
try:
|
||||
return cls.objects.order_by('-date_create').all()[0]
|
||||
except IndexError:
|
||||
return None
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Submission(models.Model):
|
||||
"""
|
||||
Submission represents a particular Message as it is being submitted
|
||||
to a list of Subscribers. This is where actual queueing and submission
|
||||
happen.
|
||||
"""
|
||||
class Meta:
|
||||
verbose_name = _('submission')
|
||||
verbose_name_plural = _('submissions')
|
||||
|
||||
def __str__(self):
|
||||
return _(u"%(newsletter)s on %(publish_date)s") % {
|
||||
'newsletter': self.message,
|
||||
'publish_date': self.publish_date
|
||||
}
|
||||
|
||||
@cached_property
|
||||
def extra_headers(self):
|
||||
return {
|
||||
'List-Unsubscribe': 'http://%s%s' % (
|
||||
Site.objects.get_current().domain,
|
||||
reverse('newsletter_unsubscribe_request',
|
||||
args=[self.message.newsletter.slug])
|
||||
),
|
||||
}
|
||||
|
||||
def submit(self):
|
||||
subscriptions = self.subscriptions.filter(subscribed=True)
|
||||
|
||||
logger.info(
|
||||
ugettext(u"Submitting %(submission)s to %(count)d people"),
|
||||
{'submission': self, 'count': subscriptions.count()}
|
||||
)
|
||||
|
||||
assert self.publish_date < now(), \
|
||||
'Something smells fishy; submission time in future.'
|
||||
|
||||
self.sending = True
|
||||
self.save()
|
||||
|
||||
try:
|
||||
for idx, subscription in enumerate(subscriptions, start=1):
|
||||
if hasattr(settings, 'NEWSLETTER_EMAIL_DELAY'):
|
||||
time.sleep(settings.NEWSLETTER_EMAIL_DELAY)
|
||||
if hasattr(settings, 'NEWSLETTER_BATCH_SIZE') and settings.NEWSLETTER_BATCH_SIZE > 0:
|
||||
if idx % settings.NEWSLETTER_BATCH_SIZE == 0:
|
||||
time.sleep(settings.NEWSLETTER_BATCH_DELAY)
|
||||
self.send_message(subscription)
|
||||
self.sent = True
|
||||
|
||||
finally:
|
||||
self.sending = False
|
||||
self.save()
|
||||
|
||||
def send_message(self, subscription):
|
||||
variable_dict = {
|
||||
'subscription': subscription,
|
||||
'site': Site.objects.get_current(),
|
||||
'submission': self,
|
||||
'message': self.message,
|
||||
'newsletter': self.newsletter,
|
||||
'date': self.publish_date,
|
||||
'STATIC_URL': settings.STATIC_URL,
|
||||
'MEDIA_URL': settings.MEDIA_URL
|
||||
}
|
||||
|
||||
unescaped_context = get_context(variable_dict, autoescape=False)
|
||||
|
||||
subject = self.message.subject_template.render(
|
||||
unescaped_context).strip()
|
||||
text = self.message.text_template.render(unescaped_context)
|
||||
|
||||
message = EmailMultiAlternatives(
|
||||
subject, text,
|
||||
from_email=self.newsletter.get_sender(),
|
||||
to=[subscription.get_recipient()],
|
||||
headers=self.extra_headers,
|
||||
)
|
||||
|
||||
if self.message.html_template:
|
||||
escaped_context = get_context(variable_dict)
|
||||
|
||||
message.attach_alternative(
|
||||
self.message.html_template.render(escaped_context),
|
||||
"text/html"
|
||||
)
|
||||
|
||||
try:
|
||||
logger.debug(
|
||||
ugettext(u'Submitting message to: %s.'),
|
||||
subscription
|
||||
)
|
||||
|
||||
message.send()
|
||||
|
||||
except Exception as e:
|
||||
# TODO: Test coverage for this branch.
|
||||
logger.error(
|
||||
ugettext(u'Message %(subscription)s failed '
|
||||
u'with error: %(error)s'),
|
||||
{'subscription': subscription,
|
||||
'error': e}
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def submit_queue(cls):
|
||||
todo = cls.objects.filter(
|
||||
prepared=True, sent=False, sending=False,
|
||||
publish_date__lt=now()
|
||||
)
|
||||
|
||||
for submission in todo:
|
||||
submission.submit()
|
||||
|
||||
@classmethod
|
||||
def from_message(cls, message):
|
||||
logger.debug(ugettext('Submission of message %s'), message)
|
||||
submission = cls()
|
||||
submission.message = message
|
||||
submission.newsletter = message.newsletter
|
||||
submission.save()
|
||||
try:
|
||||
submission.subscriptions.set(message.newsletter.get_subscriptions())
|
||||
except AttributeError: # Django < 1.10
|
||||
submission.subscriptions = message.newsletter.get_subscriptions()
|
||||
return submission
|
||||
|
||||
def save(self, **kwargs):
|
||||
""" Set the newsletter from associated message upon saving. """
|
||||
assert self.message.newsletter
|
||||
|
||||
self.newsletter = self.message.newsletter
|
||||
|
||||
return super(Submission, self).save()
|
||||
|
||||
def get_absolute_url(self):
|
||||
assert self.newsletter.slug
|
||||
assert self.message.slug
|
||||
|
||||
return (
|
||||
'newsletter_archive_detail', (), {
|
||||
'newsletter_slug': self.newsletter.slug,
|
||||
'year': self.publish_date.year,
|
||||
'month': self.publish_date.month,
|
||||
'day': self.publish_date.day,
|
||||
'slug': self.message.slug
|
||||
}
|
||||
)
|
||||
|
||||
newsletter = models.ForeignKey(
|
||||
Newsletter, verbose_name=_('newsletter'), editable=False,
|
||||
on_delete=models.CASCADE
|
||||
)
|
||||
message = models.ForeignKey(
|
||||
Message, verbose_name=_('message'), editable=True, null=False,
|
||||
on_delete=models.CASCADE
|
||||
)
|
||||
|
||||
subscriptions = models.ManyToManyField(
|
||||
'Subscription',
|
||||
help_text=_('If you select none, the system will automatically find '
|
||||
'the subscribers for you.'),
|
||||
blank=True, db_index=True, verbose_name=_('recipients'),
|
||||
limit_choices_to={'subscribed': True}
|
||||
)
|
||||
|
||||
publish_date = models.DateTimeField(
|
||||
verbose_name=_('publication date'), blank=True, null=True,
|
||||
default=now, db_index=True
|
||||
)
|
||||
publish = models.BooleanField(
|
||||
default=True, verbose_name=_('publish'),
|
||||
help_text=_('Publish in archive.'), db_index=True
|
||||
)
|
||||
|
||||
prepared = models.BooleanField(
|
||||
default=False, verbose_name=_('prepared'),
|
||||
db_index=True, editable=False
|
||||
)
|
||||
sent = models.BooleanField(
|
||||
default=False, verbose_name=_('sent'),
|
||||
db_index=True, editable=False
|
||||
)
|
||||
sending = models.BooleanField(
|
||||
default=False, verbose_name=_('sending'),
|
||||
db_index=True, editable=False
|
||||
)
|
||||
|
||||
def get_address(name, email):
|
||||
# Converting name to ascii for compatibility with django < 1.9.
|
||||
# Remove this when django 1.8 is no longer supported.
|
||||
if LooseVersion(django.get_version()) < LooseVersion('1.9'):
|
||||
name = name.encode('ascii', 'ignore').decode('ascii').strip()
|
||||
if name:
|
||||
return u'%s <%s>' % (name, email)
|
||||
else:
|
||||
return u'%s' % email
|
||||
@@ -0,0 +1,105 @@
|
||||
from importlib import import_module
|
||||
|
||||
from django.conf import settings as django_settings
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
|
||||
from .utils import Singleton
|
||||
|
||||
|
||||
class Settings(object):
|
||||
"""
|
||||
A settings object that proxies settings and handles defaults, inspired
|
||||
by `django-appconf` and the way it works in `django-rest-framework`.
|
||||
|
||||
By default, a single instance of this class is created as `<app>_settings`,
|
||||
from which `<APP>_SETTING_NAME` can be accessed as `SETTING_NAME`, i.e.::
|
||||
|
||||
from myapp.settings import myapp_settings
|
||||
|
||||
if myapp_settings.SETTING_NAME:
|
||||
# DO FUNKY DANCE
|
||||
|
||||
If a setting has not been explicitly defined in Django's settings, defaults
|
||||
can be specified as `DEFAULT_SETTING_NAME` class variable or property.
|
||||
"""
|
||||
|
||||
__metaclass__ = Singleton
|
||||
|
||||
def __init__(self):
|
||||
"""
|
||||
Assert app-specific prefix.
|
||||
"""
|
||||
assert hasattr(self, 'settings_prefix'), 'No prefix specified.'
|
||||
|
||||
def __getattr__(self, attr):
|
||||
"""
|
||||
Return Django setting `PREFIX_SETTING` if explicitly specified,
|
||||
otherwise return `PREFIX_SETTING_DEFAULT` if specified.
|
||||
"""
|
||||
|
||||
if attr.isupper():
|
||||
# Require settings to have uppercase characters
|
||||
|
||||
try:
|
||||
setting = getattr(
|
||||
django_settings,
|
||||
'%s_%s' % (self.settings_prefix, attr),
|
||||
)
|
||||
except AttributeError:
|
||||
if not attr.startswith('DEFAULT_'):
|
||||
setting = getattr(self, 'DEFAULT_%s' % attr)
|
||||
else:
|
||||
raise
|
||||
|
||||
return setting
|
||||
|
||||
else:
|
||||
# Default behaviour
|
||||
raise AttributeError(
|
||||
'No setting or default available for \'%s\'' % attr
|
||||
)
|
||||
|
||||
|
||||
class NewsletterSettings(Settings):
|
||||
""" Django-newsletter specific settings. """
|
||||
settings_prefix = 'NEWSLETTER'
|
||||
|
||||
DEFAULT_CONFIRM_EMAIL = True
|
||||
|
||||
@property
|
||||
def DEFAULT_CONFIRM_EMAIL_SUBSCRIBE(self):
|
||||
return self.CONFIRM_EMAIL
|
||||
|
||||
@property
|
||||
def DEFAULT_CONFIRM_EMAIL_UNSUBSCRIBE(self):
|
||||
return self.CONFIRM_EMAIL
|
||||
|
||||
@property
|
||||
def DEFAULT_CONFIRM_EMAIL_UPDATE(self):
|
||||
return self.CONFIRM_EMAIL
|
||||
|
||||
@property
|
||||
def RICHTEXT_WIDGET(self):
|
||||
# Import and set the richtext field
|
||||
NEWSLETTER_RICHTEXT_WIDGET = getattr(
|
||||
django_settings, "NEWSLETTER_RICHTEXT_WIDGET", ""
|
||||
)
|
||||
|
||||
if NEWSLETTER_RICHTEXT_WIDGET:
|
||||
try:
|
||||
module, attr = NEWSLETTER_RICHTEXT_WIDGET.rsplit(".", 1)
|
||||
mod = import_module(module)
|
||||
return getattr(mod, attr)
|
||||
except Exception as e:
|
||||
# Catch ImportError and other exceptions too
|
||||
# (e.g. user sets setting to an integer)
|
||||
raise ImproperlyConfigured(
|
||||
"Error while importing setting "
|
||||
"NEWSLETTER_RICHTEXT_WIDGET %r: %s" % (
|
||||
NEWSLETTER_RICHTEXT_WIDGET, e
|
||||
)
|
||||
)
|
||||
|
||||
return None
|
||||
|
||||
newsletter_settings = NewsletterSettings()
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 176 B |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 299 B |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 100 B |
+26
@@ -0,0 +1,26 @@
|
||||
var SubmitInterface = {
|
||||
changed: false,
|
||||
|
||||
init: function(submitname) {
|
||||
var submitlink = django.jQuery(submitname);
|
||||
var initial_href = submitlink.attr('href');
|
||||
submitlink.click(function() {
|
||||
SubmitInterface.process(initial_href);
|
||||
});
|
||||
submitlink.attr('href', '#');
|
||||
django.jQuery('form:first :input').change(function() {
|
||||
SubmitInterface.changed = true;
|
||||
});
|
||||
},
|
||||
|
||||
process: function(href) {
|
||||
if (SubmitInterface.changed) {
|
||||
var result = confirm(gettext('The submission has been changed. It has to be saved before you can submit. Click OK to proceed with saving, click cancel to continue editing.'));
|
||||
if (result) {
|
||||
django.jQuery('form:first [name="_continue"]').click();
|
||||
}
|
||||
} else {
|
||||
window.location = href;
|
||||
}
|
||||
}
|
||||
};
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
var JsonSubscribers = {
|
||||
init: function(inputname, add) {
|
||||
inp = document.getElementById(inputname);
|
||||
addEvent(inp, "change", function(e) { JsonSubscribers.setSubscribers(inp.value); });
|
||||
if (add==true && inp.value != "") {
|
||||
JsonSubscribers.setSubscribers(inp.value);
|
||||
}
|
||||
},
|
||||
|
||||
setSubscribers: function(id) {
|
||||
SelectBox.move_all('id_subscriptions_to', 'id_subscriptions_from');
|
||||
|
||||
if (id) {
|
||||
xmlhttp.open( "GET", "/admin/newsletter/message/"+id+"/subscribers/json/", true );
|
||||
xmlhttp.onreadystatechange=function() {
|
||||
if (xmlhttp.readyState==4 && xmlhttp.status == 200) {
|
||||
|
||||
objects = eval( "(" + xmlhttp.responseText + ")" );
|
||||
|
||||
var from_box = document.getElementById('id_subscriptions_from');
|
||||
for (var i = 0; (option = from_box.options[i]); i++) {
|
||||
for (j=0;(object = objects[j]);j++) {
|
||||
if (object.pk.toString() == option.value) {
|
||||
option.selected = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
SelectBox.move('id_subscriptions_from', 'id_subscriptions_to');
|
||||
}
|
||||
}
|
||||
xmlhttp.send(null)
|
||||
}
|
||||
}
|
||||
};
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{% extends "admin/change_form.html" %}
|
||||
|
||||
{% load i18n admin_urls %}
|
||||
|
||||
{% block object-tools-items %}
|
||||
{{ block.super }}
|
||||
|
||||
<li><a href="{% url opts|admin_urlname:'preview' original.pk %}">{% trans "Preview" %}</a></li>
|
||||
{% comment <li><a href="../../../submission/add/?message_id={{ message.id }}">{% trans "Prepare submission" %}</a></li>{% endcomment %}
|
||||
{% endblock %}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
{% extends "admin/base_site.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans "Preview message" %}{{ block.super }}{% endblock %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="../../../../">{% trans "Home" %}</a> ›
|
||||
<a href="../../../">Newsletter</a> ›
|
||||
<a href="../../">{% trans "Message" %}</a> ›
|
||||
<a href="../">{{ message|truncatewords:"18" }}</a> ›
|
||||
{% trans "Preview" %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
<h1>{% trans "Preview message" %}</h1>
|
||||
<div id="content-main">
|
||||
<ul class="object-tools">
|
||||
<li><a href="{% url "admin:newsletter_message_change" message.id %}">{% trans "Change" %}</a></li>
|
||||
<li><a href="{% url "admin:newsletter_message_submit" message.id %}">{% trans "Create submission" %}</a></li>
|
||||
</ul>
|
||||
{% if message.newsletter.send_html %}
|
||||
<h4>{% trans "HTML" %}</h4>
|
||||
<iframe src ="{% url "admin:newsletter_message_preview_html" message.id %}" width="960px" height="720px"></iframe>
|
||||
{% endif %}
|
||||
|
||||
<h4>{% trans "Text" %}</h4>
|
||||
<iframe src ="{% url "admin:newsletter_message_preview_text" message.id %}" width="960px" height="720px"></iframe>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
{% endblock %}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{% extends "admin/change_form.html" %}
|
||||
|
||||
{% load i18n admin_urls %}
|
||||
{% load static from staticfiles %}
|
||||
|
||||
{% block extrahead %}
|
||||
{{ block.super }}
|
||||
<script src="{% url "admin:newsletter_js18n" %}" type="text/javascript"></script>
|
||||
<script src="{% static "newsletter/admin/js/subscriber_lookup.js" %}" type="text/javascript"></script>
|
||||
<script src="{% static "newsletter/admin/js/submit_interface.js" %}" type="text/javascript"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block object-tools-items %}
|
||||
{{ block.super }}
|
||||
|
||||
<li><a href="{% url opts|admin_urlname:'submit' original.pk %}" id="submitlink">{% trans "Submit" %}</a></li>
|
||||
{% endblock %}
|
||||
|
||||
{% block after_related_objects %}{{ block.super }}<script type="text/javascript">
|
||||
django.jQuery(window).load(function() {
|
||||
JsonSubscribers.init('id_message'{% if add %}, add=true{% endif %});
|
||||
SubmitInterface.init('#submitlink');
|
||||
});
|
||||
</script>{% endblock %}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
{% extends "admin/change_list.html" %}
|
||||
{% load i18n admin_urls %}
|
||||
|
||||
{% block object-tools-items %}
|
||||
<li><a href="{% url opts|admin_urlname:'import' %}">{% trans "Import" %}</a></li>
|
||||
|
||||
{{ block.super }}
|
||||
{% endblock %}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{% extends "admin/base_site.html" %}
|
||||
{% load i18n %}
|
||||
{% block title %}{% trans "Import addresses" %}{{ block.super }}{% endblock %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="../../../../">
|
||||
{% trans "Home" %}
|
||||
</a>
|
||||
›
|
||||
<a href="../../../">
|
||||
{% trans "Newsletter" %}
|
||||
</a>
|
||||
›
|
||||
<a href="../../">
|
||||
{% trans "Subscriptions" %}
|
||||
</a>
|
||||
›
|
||||
<a href="../">
|
||||
{% trans "Import addresses" %}
|
||||
</a>
|
||||
›
|
||||
{% trans "Confirm import" %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{% trans "Confirm import" %}</h1>
|
||||
<div id="content-main">
|
||||
<ul>
|
||||
{% for email, name in subscribers.items %}
|
||||
<li>{% if name %}{{ name }} <{{ email }}>{% else %}{{ email }}{% endif %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<input type="submit" name="submit" value="{% trans 'Confirm' %}"/>
|
||||
</form>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
{% endblock %}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
{% extends "admin/base_site.html" %}
|
||||
{% load i18n %}
|
||||
{% block title %}{% trans "Import addresses" %}{{ block.super }}{% endblock %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="../../../">
|
||||
{% trans "Home" %}
|
||||
</a>
|
||||
›
|
||||
<a href="../../">
|
||||
{% trans "Newsletter" %}
|
||||
</a>
|
||||
›
|
||||
<a href="../">
|
||||
{% trans "Subscriptions" %}
|
||||
</a>
|
||||
›
|
||||
{% trans "Import addresses" %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{% trans "Import addresses" %}</h1>
|
||||
<div id="content-main">
|
||||
<!--
|
||||
<ul class="object-tools">
|
||||
<li><a href="../">{% trans "Change" %}</a></li>
|
||||
<li><a href="../submit/">{% trans "Create submission" %}</a></li>
|
||||
</ul>
|
||||
-->
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<input type="submit" name="submit" value="{% trans 'Upload' %}"/>
|
||||
</form>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,15 @@
|
||||
{% load i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% block title %}{% trans "Newsletter" %}{% endblock title %}</title>
|
||||
{% block header %}
|
||||
{% endblock header %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{% block body %}
|
||||
{% endblock body %}
|
||||
</body>
|
||||
</html>
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
{% load thumbnail i18n %}<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{{ newsletter.title }}: {{ message.title }}</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>{{ newsletter.title }}</h1>
|
||||
<h2>{{ message.title }}</h2>
|
||||
{% for article in message.articles.all %}
|
||||
<h3>{{ article.title }}</h3>
|
||||
|
||||
{% thumbnail article.image "200x200" as image %}
|
||||
<img src="http://{{ site.domain }}{{ image.url }}" width="{{ image.width }}" height="{{ image.height }}">
|
||||
{% endthumbnail %}
|
||||
|
||||
<div>{{ article.text|safe }}</div>
|
||||
|
||||
{% if article.url %}
|
||||
<div><a href="{{ article.url }}">{% trans "Read more" %}</a></div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<ul>
|
||||
{% if submission.publish %}
|
||||
<li><a href="http://{{ site.domain }}{{ submission.get_absolute_url }}">{% trans "Read message online" %}</a></li>
|
||||
{% endif %}
|
||||
<li><a href="http://{{ site.domain }}{% url "newsletter_unsubscribe_request" newsletter.slug %}">{% trans "Unsubscribe" %}</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
{% load i18n %}++++++++++++++++++++
|
||||
|
||||
{{ newsletter.title }}: {{ message.title }}
|
||||
|
||||
++++++++++++++++++++
|
||||
|
||||
{% for article in message.articles.all %}
|
||||
{{ article.title }}
|
||||
{{ article.text|striptags|safe }}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
++++++++++++++++++++
|
||||
|
||||
{% trans "Unsubscribe:" %} http://{{ site }}{% url "newsletter_unsubscribe_request" newsletter.slug %}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user