diff --git a/.tx/config b/.tx/config new file mode 100644 index 00000000000..4ce3eba0b09 --- /dev/null +++ b/.tx/config @@ -0,0 +1,13 @@ +[django-cms.js] +file_filter = cms/locale//LC_MESSAGES/djangojs.po +source_file = cms/locale/en/LC_MESSAGES/djangojs.po +source_lang = en + +[main] +host = http://www.transifex.net + +[django-cms.core] +file_filter = cms/locale//LC_MESSAGES/django.po +source_file = cms/locale/en/LC_MESSAGES/django.po +source_lang = en + diff --git a/AUTHORS b/AUTHORS index b020f8f9b53..a01b2cae3b2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,5 +1,6 @@ Current or previous core committers: +* Angelo Dini * Chris Glass * Eric Robitaille * Jonas Obrist @@ -15,9 +16,9 @@ Contributors (in alphabetical order): * Aaron Renner * aball * Adi Sieker +* Adrián Ribao * Alberto Paro * Alessandro Ronchi -* Angelo Dini * angular_circle * Antoni Aloy López * Arne Gellhaus @@ -36,8 +37,9 @@ Contributors (in alphabetical order): * Cheng-Chia Tseng * Chris Adams * Chris Hughes +* Chris Wesseling * Christof Hagedorn -* daniele +* Daniele Procida * DaNmarner * Darryl Woods * David Jean Louis @@ -48,10 +50,12 @@ Contributors (in alphabetical order): * eged * Egor V. Nazarkin * Ekrem Seren +* Erik Allik * Evandro Miquelito * f4nt * fcurella * Filip Kazimierczak +* Frank Bieniek * GaretJax * George Marshall * Gerard Świderski @@ -60,7 +64,7 @@ Contributors (in alphabetical order): * Iacopo Spalletti * Ian Lewis * indexofire -* Ionel Maries Cristian +* Ionel Cristian Maries * Ivan Vershigora * izi * Jameel Al-Aziz @@ -75,7 +79,10 @@ Contributors (in alphabetical order): * John-Scott Atlakson * Jonathan Stoppani * jordanjambazov +* Jorge Vargas (elpargo) * kar1m +* Keryn Knight +* Kim Blomqvist * kochin * Krzysztof Bandurski * kunitoki @@ -84,14 +91,17 @@ Contributors (in alphabetical order): * limpbrains :P * Lucas Vogelsang * Lucio Asnaghi +* Luke Crooks * Luke Plant * m000 * Maik Lustenberger * Manolis Stamatogiannakis * Manuel Schmidt +* Marco Bonetti * Marco Rimoldi * Mark Rogers * Martin Bommeli +* Martin Brochhaus * Martin Kosír * martinkosir * mathijs @@ -102,6 +112,8 @@ Contributors (in alphabetical order): * meers * MerLex * Mokys +* Mike Johnson +* Mitar * mrlundis * MW * neoprolog @@ -127,18 +139,22 @@ Contributors (in alphabetical order): * Rodolfo Carvalho * rtpm * Samuel Lüscher +* Scott Barnham * sealibora * Sean Bleier +* Seth Buntin * Seyhun Akyurek * Shatalov Vadim * shed * Shinya Okano * Simon Hedberg * Simon Meers +* Simon Charette * sleytr * spookylukey * ssteinerX * Stavros Korokithakis +* Stephan Jaekel * Steve R. Jones * Steve Steiner * Tanel Külaots @@ -147,12 +163,12 @@ Contributors (in alphabetical order): * Tino de Bruijn * tiret * Ulrich Petri +* Vasil Vangelovski * wangJunjie * Wayne Moore * wid * wildermesser * Yann Malet -* Yann Malet * yedpodtrzitko * yohanboniface * Yosuke Ikeda diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 289dc4c02c7..e8bc739e091 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -55,3 +55,11 @@ ==== 2.1.4 (2011-08-24) ==== - Fixed a XSS issue in Text Plugins + +==== 2.2.0 (In Development) ==== + +- Replaced the old plugin media framework with django-sekizai. (This changed some plugin templates which might cause problems with your CSS styling). +- Made django-mptt a proper dependency +- Removed support for django-dbgettext +- Google Maps Plugin now defaults to use HTTPS. +- Google Maps Plugin now uses the version 3 of their API, no longer requiring an API Key. diff --git a/MANIFEST.in b/MANIFEST.in index 4a454781e0a..a11adb5f1c0 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,8 +4,8 @@ include README.rst include CHANGELOG.txt recursive-include cms/locale * recursive-include cms/templates * -recursive-include cms/media * +recursive-include cms/static * recursive-include cms/plugins * recursive-include menus/templates * -recursive-include mptt/tests/fixtures *.json recursive-include docs * +recursive-exclude * *.pyc \ No newline at end of file diff --git a/cms/__init__.py b/cms/__init__.py index a37a08995ad..593b25ed9bd 100644 --- a/cms/__init__.py +++ b/cms/__init__.py @@ -1,10 +1,5 @@ # -*- coding: utf-8 -*- -VERSION = (2, 1, 4, 'final') -if VERSION[-1] != "final": # pragma: no cover - __version__ = '.'.join(map(str, VERSION)) -else: # pragma: no cover - __version__ = '.'.join(map(str, VERSION[:-1])) - +__version__ = '2.2' # patch settings try: diff --git a/cms/admin/change_list.py b/cms/admin/change_list.py index 68262942784..e388411fbea 100644 --- a/cms/admin/change_list.py +++ b/cms/admin/change_list.py @@ -8,12 +8,42 @@ from django.contrib.admin.views.main import ChangeList, ALL_VAR, IS_POPUP_VAR, \ ORDER_TYPE_VAR, ORDER_VAR, SEARCH_VAR from django.contrib.sites.models import Site -from menus.utils import find_children - COPY_VAR = "copy" + +def cache_tree_children(queryset): + """ + For all items in the queryset, set the '_cached_children' attribute to a + list. This attribute is in turn used by the 'get_children' method on the + item, which would otherwise (if '_cached_children' is not set) cause a + database query. + + The queryset MUST BE ORDERED BY 'lft', 'tree_id'! Otherwise this function + will raise a ValueError. + """ + parents_dict = {} + lastleft = -1 # integrity check + lasttree = -1 # integrity check + for obj in queryset: + parents_dict[obj.pk] = obj + if obj.tree_id == lasttree and obj.lft < lastleft: # integrity check + raise ValueError('Objects passed in the wrong order, must be ordered by the mptt left attribute and tree id') + lastleft = obj.lft # integrity check + lasttree = obj.tree_id # integrity check + # set the '_cached_children' attribute + obj._cached_children = [] + # get the parent of this object (if available) via parent_id + parent = parents_dict.get(obj.parent_id, None) + if parent: + # if there is a parent, append the current object to the _cached_children + # list of the parent. Since the objects are ordered by lft, tree_id + # the _cached_children attribute will always have been set by this + # function already. + parent._cached_children.append(obj) + + class CMSChangeList(ChangeList): ''' Renders a Changelist - In our case it looks like a tree - it's the list of @@ -50,7 +80,6 @@ def get_query_set(self, request=None): self.root_query_set = self.root_query_set.filter(pk__in=permissions) self.real_queryset = True qs = qs.filter(site=self._current_site) - qs = qs.order_by('tree_id', 'parent', 'lft') return qs def is_filtered(self): @@ -75,7 +104,8 @@ def set_items(self, request): site = self._current_site # Get all the pages, ordered by tree ID (it's convenient to build the # tree using a stack now) - pages = self.get_query_set(request).drafts().order_by('tree_id', 'parent', 'lft').select_related() + pages = self.get_query_set(request).drafts().order_by('tree_id', 'lft').select_related() + # Get lists of page IDs for which the current user has # "permission to..." on the current site. @@ -111,13 +141,21 @@ def set_items(self, request): ids = [] root_pages = [] pages = list(pages) - all_pages = pages[:] + all_pages = pages[:] # That is, basically, a copy. try: home_pk = Page.objects.drafts().get_home(self.current_site()).pk except NoHomeFound: - home_pk = 0 + home_pk = 0 + + # Unfortunately we cannot use the MPTT builtin code for pre-caching + # the children here, because MPTT expects the tree to be 'complete' + # and otherwise complaints about 'invalid item order' + cache_tree_children(pages) + for page in pages: - children = [] + + + children = page.get_children() # note: We are using change_list permission here, because we must # display also pages which user must not edit, but he haves a @@ -133,7 +171,7 @@ def set_items(self, request): # caching the permissions page.permission_edit_cache = perm_edit_ids == Page.permissions.GRANT_ALL or page.pk in perm_edit_ids page.permission_publish_cache = perm_publish_ids == Page.permissions.GRANT_ALL or page.pk in perm_publish_ids - page.permission_advanced_settings_cache = perm_publish_ids == Page.permissions.GRANT_ALL or page.pk in perm_advanced_settings_ids + page.permission_advanced_settings_cache = perm_advanced_settings_ids == Page.permissions.GRANT_ALL or page.pk in perm_advanced_settings_ids page.permission_user_cache = request.user if settings.CMS_MODERATOR: @@ -155,6 +193,8 @@ def set_items(self, request): if page.root_node or self.is_filtered(): page.last = True if len(children): + # TODO: WTF!?! + # The last one is not the last... wait, what? children[-1].last = False page.menu_level = 0 root_pages.append(page) @@ -163,10 +203,20 @@ def set_items(self, request): else: page.ancestors_ascending = [] page.home_pk_cache = home_pk - if not self.is_filtered(): - find_children(page, pages, 1000, 1000, [], -1, soft_roots=False, request=request, no_extended=True, to_levels=1000) - else: - page.childrens = [] + + # Because 'children' is the reverse-FK accessor for the 'parent' + # FK from Page->Page, we have to use wrong English here and set + # an attribute called 'childrens'. We are aware that this is WRONG + # but what should we do? + + # If the queryset is filtered, do NOT set the 'childrens' attribute + # since *ALL* pages will be in the 'root_pages' list and therefore + # be displayed. (If the queryset is filtered, the result is not a + # tree but rather a flat list). + if self.is_filtered(): + page.childrens = [] + else: + page.childrens = children # TODO: OPTIMIZE!! titles = Title.objects.filter(page__in=ids) diff --git a/cms/admin/dialog/views.py b/cms/admin/dialog/views.py index 8a7e7361f2e..7da0b3d6b9e 100644 --- a/cms/admin/dialog/views.py +++ b/cms/admin/dialog/views.py @@ -29,7 +29,7 @@ def get_copy_dialog(request, page_id): target = get_object_or_404(Page, pk=request.REQUEST['target']) if not page.has_change_permission(request) or \ - not target.has_add_permission(request): # pragma: no cover + not target.has_add_permission(request): # pragma: no cover raise Http404 context = { diff --git a/cms/admin/forms.py b/cms/admin/forms.py index 2d901479bf9..da3d53e3757 100644 --- a/cms/admin/forms.py +++ b/cms/admin/forms.py @@ -1,11 +1,13 @@ # -*- coding: utf-8 -*- from cms.apphook_pool import apphook_pool from cms.forms.widgets import UserSelectAdminWidget -from cms.models import Page, PagePermission, PageUser, ACCESS_PAGE, \ - PageUserGroup +from cms.models import (Page, PagePermission, PageUser, ACCESS_PAGE, + PageUserGroup) +from cms.utils.mail import mail_page_user_change from cms.utils.page import is_valid_page_slug -from cms.utils.permissions import get_current_user, get_subordinate_users, \ - get_subordinate_groups, mail_page_user_change +from cms.utils.page_resolver import get_page_from_path +from cms.utils.permissions import (get_current_user, get_subordinate_users, + get_subordinate_groups) from cms.utils.urlutils import any_path_re from django import forms from django.conf import settings @@ -21,21 +23,27 @@ from django.utils.translation import ugettext_lazy as _, get_language from menus.menu_pool import menu_pool + + + def get_permission_acessor(obj): if isinstance(obj, (PageUser, User,)): - rel_name = 'user_permissions' + rel_name = 'user_permissions' else: rel_name = 'permissions' return getattr(obj, rel_name) def save_permissions(data, obj): - models = ((Page, 'page'), (PageUser, 'pageuser'), (PageUserGroup, 'pageuser'), (PagePermission, 'pagepermission')) - + models = ( + (Page, 'page'), + (PageUser, 'pageuser'), + (PageUserGroup, 'pageuser'), + (PagePermission, 'pagepermission'), + ) if not obj.pk: # save obj, otherwise we can't assign permissions to him obj.save() permission_acessor = get_permission_acessor(obj) - for model, name in models: content_type = ContentType.objects.get_for_model(model) for t in ('add', 'change', 'delete'): @@ -47,7 +55,6 @@ def save_permissions(data, obj): else: permission_acessor.remove(permission) - class PageAddForm(forms.ModelForm): title = forms.CharField(label=_("Title"), widget=forms.TextInput(), help_text=_('The default title')) @@ -152,7 +159,7 @@ def __init__(self, *args, **kwargs): self.fields['navigation_extenders'].widget = forms.Select({}, [('', "---------")] + menu_pool.get_menus_by_attribute("cms_enabled", True)) if 'application_urls' in self.fields: self.fields['application_urls'].choices = [('', "---------")] + apphook_pool.get_apphooks() - + def clean(self): cleaned_data = super(PageForm, self).clean() if 'reverse_id' in self.fields: @@ -169,34 +176,28 @@ def clean_overwrite_url(self): if url: if not any_path_re.match(url): raise forms.ValidationError(_('Invalid URL, use /my/url format.')) + page = get_page_from_path(url.strip('/')) + if page and page.pk != self.instance.pk: + raise forms.ValidationError(_('Page with redirect url %r already exist') % url) return url - class PagePermissionInlineAdminForm(forms.ModelForm): - """Page permission inline admin form used in inline admin. Required, because + """ + Page permission inline admin form used in inline admin. Required, because user and group queryset must be changed. User can see only users on the same level or under him in choosen page tree, and users which were created by him, but aren't assigned to higher page level than current user. """ - user = forms.ModelChoiceField('user', label=_('user'), widget=UserSelectAdminWidget, required=False) page = forms.ModelChoiceField(Page, label=_('user'), widget=HiddenInput(), required=True) - def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, - initial=None, error_class=ErrorList, label_suffix=':', - empty_permitted=False, instance=None): - - super(PagePermissionInlineAdminForm, self).__init__(data, files, - auto_id, prefix, initial, error_class, label_suffix, empty_permitted, - instance) - + def __init__(self, *args, **kwargs): + super(PagePermissionInlineAdminForm, self).__init__(*args, **kwargs) user = get_current_user() # current user from threadlocals - self.fields['user'].queryset = get_subordinate_users(user) self.fields['user'].widget.user = user # assign current user self.fields['group'].queryset = get_subordinate_groups(user) - - + def clean(self): super(PagePermissionInlineAdminForm, self).clean() for field in self.Meta.model._meta.fields: @@ -212,33 +213,47 @@ def clean(self): # this is a missconfiguration - user can add/move page to current # page but after he does this, he will not have permissions to # access this page anymore, so avoid this - raise forms.ValidationError(_('Add page permission requires also access to children, or descendants, otherwise added page can\'t be changed by its creator.')) + raise forms.ValidationError(_("Add page permission requires also " + "access to children, or descendants, otherwise added page " + "can't be changed by its creator.")) if can_add and not can_edit: raise forms.ValidationError(_('Add page permission also requires edit page permission.')) # TODO: finish this, but is it really required? might be nice to have - # check if permissions assigned in cms are correct, and display an message - # if not - correctness mean: if user has add permisson to page, but he - # does'nt have auth permissions to add page object, display warning + # check if permissions assigned in cms are correct, and display + # a message if not - correctness mean: if user has add permisson to + # page, but he does'nt have auth permissions to add page object, + # display warning return self.cleaned_data def save(self, commit=True): - """Boolean fields lacks, if they aren't available in the form, they are - taking default value, but we actually wan't false for them. - """ + """ + Makes sure the boolean fields are set to False if they aren't + available in the form. + """ instance = super(PagePermissionInlineAdminForm, self).save(commit=False) - for field in self.Meta.model._meta.fields: - if not isinstance(field, BooleanField) or not field.name.startswith('can_'): - continue - name = field.name - setattr(instance, name, self.cleaned_data.get(name, False)) + for field in self._meta.model._meta.fields: + if isinstance(field, BooleanField) and field.name.startswith('can_'): + setattr(instance, field.name, self.cleaned_data.get(field.name, False)) if commit: instance.save() return instance + class Meta: + model = PagePermission + + +class ViewRestrictionInlineAdminForm(PagePermissionInlineAdminForm): + can_view = forms.BooleanField(label=_('can_view'), widget=HiddenInput(), initial=True) + + def clean_can_view(self): + self.cleaned_data["can_view"] = True + return self.cleaned_data + class GlobalPagePermissionAdminForm(forms.ModelForm): + def clean(self): super(GlobalPagePermissionAdminForm, self).clean() if not self.cleaned_data['user'] and not self.cleaned_data['group']: @@ -254,8 +269,8 @@ class GenericCmsPermissionForm(forms.ModelForm): can_delete_page = forms.BooleanField(label=_('Delete'), required=False) can_recover_page = forms.BooleanField(label=_('Recover (any) pages'), required=False) - # pageuser is for pageuser & group - they are combined together, and readed out - # from PageUser model + # pageuser is for pageuser & group - they are combined together, + # and read out from PageUser model can_add_pageuser = forms.BooleanField(label=_('Add'), required=False) can_change_pageuser = forms.BooleanField(label=_('Change'), required=False) can_delete_pageuser = forms.BooleanField(label=_('Delete'), required=False) @@ -268,29 +283,16 @@ def populate_initials(self, obj): """Read out permissions from permission system. """ initials = {} - models = (Page, PageUser, PagePermission) - """ - for model in models: - name = model.__name__.lower() - for t in ('add', 'change', 'delete'): - codename = getattr(model._meta, 'get_%s_permission' % t)() - initials['can_%s_%s' % (t, name)] = obj.has_perm('%s.%s' % (model._meta.app_label, codename)) - return initials - """ permission_acessor = get_permission_acessor(obj) - for model in models: + for model in (Page, PageUser, PagePermission): name = model.__name__.lower() content_type = ContentType.objects.get_for_model(model) permissions = permission_acessor.filter(content_type=content_type).values_list('codename', flat=True) for t in ('add', 'change', 'delete'): codename = getattr(model._meta, 'get_%s_permission' % t)() - initials['can_%s_%s' % (t, name)] = codename in permissions + initials['can_%s_%s' % (t, name)] = codename in permissions return initials - def save_permissions(self, obj): - save_permissions(self.cleaned_data, obj) - - class PageUserForm(UserCreationForm, GenericCmsPermissionForm): notify_user = forms.BooleanField(label=_('Notify user'), required=False, help_text=_('Send email notification to user about username or password change. Requires user email.')) @@ -329,7 +331,7 @@ def clean_password2(self): self._password_change = False return u'' return super(PageUserForm, self).clean_password2() - + def clean(self): cleaned_data = super(PageUserForm, self).clean() notify_user = self.cleaned_data['notify_user'] @@ -342,7 +344,7 @@ def clean(self): if self.cleaned_data['can_add_pagepermission'] and not self.cleaned_data['can_change_pagepermission']: raise forms.ValidationError(_("To add permissions you also need to edit them!")) return cleaned_data - + def save(self, commit=True): """Create user, assign him to staff users, and create permissions for him if required. Also assigns creator to user. @@ -358,12 +360,9 @@ def save(self, commit=True): user.created_by = get_current_user() if commit: user.save() - save_permissions(self.cleaned_data, user) - if self.cleaned_data['notify_user']: mail_page_user_change(user, created, self.cleaned_data['password1']) - return user @@ -395,6 +394,6 @@ def save(self, commit=True): if commit: group.save() - self.save_permissions(group) + save_permissions(self.cleaned_data, group) return group diff --git a/cms/admin/pageadmin.py b/cms/admin/pageadmin.py index a14ae9f217f..9a114fcf133 100644 --- a/cms/admin/pageadmin.py +++ b/cms/admin/pageadmin.py @@ -2,31 +2,21 @@ from cms.admin.change_list import CMSChangeList from cms.admin.dialog.views import get_copy_dialog from cms.admin.forms import PageForm, PageAddForm -from cms.admin.permissionadmin import PAGE_ADMIN_INLINES, \ - PagePermissionInlineAdmin +from cms.admin.permissionadmin import (PAGE_ADMIN_INLINES, + PagePermissionInlineAdmin, ViewRestrictionInlineAdmin) from cms.admin.views import revert_plugins from cms.apphook_pool import apphook_pool from cms.exceptions import NoPermissionsException from cms.forms.widgets import PluginEditor -from cms.models import Page, Title, CMSPlugin, PagePermission, \ - PageModeratorState, EmptyTitle, GlobalPagePermission +from cms.models import (Page, Title, CMSPlugin, PagePermission, + PageModeratorState, EmptyTitle, GlobalPagePermission) from cms.models.managers import PagePermissionsPermissionManager -from cms.models.moderatormodels import MASK_PAGE, MASK_CHILDREN, \ - MASK_DESCENDANTS from cms.models.placeholdermodel import Placeholder from cms.plugin_pool import plugin_pool -from cms.utils import get_template_from_request, get_language_from_request -from cms.utils.admin import render_admin_menu_item -from cms.utils.copy_plugins import copy_plugins_to -from cms.utils.helpers import make_revision_with_plugins -from cms.utils.moderator import update_moderation_message, \ - get_test_moderation_level, moderator_should_approve, approve_page, \ - will_require_moderation -from cms.utils.permissions import has_page_add_permission, \ - has_page_change_permission, get_user_permission_level, \ - has_global_change_permissions_permission -from cms.utils.placeholder import get_page_from_placeholder_if_exists -from cms.utils.plugins import get_placeholders, get_page_from_plugin_or_404 +from cms.utils import (copy_plugins, helpers, moderator, permissions, plugins, + get_template_from_request, get_language_from_request, + placeholder as placeholder_utils, admin as admin_utils, cms_static_url) +from cms.utils.permissions import has_plugin_permission from copy import deepcopy from django import template from django.conf import settings @@ -37,53 +27,49 @@ from django.core.exceptions import PermissionDenied, ObjectDoesNotExist from django.core.urlresolvers import reverse from django.db import transaction, models -from django.forms import Widget, Textarea, CharField -from django.http import HttpResponseRedirect, HttpResponse, Http404, \ - HttpResponseBadRequest, HttpResponseForbidden, HttpResponseNotAllowed +from django.forms import CharField +from django.http import (HttpResponseRedirect, HttpResponse, Http404, + HttpResponseBadRequest, HttpResponseForbidden, HttpResponseNotAllowed) from django.shortcuts import render_to_response, get_object_or_404 from django.template.context import RequestContext -from django.template.defaultfilters import title, escape, force_escape, escapejs +from django.template.defaultfilters import (title, escape, force_escape, + escapejs) from django.utils.encoding import force_unicode -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext, ugettext_lazy as _ from menus.menu_pool import menu_pool -import os +import django +import inspect -model_admin = admin.ModelAdmin -create_on_success = lambda x: x + + +# silly hack to test features/ fixme +if inspect.getargspec(get_deleted_objects)[0][-1] == 'using': + from django.db import router +else: + router = False if 'reversion' in settings.INSTALLED_APPS: import reversion - from reversion.admin import VersionAdmin - model_admin = VersionAdmin - + from reversion.admin import VersionAdmin as ModelAdmin create_on_success = reversion.revision.create_on_success +else: # pragma: no cover + from django.contrib.admin import ModelAdmin + create_on_success = lambda x: x -class PageAdmin(model_admin): - form = PageForm - list_filter = ['published', 'in_navigation', 'template', 'changed_by'] - # TODO: add the new equivalent of 'cmsplugin__text__body' to search_fields' - search_fields = ('title_set__slug', 'title_set__title', 'reverse_id') - revision_form_template = "admin/cms/page/revision_form.html" - recover_form_template = "admin/cms/page/recover_form.html" - exclude = [] - mandatory_placeholders = ('title', 'slug', 'parent', 'site', 'meta_description', 'meta_keywords', 'page_title', 'menu_title') - top_fields = [] - general_fields = ['title', 'slug', ('published', 'in_navigation')] - add_general_fields = ['title', 'slug', 'language', 'template'] - if settings.CMS_DBGETTEXT: - # no need to select language for page - add_general_fields.remove('language') +def contribute_fieldsets(cls): + if settings.CMS_MENU_TITLE_OVERWRITE: + general_fields = [('title', 'menu_title')] + else: + general_fields = ['title'] + general_fields += ['slug', ('published', 'in_navigation')] + additional_hidden_fields = [] advanced_fields = ['reverse_id', 'overwrite_url', 'redirect', 'login_required', 'limit_visibility_in_menu'] template_fields = ['template'] - change_list_template = "admin/cms/page/change_list.html" hidden_fields = ['site', 'parent'] - additional_hidden_fields = [] - if settings.CMS_MODERATOR: - list_filter.append('moderator_state') + seo_fields = [] if settings.CMS_SOFTROOT: advanced_fields.append('soft_root') - list_filter.append('soft_root') if settings.CMS_SHOW_START_DATE and settings.CMS_SHOW_END_DATE: general_fields.append(('publication_date', 'publication_end_date')) elif settings.CMS_SHOW_START_DATE: @@ -91,11 +77,9 @@ class PageAdmin(model_admin): elif settings.CMS_SHOW_END_DATE: general_fields.append( 'publication_end_date') if settings.CMS_MODERATOR: - additional_hidden_fields.extend(('moderator_state', 'moderator_message')) + additional_hidden_fields += ['moderator_state', 'moderator_message'] if settings.CMS_SEO_FIELDS: - seo_fields = ('page_title', 'meta_description', 'meta_keywords') - if settings.CMS_MENU_TITLE_OVERWRITE: - general_fields[0] = ('title', 'menu_title') + seo_fields = ['page_title', 'meta_description', 'meta_keywords'] if not settings.CMS_URL_OVERWRITE: advanced_fields.remove("overwrite_url") if not settings.CMS_REDIRECTS: @@ -105,26 +89,13 @@ class PageAdmin(model_admin): if apphook_pool.get_apphooks(): advanced_fields.append("application_urls") - # take care with changing fieldsets, get_fieldsets() method removes some - # fields depending on permissions, but its very static!! - add_fieldsets = [ - (None, { - 'fields': add_general_fields, - 'classes': ('general',), - }), - (_('Hidden'), { - 'fields': hidden_fields, - 'classes': ('hidden',), - }), - ] - fieldsets = [ (None, { 'fields': general_fields, 'classes': ('general',), }), (_('Basic Settings'), { - 'fields': top_fields + template_fields, + 'fields': template_fields, 'classes': ('low',), 'description': _('Note: This page reloads if you change the selection. Save it first.'), }), @@ -136,34 +107,74 @@ class PageAdmin(model_admin): 'fields': advanced_fields, 'classes': ('collapse',), }), - - ] if settings.CMS_SEO_FIELDS: fieldsets.append((_("SEO Settings"), { - 'fields':seo_fields, + 'fields': seo_fields, 'classes': ('collapse',), })) + setattr(cls, 'fieldsets', fieldsets) + setattr(cls, 'advanced_fields', advanced_fields) + setattr(cls, 'hidden_fields', hidden_fields) + setattr(cls, 'general_fields', general_fields) + setattr(cls, 'template_fields', template_fields) + setattr(cls, 'additional_hidden_fields', additional_hidden_fields) + setattr(cls, 'seo_fields', seo_fields) + + +def contribute_list_filter(cls): + list_filter = ['published', 'in_navigation', 'template', 'changed_by'] + if settings.CMS_MODERATOR: + list_filter.append('moderator_state') + if settings.CMS_SOFTROOT: + list_filter.append('soft_root') + setattr(cls, 'list_filter', list_filter) + + +class PageAdmin(ModelAdmin): + form = PageForm + # TODO: add the new equivalent of 'cmsplugin__text__body' to search_fields' + search_fields = ('title_set__slug', 'title_set__title', 'reverse_id') + revision_form_template = "admin/cms/page/revision_form.html" + recover_form_template = "admin/cms/page/recover_form.html" + + exclude = [] + mandatory_placeholders = ('title', 'slug', 'parent', 'site', 'meta_description', 'meta_keywords', 'page_title', 'menu_title') + add_general_fields = ['title', 'slug', 'language', 'template'] + change_list_template = "admin/cms/page/change_list.html" + + # take care with changing fieldsets, get_fieldsets() method removes some + # fields depending on permissions, but its very static!! + add_fieldsets = [ + (None, { + 'fields': add_general_fields, + 'classes': ('general',), + }), + (_('Hidden'), { + 'fields': ['site', 'parent'], + 'classes': ('hidden',), + }), + ] inlines = PAGE_ADMIN_INLINES class Media: css = { - 'all': [os.path.join(settings.CMS_MEDIA_URL, path) for path in ( + 'all': [cms_static_url(path) for path in ( 'css/rte.css', 'css/pages.css', 'css/change_form.css', 'css/jquery.dialog.css', )] } - js = [os.path.join(settings.CMS_MEDIA_URL, path) for path in ( - 'js/lib/jquery.js', - 'js/lib/jquery.query.js', - 'js/lib/ui.core.js', - 'js/lib/ui.dialog.js', - - )] + js = ['%sjs/jquery.min.js' % settings.ADMIN_MEDIA_PREFIX] + [cms_static_url(path) for path in [ + 'js/plugins/admincompat.js', + 'js/libs/jquery.query.js', + 'js/libs/jquery.ui.core.js', + 'js/libs/jquery.ui.dialog.js', + ] + ] def get_urls(self): @@ -221,7 +232,7 @@ def save_model(self, request, obj, form, change): obj.tree_id = 0 obj.level = 0 obj.pk = None - obj.insert_at(parent, commit=False) + obj.insert_at(parent, save=False) obj.pk = pk obj.save(no_signals=True) obj.save() @@ -235,7 +246,7 @@ def save_model(self, request, obj, form, change): obj.lft = old_obj.lft obj.tree_id = old_obj.tree_id force_with_moderation = target is not None and position is not None and \ - will_require_moderation(target, position) + moderator.will_require_moderation(target, position) obj.save(force_with_moderation=force_with_moderation) @@ -266,10 +277,10 @@ def save_model(self, request, obj, form, change): # is there any moderation message? save/update state if settings.CMS_MODERATOR and 'moderator_message' in form.cleaned_data and \ form.cleaned_data['moderator_message']: - update_moderation_message(obj, form.cleaned_data['moderator_message']) + moderator.update_moderation_message(obj, form.cleaned_data['moderator_message']) if obj and "reversion" in settings.INSTALLED_APPS: - make_revision_with_plugins(obj) + helpers.make_revision_with_plugins(obj) @create_on_success def change_template(self, request, object_id): @@ -280,23 +291,12 @@ def change_template(self, request, object_id): page.template = to_template page.save() if "reversion" in settings.INSTALLED_APPS: - make_revision_with_plugins(page) + helpers.make_revision_with_plugins(page) return HttpResponse(str("ok")) else: return HttpResponseBadRequest("template not valid") else: - return HttpResponseForbidden() - - def get_parent(self, request): - target = request.GET.get('target', None) - position = request.GET.get('position', None) - parent = None - if target: - if position == "first_child": - parent = Page.objects.get(pk=target) - else: - parent = Page.objects.get(pk=target).parent - return parent + return HttpResponseForbidden(_("You have no permission to change the template")) def get_fieldsets(self, request, obj=None): """ @@ -311,14 +311,9 @@ def get_fieldsets(self, request, obj=None): l = list(given_fieldsets[0][1]['fields'][2]) l.remove('published') given_fieldsets[0][1]['fields'][2] = tuple(l) - for placeholder_name in sorted(get_placeholders(placeholders_template)): - name = settings.CMS_PLACEHOLDER_CONF.get("%s %s" % (obj.template, placeholder_name), {}).get("name", None) - if not name: - name = settings.CMS_PLACEHOLDER_CONF.get(placeholder_name, {}).get("name", None) - if not name: - name = placeholder_name - else: - name = _(name) + for placeholder_name in self.get_fieldset_placeholders(placeholders_template): + name = placeholder_utils.get_placeholder_conf("name", placeholder_name, obj.template, placeholder_name) + name = _(name) given_fieldsets += [(title(name), {'fields':[placeholder_name], 'classes':['plugin-holder']})] advanced = given_fieldsets.pop(3) if obj.has_advanced_settings_permission(request): @@ -330,6 +325,9 @@ def get_fieldsets(self, request, obj=None): given_fieldsets = deepcopy(self.add_fieldsets) return given_fieldsets + + def get_fieldset_placeholders(self, template): + return plugins.get_placeholders(template) def get_form(self, request, obj=None, **kwargs): """ @@ -384,8 +382,8 @@ def get_form(self, request, obj=None, **kwargs): template_choices = list(settings.CMS_TEMPLATES) form.base_fields['template'].choices = template_choices form.base_fields['template'].initial = force_unicode(selected_template) - - placeholders = get_placeholders(selected_template) + + placeholders = plugins.get_placeholders(selected_template) for placeholder_name in placeholders: plugin_list = [] show_copy = False @@ -395,7 +393,7 @@ def get_form(self, request, obj=None, **kwargs): version = get_object_or_404(Version, pk=version_id) installed_plugins = plugin_pool.get_all_plugins() plugin_list = [] - plugins = [] + actual_plugins = [] bases = {} revs = [] for related_version in version.revision.version_set.all(): @@ -421,8 +419,8 @@ def get_form(self, request, obj=None, **kwargs): else: bases[int(pobj.pk)] = pobj if hasattr(pobj, "cmsplugin_ptr_id"): - plugins.append(pobj) - for plugin in plugins: + actual_plugins.append(pobj) + for plugin in actual_plugins: if int(plugin.cmsplugin_ptr_id) in bases: bases[int(plugin.cmsplugin_ptr_id)].placeholder = placeholder bases[int(plugin.cmsplugin_ptr_id)].set_base_attr(plugin) @@ -438,13 +436,13 @@ def get_form(self, request, obj=None, **kwargs): copy_languages[plugin.language] = dict_cms_languages[plugin.language] language = get_language_from_request(request, obj) - if copy_languages and not settings.CMS_DBGETTEXT and len(settings.CMS_LANGUAGES) > 1: + if copy_languages and len(settings.CMS_LANGUAGES) > 1: show_copy = True widget = PluginEditor(attrs={ 'installed': installed_plugins, 'list': plugin_list, 'copy_languages': copy_languages.items(), - 'show_copy':show_copy, + 'show_copy': show_copy, 'language': language, 'placeholder': placeholder }) @@ -464,33 +462,24 @@ def get_form(self, request, obj=None, **kwargs): def get_formsets(self, request, obj=None): if obj: for inline in self.inline_instances: - if settings.CMS_PERMISSION and isinstance(inline, PagePermissionInlineAdmin): + if settings.CMS_PERMISSION and isinstance(inline, PagePermissionInlineAdmin) and not isinstance(inline, ViewRestrictionInlineAdmin): if "recover" in request.path or "history" in request.path: #do not display permissions in recover mode continue if obj and not obj.has_change_permissions_permission(request): continue elif not obj: try: - get_user_permission_level(request.user) + permissions.get_user_permission_level(request.user) except NoPermissionsException: continue yield inline.get_formset(request, obj) - - def get_widget(self, request, page, lang, name): - """ - Given the request and name of a placeholder return a PluginEditor Widget - """ - installed_plugins = plugin_pool.get_all_plugins(name, page) - widget = PluginEditor(installed=installed_plugins) - if not isinstance(widget(), Widget): - widget = Textarea - return widget - def add_view(self, request, form_url='', extra_context=None): extra_context = extra_context or {} if settings.CMS_MODERATOR and 'target' in request.GET and 'position' in request.GET: - moderation_required = will_require_moderation(request.GET['target'], request.GET['position']) + moderation_required = moderator.will_require_moderation( + request.GET['target'], request.GET['position'] + ) extra_context.update({ 'moderation_required': moderation_required, 'moderation_level': _('higher'), @@ -515,7 +504,7 @@ def change_view(self, request, object_id, extra_context=None): obj = None else: selected_template = get_template_from_request(request, obj) - moderation_level, moderation_required = get_test_moderation_level(obj, request.user) + moderation_level, moderation_required = moderator.get_test_moderation_level(obj, request.user) # if there is a delete request for this page moderation_delete_request = (settings.CMS_MODERATOR and @@ -525,7 +514,7 @@ def change_view(self, request, object_id, extra_context=None): #activate(user_lang_set) extra_context = { - 'placeholders': get_placeholders(selected_template), + 'placeholders': plugins.get_placeholders(selected_template), 'page': obj, 'CMS_PERMISSION': settings.CMS_PERMISSION, 'CMS_MODERATOR': settings.CMS_MODERATOR, @@ -534,7 +523,7 @@ def change_view(self, request, object_id, extra_context=None): 'has_moderate_permission': obj.has_moderate_permission(request), 'moderation_level': moderation_level, 'moderation_required': moderation_required, - 'moderator_should_approve': moderator_should_approve(request, obj), + 'moderator_should_approve': moderator.moderator_should_approve(request, obj), 'moderation_delete_request': moderation_delete_request, 'show_delete_translation': len(obj.get_languages()) > 1, 'current_site_id': settings.SITE_ID, @@ -580,12 +569,10 @@ def update_language_tab_context(self, request, obj, context=None): context.update({ 'language': language, 'language_tabs': languages, - 'show_language_tabs': len(languages) > 1 and \ - not settings.CMS_DBGETTEXT, + 'show_language_tabs': len(languages) > 1, }) return context - def response_change(self, request, obj): """Called always when page gets changed, call save on page, there may be some new stuff, which should be published after all other objects on page @@ -602,7 +589,7 @@ def has_add_permission(self, request): Return true if the current user has permission to add a new page. """ if settings.CMS_PERMISSION: - return has_page_add_permission(request) + return permissions.has_page_add_permission(request) return super(PageAdmin, self).has_add_permission(request) def has_change_permission(self, request, obj=None): @@ -614,7 +601,7 @@ def has_change_permission(self, request, obj=None): if obj: return obj.has_change_permission(request) else: - return has_page_change_permission(request) + return permissions.has_page_change_permission(request) return super(PageAdmin, self).has_change_permission(request, obj) def has_delete_permission(self, request, obj=None): @@ -748,24 +735,6 @@ def render_revision_form(self, request, obj, version, context, revert=False, rec return super(PageAdmin, self).render_revision_form(request, obj, version, context, revert, recover) - def list_pages(self, request, template_name=None, extra_context=None): - """ - List root pages - """ - # HACK: overrides the changelist template and later resets it to None - - if template_name: - self.change_list_template = template_name - context = { - 'name': _("page"), - - 'pages': Page.objects.all_root().order_by("tree_id"), - } - context.update(extra_context or {}) - change_list = self.changelist_view(request, context) - self.change_list_template = None - return change_list - @transaction.commit_on_success def move_page(self, request, page_id, extra_context=None): """ @@ -791,9 +760,9 @@ def move_page(self, request, page_id, extra_context=None): page.move_page(target, position) if "reversion" in settings.INSTALLED_APPS: - make_revision_with_plugins(page) + helpers.make_revision_with_plugins(page) - return render_admin_menu_item(request, page) + return admin_utils.render_admin_menu_item(request, page) def get_permissions(self, request, page_id): page = get_object_or_404(Page, id=page_id) @@ -802,13 +771,13 @@ def get_permissions(self, request, page_id): global_page_permissions = GlobalPagePermission.objects.filter(sites__in=[page.site_id]) page_permissions = PagePermission.objects.for_page(page) - permissions = list(global_page_permissions) + list(page_permissions) + all_permissions = list(global_page_permissions) + list(page_permissions) # does he can change global permissions ? - has_global = has_global_change_permissions_permission(request.user) + has_global = permissions.has_global_change_permissions_permission(request.user) permission_set = [] - for permission in permissions: + for permission in all_permissions: if isinstance(permission, GlobalPagePermission): if has_global: permission_set.append([(True, True), permission]) @@ -841,7 +810,7 @@ def copy_page(self, request, page_id, extra_context=None): if target is not None and position is not None and site is not None: try: target = self.model.objects.get(pk=target) - # does he haves permissions to copy this page under target? + # does he have permissions to copy this page under target? assert target.has_add_permission(request) site = Site.objects.get(pk=site) except (ObjectDoesNotExist, AssertionError): @@ -850,12 +819,10 @@ def copy_page(self, request, page_id, extra_context=None): else: kwargs = { 'copy_permissions': request.REQUEST.get('copy_permissions', False), - 'copy_moderation': request.REQUEST.get('copy_moderation', False) + 'copy_moderation': request.REQUEST.get('copy_moderation', False), } page.copy_page(target, site, position, **kwargs) return HttpResponse("ok") - #return self.list_pages(request, - # template_name='admin/cms/page/change_list_tree.html') context.update(extra_context or {}) return HttpResponseRedirect('../../') @@ -881,7 +848,7 @@ def approve_page(self, request, page_id): if not page.has_moderate_permission(request): raise Http404() - approve_page(request, page) + moderator.approve_page(request, page) # Django SQLite bug. Does not convert to string the lazy instances from django.utils.translation import ugettext as _ @@ -889,7 +856,7 @@ def approve_page(self, request, page_id): if 'node' in request.REQUEST: # if request comes from tree.. - return render_admin_menu_item(request, page) + return admin_utils.render_admin_menu_item(request, page) referer = request.META.get('HTTP_REFERER', reverse('admin:cms_page_changelist')) path = '../../' if 'admin' not in referer: @@ -904,8 +871,9 @@ def publish_page(self, request, page_id): if not page.has_moderate_permission(request): return HttpResponseForbidden("Denied") page.publish() - referer = request.META['HTTP_REFERER'] + referer = request.META.get('HTTP_REFERER', '') path = '../../' + # TODO: use admin base here! if 'admin' not in referer: path = '%s?edit-off' % referer.split('?')[0] return HttpResponseRedirect( path ) @@ -955,31 +923,57 @@ def delete_translation(self, request, object_id, extra_context=None): raise PermissionDenied if obj is None: - raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_unicode(opts.verbose_name), 'key': escape(object_id)}) + raise Http404( + _('%(name)s object with primary key %(key)r does not exist.') % { + 'name': force_unicode(opts.verbose_name), + 'key': escape(object_id) + }) if not len(obj.get_languages()) > 1: raise Http404(_('There only exists one translation for this page')) titleobj = get_object_or_404(Title, page__id=object_id, language=language) - plugins = CMSPlugin.objects.filter(placeholder__page__id=object_id, language=language) + saved_plugins = CMSPlugin.objects.filter(placeholder__page__id=object_id, language=language) - deleted_objects, perms_needed = get_deleted_objects([titleobj], titleopts, request.user, self.admin_site) - to_delete_plugins, perms_needed_plugins = get_deleted_objects(plugins, pluginopts, request.user, self.admin_site) + if django.VERSION[1] > 2: # pragma: no cover + # WARNING: Django 1.3 is not officially supported yet! + using = router.db_for_read(self.model) + kwargs = { + 'admin_site': self.admin_site, + 'user': request.user, + 'using': using + } + else: + kwargs = { + 'admin_site': self.admin_site, + 'user': request.user, + } + deleted_objects, perms_needed = get_deleted_objects( + [titleobj], + titleopts, + **kwargs + )[:2] + to_delete_plugins, perms_needed_plugins = get_deleted_objects( + saved_plugins, + pluginopts, + **kwargs + )[:2] + deleted_objects.append(to_delete_plugins) perms_needed = set( list(perms_needed) + list(perms_needed_plugins) ) - if request.method == 'POST': if perms_needed: raise PermissionDenied message = _('Title and plugins with language %(language)s was deleted') % { - 'language': [name for code, name in settings.CMS_LANGUAGES if code == language][0]} + 'language': [name for code, name in settings.CMS_LANGUAGES if code == language][0] + } self.log_change(request, titleobj, message) self.message_user(request, message) titleobj.delete() - for p in plugins: + for p in saved_plugins: p.delete() public = obj.publisher_public @@ -987,7 +981,7 @@ def delete_translation(self, request, object_id, extra_context=None): public.save() if "reversion" in settings.INSTALLED_APPS: - make_revision_with_plugins(obj) + helpers.make_revision_with_plugins(obj) if not self.has_change_permission(request, None): return HttpResponseRedirect("../../../../") @@ -1025,21 +1019,22 @@ def remove_delete_state(self, request, object_id): def preview_page(self, request, object_id): """Redirecting preview function based on draft_id """ - instance = page = get_object_or_404(Page, id=object_id) + page = get_object_or_404(Page, id=object_id) attrs = "?preview=1" if request.REQUEST.get('public', None): if not page.publisher_public_id: raise Http404 - instance = page.publisher_public + page = page.publisher_public else: attrs += "&draft=1" - url = instance.get_absolute_url() + attrs + url = page.get_absolute_url() + attrs site = Site.objects.get_current() - if not site == instance.site: - url = "http://%s%s" % (instance.site.domain, url) + if not site == page.site: + url = "http%s://%s%s" % ('s' if request.is_secure() else '', + page.site.domain, url) return HttpResponseRedirect(url) def change_status(self, request, page_id): @@ -1052,7 +1047,7 @@ def change_status(self, request, page_id): if page.has_publish_permission(request): page.published = not page.published page.save() - return render_admin_menu_item(request, page) + return admin_utils.render_admin_menu_item(request, page) else: return HttpResponseForbidden(unicode(_("You do not have permission to publish this page"))) @@ -1060,16 +1055,14 @@ def change_innavigation(self, request, page_id): """ Switch the in_navigation of a page """ + # why require post and still have page id in the URL??? if request.method != 'POST': return HttpResponseNotAllowed page = get_object_or_404(Page, pk=page_id) if page.has_change_permission(request): - if page.in_navigation: - page.in_navigation = False - else: - page.in_navigation = True + page.in_navigation = not page.in_navigation page.save(force_state=Page.MODERATOR_NEED_APPROVEMENT) - return render_admin_menu_item(request, page) + return admin_utils.render_admin_menu_item(request, page) return HttpResponseForbidden(_("You do not have permission to change this page's in_navigation status")) @create_on_success @@ -1079,112 +1072,118 @@ def add_plugin(self, request): ''' if 'history' in request.path or 'recover' in request.path: return HttpResponse(str("error")) - if request.method == "POST": - plugin_type = request.POST['plugin_type'] - placeholder_id = request.POST.get('placeholder', None) - parent_id = request.POST.get('parent_id', None) - if placeholder_id: - placeholder = get_object_or_404(Placeholder, pk=placeholder_id) - page = get_page_from_placeholder_if_exists(placeholder) - else: - placeholder = None - page = None - parent = None - # page add-plugin - if page: - language = request.POST['language'] or get_language_from_request(request) - position = CMSPlugin.objects.filter(language=language, placeholder=placeholder).count() - limits = settings.CMS_PLACEHOLDER_CONF.get("%s %s" % (page.get_template(), placeholder.slot), {}).get('limits', None) - if not limits: - limits = settings.CMS_PLACEHOLDER_CONF.get(placeholder.slot, {}).get('limits', None) - if limits: - global_limit = limits.get("global") - type_limit = limits.get(plugin_type) - if global_limit and position >= global_limit: - return HttpResponseBadRequest("This placeholder already has the maximum number of plugins") - elif type_limit: - type_count = CMSPlugin.objects.filter(language=language, placeholder=placeholder, plugin_type=plugin_type).count() - if type_count >= type_limit: - return HttpResponseBadRequest("This placeholder already has the maximum number allowed %s plugins.'%s'" % plugin_type) - # in-plugin add-plugin - elif parent_id: - parent = get_object_or_404(CMSPlugin, pk=parent_id) - placeholder = parent.placeholder - page = get_page_from_placeholder_if_exists(placeholder) - if not page: # Make sure we do have a page - raise Http404 - language = parent.language - position = None - # placeholder (non-page) add-plugin - else: - # do NOT allow non-page placeholders to use this method, they - # should use their respective admin! - raise Http404 - - if not page.has_change_permission(request): - # we raise a 404 instead of 403 for a slightly improved security - # and to be consistent with placeholder admin + if request.method != "POST": + raise Http404 + plugin_type = request.POST['plugin_type'] + if not has_plugin_permission(request.user, plugin_type, "add"): + return HttpResponseForbidden(ugettext('You have no permission to add a plugin')) + placeholder_id = request.POST.get('placeholder', None) + parent_id = request.POST.get('parent_id', None) + if placeholder_id: + placeholder = get_object_or_404(Placeholder, pk=placeholder_id) + page = placeholder_utils.get_page_from_placeholder_if_exists(placeholder) + else: + placeholder = None + page = None + parent = None + # page add-plugin + if page: + language = request.POST['language'] or get_language_from_request(request) + position = CMSPlugin.objects.filter(language=language, placeholder=placeholder).count() + limits = placeholder_utils.get_placeholder_conf("limits", placeholder.slot, page.get_template()) + if limits: + global_limit = limits.get("global") + type_limit = limits.get(plugin_type) + if global_limit and position >= global_limit: + return HttpResponseBadRequest("This placeholder already has the maximum number of plugins") + elif type_limit: + type_count = CMSPlugin.objects.filter(language=language, placeholder=placeholder, plugin_type=plugin_type).count() + if type_count >= type_limit: + plugin_name = unicode(plugin_pool.get_plugin(plugin_type).name) + return HttpResponseBadRequest("This placeholder already has the maximum number allowed of %s plugins." % plugin_name) + # in-plugin add-plugin + elif parent_id: + parent = get_object_or_404(CMSPlugin, pk=parent_id) + placeholder = parent.placeholder + page = placeholder_utils.get_page_from_placeholder_if_exists(placeholder) + if not page: # Make sure we do have a page raise Http404 + language = parent.language + position = None + # placeholder (non-page) add-plugin + else: + # do NOT allow non-page placeholders to use this method, they + # should use their respective admin! + raise Http404 - # Sanity check to make sure we're not getting bogus values from JavaScript: - if not language or not language in [ l[0] for l in settings.LANGUAGES ]: - return HttpResponseBadRequest(unicode(_("Language must be set to a supported language!"))) + if not page.has_change_permission(request): + # we raise a 404 instead of 403 for a slightly improved security + # and to be consistent with placeholder admin + raise Http404 - plugin = CMSPlugin(language=language, plugin_type=plugin_type, position=position, placeholder=placeholder) + # Sanity check to make sure we're not getting bogus values from JavaScript: + if not language or not language in [ l[0] for l in settings.LANGUAGES ]: + return HttpResponseBadRequest(ugettext("Language must be set to a supported language!")) - if parent: - plugin.parent = parent - plugin.save() - - if 'reversion' in settings.INSTALLED_APPS and page: - make_revision_with_plugins(page) - reversion.revision.user = request.user - plugin_name = unicode(plugin_pool.get_plugin(plugin_type).name) - reversion.revision.comment = unicode(_(u"%(plugin_name)s plugin added to %(placeholder)s") % {'plugin_name':plugin_name, 'placeholder':placeholder}) - - return HttpResponse(str(plugin.pk)) - raise Http404 + plugin = CMSPlugin(language=language, plugin_type=plugin_type, position=position, placeholder=placeholder) + + if parent: + plugin.parent = parent + plugin.save() + + if 'reversion' in settings.INSTALLED_APPS and page: + helpers.make_revision_with_plugins(page) + reversion.revision.user = request.user + plugin_name = unicode(plugin_pool.get_plugin(plugin_type).name) + reversion.revision.comment = unicode(_(u"%(plugin_name)s plugin added to %(placeholder)s") % {'plugin_name':plugin_name, 'placeholder':placeholder}) + + return HttpResponse(str(plugin.pk)) @create_on_success @transaction.commit_on_success def copy_plugins(self, request): if 'history' in request.path or 'recover' in request.path: return HttpResponse(str("error")) - if request.method == "POST": - copy_from = request.POST['copy_from'] - placeholder_id = request.POST['placeholder'] - placeholder = get_object_or_404(Placeholder, pk=placeholder_id) - page = get_page_from_placeholder_if_exists(placeholder) - language = request.POST['language'] or get_language_from_request(request) - - if not page.has_change_permission(request): - return HttpResponseForbidden(_("You do not have permission to change this page")) - if not language or not language in [ l[0] for l in settings.CMS_LANGUAGES ]: - return HttpResponseBadRequest(_("Language must be set to a supported language!")) - if language == copy_from: - return HttpResponseBadRequest(_("Language must be different than the copied language!")) - plugins = list(placeholder.cmsplugin_set.filter(language=copy_from).order_by('tree_id', '-rght')) - - copy_plugins_to(plugins, placeholder, language) - - if page and "reversion" in settings.INSTALLED_APPS: - make_revision_with_plugins(page) - reversion.revision.user = request.user - reversion.revision.comment = _(u"Copied %(language)s plugins to %(placeholder)s") % {'language':dict(settings.LANGUAGES)[language], 'placeholder':placeholder} - - plugin_list = CMSPlugin.objects.filter(language=language, placeholder=placeholder, parent=None).order_by('position') - return render_to_response('admin/cms/page/widgets/plugin_item.html', {'plugin_list':plugin_list}, RequestContext(request)) - raise Http404 + if request.method != "POST": + raise Http404 + copy_from = request.POST['copy_from'] + placeholder_id = request.POST['placeholder'] + placeholder = get_object_or_404(Placeholder, pk=placeholder_id) + page = placeholder_utils.get_page_from_placeholder_if_exists(placeholder) + language = request.POST['language'] or get_language_from_request(request) + + if not page.has_change_permission(request): + return HttpResponseForbidden(ugettext("You do not have permission to change this page")) + if not language or not language in [ l[0] for l in settings.CMS_LANGUAGES ]: + return HttpResponseBadRequest(ugettext("Language must be set to a supported language!")) + if language == copy_from: + return HttpResponseBadRequest(ugettext("Language must be different than the copied language!")) + plugins = list(placeholder.cmsplugin_set.filter(language=copy_from).order_by('tree_id', '-rght')) + + # check permissions before copy the plugins: + for plugin in plugins: + if not has_plugin_permission(request.user, plugin.plugin_type, "add"): + return HttpResponseForbidden(ugettext("You do not have permission to add plugins")) + + copy_plugins.copy_plugins_to(plugins, placeholder, language) + + if page and "reversion" in settings.INSTALLED_APPS: + helpers.make_revision_with_plugins(page) + reversion.revision.user = request.user + reversion.revision.comment = _(u"Copied %(language)s plugins to %(placeholder)s") % {'language':dict(settings.LANGUAGES)[language], 'placeholder':placeholder} + + plugin_list = CMSPlugin.objects.filter(language=language, placeholder=placeholder, parent=None).order_by('position') + return render_to_response('admin/cms/page/widgets/plugin_item.html', {'plugin_list':plugin_list}, RequestContext(request)) @create_on_success def edit_plugin(self, request, plugin_id): plugin_id = int(plugin_id) if not 'history' in request.path and not 'recover' in request.path: cms_plugin = get_object_or_404(CMSPlugin, pk=plugin_id) - page = get_page_from_placeholder_if_exists(cms_plugin.placeholder) + page = placeholder_utils.get_page_from_placeholder_if_exists(cms_plugin.placeholder) instance, plugin_admin = cms_plugin.get_plugin_instance(self.admin_site) if page and not page.has_change_permission(request): - raise Http404 + return HttpResponseForbidden(ugettext("You have no permission to change this page")) else: # history view with reversion from reversion.models import Version @@ -1218,6 +1217,9 @@ def edit_plugin(self, request, plugin_id): if not instance: raise Http404("This plugin is not saved in a revision") + if not has_plugin_permission(request.user, cms_plugin.plugin_type, "change"): + return HttpResponseForbidden(ugettext("You have no permission to edit a plugin")) + plugin_admin.cms_plugin_instance = cms_plugin try: plugin_admin.placeholder = cms_plugin.placeholder # TODO: what for reversion..? should it be inst ...? @@ -1248,11 +1250,14 @@ def edit_plugin(self, request, plugin_id): # if reversion is installed, save version of the page plugins if 'reversion' in settings.INSTALLED_APPS and page: - make_revision_with_plugins(page) + helpers.make_revision_with_plugins(page) reversion.revision.user = request.user plugin_name = unicode(plugin_pool.get_plugin(cms_plugin.plugin_type).name) - reversion.revision.comment = _(u"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s") % {'plugin_name':plugin_name, 'position':cms_plugin.position, 'placeholder': cms_plugin.placeholder.slot} - + reversion.revision.comment = ugettext(u"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s") % { + 'plugin_name': plugin_name, + 'position': cms_plugin.position, + 'placeholder': cms_plugin.placeholder.slot + } # read the saved object from plugin_admin - ugly but works saved_object = plugin_admin.saved_object @@ -1272,85 +1277,105 @@ def edit_plugin(self, request, plugin_id): @create_on_success def move_plugin(self, request): - if request.method == "POST" and not 'history' in request.path: - pos = 0 - page = None - success = False - if 'plugin_id' in request.POST: - plugin = CMSPlugin.objects.get(pk=int(request.POST['plugin_id'])) - page = get_page_from_plugin_or_404(plugin) - placeholder_slot = request.POST['placeholder'] - placeholders = get_placeholders(page.get_template()) - if not placeholder_slot in placeholders: - return HttpResponse(str("error")) - placeholder = page.placeholders.get(slot=placeholder_slot) - plugin.placeholder = placeholder - # plugin positions are 0 based, so just using count here should give us 'last_position + 1' - position = CMSPlugin.objects.filter(placeholder=placeholder).count() - plugin.position = position - plugin.save() - success = True - if 'ids' in request.POST: - for plugin_id in request.POST['ids'].split("_"): - plugin = CMSPlugin.objects.get(pk=plugin_id) - page = get_page_from_placeholder_if_exists(plugin.placeholder) - - if page and not page.has_change_permission(request): - raise Http404 - - if plugin.position != pos: - plugin.position = pos - plugin.save() - pos += 1 - success = True - if not success: - HttpResponse(str("error")) - - if page and 'reversion' in settings.INSTALLED_APPS: - make_revision_with_plugins(page) - reversion.revision.user = request.user - reversion.revision.comment = unicode(_(u"Plugins where moved")) - - return HttpResponse(str("ok")) - else: + if request.method != "POST": + return HttpResponse(str("error")) + if 'history' in request.path: return HttpResponse(str("error")) + pos = 0 + page = None + success = False + if 'plugin_id' in request.POST: + plugin = CMSPlugin.objects.get(pk=int(request.POST['plugin_id'])) + if not has_plugin_permission(request.user, plugin.plugin_type, "change"): + return HttpResponseForbidden() + + page = plugins.get_page_from_plugin_or_404(plugin) + if not page.has_change_permission(request): + return HttpResponseForbidden(ugettext("You have no permission to change this page")) + + placeholder_slot = request.POST['placeholder'] + placeholders = plugins.get_placeholders(page.get_template()) + if not placeholder_slot in placeholders: + return HttpResponse(str("error")) + placeholder = page.placeholders.get(slot=placeholder_slot) + plugin.placeholder = placeholder + # plugin positions are 0 based, so just using count here should give us 'last_position + 1' + position = CMSPlugin.objects.filter(placeholder=placeholder).count() + plugin.position = position + plugin.save() + success = True + if 'ids' in request.POST: + for plugin_id in request.POST['ids'].split("_"): + plugin = CMSPlugin.objects.get(pk=plugin_id) + if not has_plugin_permission(request.user, plugin.plugin_type, "change"): + return HttpResponseForbidden(ugettext("You have no permission to move a plugin")) + page = placeholder_utils.get_page_from_placeholder_if_exists(plugin.placeholder) + if not page: # use placeholderadmin instead! + raise Http404 + if not page.has_change_permission(request): + return HttpResponseForbidden(ugettext("You have no permission to change this page")) + + if plugin.position != pos: + plugin.position = pos + plugin.save() + pos += 1 + success = True + if not success: + return HttpResponse(str("error")) + + if page and 'reversion' in settings.INSTALLED_APPS: + helpers.make_revision_with_plugins(page) + reversion.revision.user = request.user + reversion.revision.comment = ugettext(u"Plugins where moved") + + return HttpResponse(str("ok")) @create_on_success def remove_plugin(self, request): - if request.method == "POST" and not 'history' in request.path: - plugin_id = request.POST['plugin_id'] - plugin = get_object_or_404(CMSPlugin, pk=plugin_id) - placeholder = plugin.placeholder - page = get_page_from_placeholder_if_exists(placeholder) - - if page and not page.has_change_permission(request): - raise Http404 + if request.method != "POST": + raise Http404 + if 'history' in request.path: + raise Http404 + plugin_id = request.POST['plugin_id'] + plugin = get_object_or_404(CMSPlugin, pk=plugin_id) + + if not has_plugin_permission(request.user, plugin.plugin_type, "delete"): + return HttpResponseForbidden(ugettext("You have no permission to remove a plugin")) + + placeholder = plugin.placeholder + page = placeholder_utils.get_page_from_placeholder_if_exists(placeholder) + + if page and not page.has_change_permission(request): + raise Http404 + + if page and settings.CMS_MODERATOR and page.is_under_moderation(): + # delete the draft version of the plugin + plugin.delete() + # set the page to require approval and save + page.moderator_state = Page.MODERATOR_NEED_APPROVEMENT + page.save() + else: + plugin.delete_with_public() - if page and settings.CMS_MODERATOR and page.is_under_moderation(): - # delete the draft version of the plugin - plugin.delete() - # set the page to require approval and save - page.moderator_state = Page.MODERATOR_NEED_APPROVEMENT - page.save() - else: - plugin.delete_with_public() + plugin_name = unicode(plugin_pool.get_plugin(plugin.plugin_type).name) + comment = ugettext(u"%(plugin_name)s plugin at position %(position)s in %(placeholder)s was deleted.") % { + 'plugin_name': plugin_name, + 'position': plugin.position, + 'placeholder': plugin.placeholder, + } + if page and 'reversion' in settings.INSTALLED_APPS: + helpers.make_revision_with_plugins(page) + reversion.revision.user = request.user + reversion.revision.comment = comment - plugin_name = unicode(plugin_pool.get_plugin(plugin.plugin_type).name) - comment = _(u"%(plugin_name)s plugin at position %(position)s in %(placeholder)s was deleted.") % {'plugin_name':plugin_name, 'position':plugin.position, 'placeholder':plugin.placeholder} - - if page and 'reversion' in settings.INSTALLED_APPS: - make_revision_with_plugins(page) - reversion.revision.user = request.user - reversion.revision.comment = comment - - return HttpResponse("%s,%s" % (plugin_id, comment)) - raise Http404 + return HttpResponse("%s,%s" % (plugin_id, comment)) def change_moderation(self, request, page_id): """Called when user clicks on a moderation checkbox in tree vies, so if he wants to add/remove/change moderation required by him. Moderate is sum of mask values. """ + from cms.models.moderatormodels import MASK_PAGE, MASK_CHILDREN, MASK_DESCENDANTS if request.method != 'POST': return HttpResponseNotAllowed page = get_object_or_404(Page, id=page_id) @@ -1367,18 +1392,21 @@ def change_moderation(self, request, page_id): page.pagemoderator_set.get(user=request.user).delete() except ObjectDoesNotExist: pass - return render_admin_menu_item(request, page) + return admin_utils.render_admin_menu_item(request, page) elif moderate <= MASK_PAGE + MASK_CHILDREN + MASK_DESCENDANTS: page_moderator, created = page.pagemoderator_set.get_or_create(user=request.user) # split value to attributes page_moderator.set_decimal(moderate) page_moderator.save() - return render_admin_menu_item(request, page) + return admin_utils.render_admin_menu_item(request, page) raise Http404 def lookup_allowed(self, key, *args, **kwargs): if key == 'site__exact': return True - return super(PageAdmin, self).lookup_allowed(key) + return super(PageAdmin, self).lookup_allowed(key, *args, **kwargs) + +contribute_fieldsets(PageAdmin) +contribute_list_filter(PageAdmin) admin.site.register(Page, PageAdmin) diff --git a/cms/admin/permissionadmin.py b/cms/admin/permissionadmin.py index 51449afc5e4..81f2ecc24f7 100644 --- a/cms/admin/permissionadmin.py +++ b/cms/admin/permissionadmin.py @@ -1,82 +1,102 @@ # -*- coding: utf-8 -*- +from copy import deepcopy from django.conf import settings -from cms.admin.forms import GlobalPagePermissionAdminForm, \ - PagePermissionInlineAdminForm -from cms.admin.models import BaseInlineFormSetWithQuerySet +from django.template.defaultfilters import title +from django.utils.translation import ugettext as _ + +from django.contrib import admin + from cms.exceptions import NoPermissionsException from cms.models import Page, PagePermission, GlobalPagePermission, PageUser from cms.utils.permissions import get_user_permission_level -from copy import deepcopy -from django.contrib import admin -from django.template.defaultfilters import title -from django.utils.translation import ugettext as _ +from cms.admin.forms import (GlobalPagePermissionAdminForm, + PagePermissionInlineAdminForm, ViewRestrictionInlineAdminForm) PAGE_ADMIN_INLINES = [] -################################################################################ -# Permissions -################################################################################ class PagePermissionInlineAdmin(admin.TabularInline): model = PagePermission # use special form, so we can override of user and group field form = PagePermissionInlineAdminForm - # use special formset, so we can use queryset defined here - formset = BaseInlineFormSetWithQuerySet - classes = ['collapse', 'collapsed'] - - def __init__(self, *args, **kwargs): - super(PagePermissionInlineAdmin, self).__init__(*args, **kwargs) + classes = ['collapse', 'collapsed'] + exclude = ['can_view'] def queryset(self, request): - """Queryset change, so user with global change permissions can see + """ + Queryset change, so user with global change permissions can see all permissions. Otherwise can user see only permissions for peoples which are under him (he can't see his permissions, because this will lead to violation, when he can add more power to itself) """ # can see only permissions for users which are under him in tree - qs = PagePermission.objects.subordinate_to_user(request.user) - return qs - - def get_fieldsets(self, request, obj=None): - """Request formset with given obj. - """ - if self.declared_fieldsets: - return self.declared_fieldsets - form = self.get_formset(request, obj).form - return [(None, {'fields': form.base_fields.keys()})] + + ### here a exception can be thrown + try: + qs = PagePermission.objects.subordinate_to_user(request.user) + return qs.filter(can_view=False) + except NoPermissionsException: + return self.objects.get_empty_query_set() def get_formset(self, request, obj=None, **kwargs): - """Some fields may be excluded here. User can change only - permissions which are available for him. E.g. if user does not haves + """ + Some fields may be excluded here. User can change only + permissions which are available for him. E.g. if user does not haves can_publish flag, he can't change assign can_publish permissions. - - Seems django doesn't cares about queryset defined here - its - probably a bug, so monkey patching again.. Assign use_queryset - attribute to FormSet, our overiden formset knows how to handle this, - @see BaseInlineFormSetWithQuerySet for more details. """ + exclude = self.exclude or [] if obj: - self.exclude = [] if not obj.has_add_permission(request): - self.exclude.append('can_add') + exclude.append('can_add') if not obj.has_delete_permission(request): - self.exclude.append('can_delete') + exclude.append('can_delete') if not obj.has_publish_permission(request): - self.exclude.append('can_publish') + exclude.append('can_publish') if not obj.has_advanced_settings_permission(request): - self.exclude.append('can_change_advanced_settings') + exclude.append('can_change_advanced_settings') if not obj.has_move_page_permission(request): - self.exclude.append('can_move_page') + exclude.append('can_move_page') if not settings.CMS_MODERATOR or not obj.has_moderate_permission(request): - self.exclude.append('can_moderate') - FormSet = super(PagePermissionInlineAdmin, self).get_formset(request, obj=None, **kwargs) - # asign queryset - FormSet.use_queryset = self.queryset(request) - return FormSet + exclude.append('can_moderate') + formset_cls = super(PagePermissionInlineAdmin, self + ).get_formset(request, obj=None, exclude=exclude, *kwargs) + qs = self.queryset(request) + if obj is not None: + qs = qs.filter(page=obj) + formset_cls._queryset = qs + return formset_cls -if settings.CMS_PERMISSION: - PAGE_ADMIN_INLINES.append(PagePermissionInlineAdmin) +class ViewRestrictionInlineAdmin(PagePermissionInlineAdmin): + extra = 1 + form = ViewRestrictionInlineAdminForm + verbose_name = _("View restriction") + verbose_name_plural = _("View restrictions") + exclude = [ + 'can_add', 'can_change', 'can_delete', 'can_view', + 'can_publish', 'can_change_advanced_settings', 'can_move_page', + 'can_moderate', 'can_change_permissions' + ] + + def get_formset(self, request, obj=None, **kwargs): + """ + Some fields may be excluded here. User can change only permissions + which are available for him. E.g. if user does not haves can_publish + flag, he can't change assign can_publish permissions. + """ + formset_cls = super(PagePermissionInlineAdmin, self).get_formset(request, obj, **kwargs) + qs = self.queryset(request) + if obj is not None: + qs = qs.filter(page=obj) + formset_cls._queryset = qs + return formset_cls + + def queryset(self, request): + """ + Returns a QuerySet of all model instances that can be edited by the + admin site. This is used by changelist_view. + """ + qs = PagePermission.objects.subordinate_to_user(request.user) + return qs.filter(can_view=True) class GlobalPagePermissionAdmin(admin.ModelAdmin): @@ -91,33 +111,31 @@ class GlobalPagePermissionAdmin(admin.ModelAdmin): list_display.append('can_change_advanced_settings') list_filter.append('can_change_advanced_settings') - + if settings.CMS_MODERATOR: list_display.append('can_moderate') list_filter.append('can_moderate') else: exclude.append('can_moderate') -if settings.CMS_PERMISSION: - admin.site.register(GlobalPagePermission, GlobalPagePermissionAdmin) - class GenericCmsPermissionAdmin(object): + """ + Custom mixin for permission-enabled admin interfaces. + """ def update_permission_fieldsets(self, request, obj=None): - """Nobody can grant more than he haves, so check for user - permissions to Page and User model and render fieldset depending on - them. + """ + Nobody can grant more than he haves, so check for user permissions + to Page and User model and render fieldset depending on them. """ fieldsets = deepcopy(self.fieldsets) - - models = ( + perm_models = ( (Page, _('Page permissions')), (PageUser, _('User & Group permissions')), (PagePermission, _('Page permissions management')), ) - - i = 0 - for model, title in models: + for i, perm_model in enumerate(perm_models): + model, title = perm_model opts, fields = model._meta, [] name = model.__name__.lower() for t in ('add', 'change', 'delete'): @@ -126,11 +144,11 @@ def update_permission_fieldsets(self, request, obj=None): fields.append('can_%s_%s' % (t, name)) if fields: fieldsets.insert(2 + i, (title, {'fields': (fields,)})) - i += 1 return fieldsets - + def _has_change_permissions_permission(self, request): - """User is able to add/change objects only if he haves can change + """ + User is able to add/change objects only if he haves can change permission on some page. """ try: @@ -142,8 +160,15 @@ def _has_change_permissions_permission(self, request): def has_add_permission(self, request): return self._has_change_permissions_permission(request) and \ super(self.__class__, self).has_add_permission(request) - + def has_change_permission(self, request, obj=None): return self._has_change_permissions_permission(request) and \ super(self.__class__, self).has_change_permission(request, obj) + +if settings.CMS_PERMISSION: + admin.site.register(GlobalPagePermission, GlobalPagePermissionAdmin) + PAGE_ADMIN_INLINES.extend([ + ViewRestrictionInlineAdmin, + PagePermissionInlineAdmin, + ]) diff --git a/cms/admin/placeholderadmin.py b/cms/admin/placeholderadmin.py index 188fc255720..f76ca57aa35 100644 --- a/cms/admin/placeholderadmin.py +++ b/cms/admin/placeholderadmin.py @@ -4,23 +4,24 @@ from cms.models.placeholdermodel import Placeholder from cms.models.pluginmodel import CMSPlugin from cms.plugin_pool import plugin_pool -from cms.utils import get_language_from_request +from cms.utils import get_language_from_request, cms_static_url +from cms.utils.permissions import has_plugin_permission from copy import deepcopy from django.conf import settings from django.contrib.admin import ModelAdmin -from django.http import HttpResponse, Http404, HttpResponseBadRequest +from django.http import (HttpResponse, Http404, HttpResponseBadRequest, + HttpResponseForbidden) from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.template.defaultfilters import force_escape, escapejs -from django.utils.translation import ugettext_lazy as _ -import os +from django.utils.translation import ugettext as _ class PlaceholderAdmin(ModelAdmin): class Media: css = { - 'all': [os.path.join(settings.CMS_MEDIA_URL, path) for path in ( + 'all': [cms_static_url(path) for path in ( 'css/rte.css', 'css/pages.css', 'css/change_form.css', @@ -28,13 +29,14 @@ class Media: 'css/plugin_editor.css', )] } - js = [os.path.join(settings.CMS_MEDIA_URL, path) for path in ( - 'js/lib/jquery.js', - 'js/csrf.js', - 'js/lib/jquery.query.js', - 'js/lib/ui.core.js', - 'js/lib/ui.dialog.js', - )] + js = ['%sjs/jquery.min.js' % settings.ADMIN_MEDIA_PREFIX] + [cms_static_url(path) for path in [ + 'js/plugins/admincompat.js', + 'js/csrf.js', + 'js/libs/jquery.query.js', + 'js/libs/jquery.ui.core.js', + 'js/libs/jquery.ui.dialog.js', + ] + ] def get_fieldsets(self, request, obj=None): """ @@ -126,6 +128,9 @@ def add_plugin(self, request): if request.method != "POST": raise Http404 plugin_type = request.POST['plugin_type'] + if not has_plugin_permission(request.user, plugin_type, "add"): + return HttpResponseForbidden("You don't have permission to add plugins") + placeholder_id = request.POST.get('placeholder', None) position = None language = get_language_from_request(request) @@ -142,7 +147,7 @@ def add_plugin(self, request): # check add permissions on placeholder if not placeholder.has_add_permission(request): - raise Http404 + return HttpResponseForbidden(_("You don't have permission to add content here.")) # check the limits defined in CMS_PLACEHOLDER_CONF for this placeholder limits = settings.CMS_PLACEHOLDER_CONF.get(placeholder.slot, {}).get('limits', None) @@ -177,10 +182,13 @@ def edit_plugin(self, request, plugin_id): plugin_id = int(plugin_id) # get the plugin to edit of bail out cms_plugin = get_object_or_404(CMSPlugin, pk=plugin_id) - + + if not has_plugin_permission(request.user, cms_plugin.plugin_type, "change"): + return HttpResponseForbidden(_("You don't have permission to add plugins")) + # check that the user has permission to change this plugin if not cms_plugin.placeholder.has_change_permission(request): - raise Http404 + return HttpResponseForbidden(_("You don't have permission to add content here.")) instance, plugin_admin = cms_plugin.get_plugin_instance(self.admin_site) @@ -190,7 +198,9 @@ def edit_plugin(self, request, plugin_id): if request.method == "POST": # set the continue flag, otherwise will plugin_admin make redirect to list # view, which actually does'nt exists - request.POST['_continue'] = True + post_request = request.POST.copy() + post_request['_continue'] = True + request.POST = post_request if not instance: # instance doesn't exist, call add view @@ -225,8 +235,26 @@ def move_plugin(self, request): # only allow POST if request.method != "POST": return HttpResponse(str("error")) + + if 'plugin_id' in request.POST: # single plugin moving + plugin = CMSPlugin.objects.get(pk=int(request.POST['plugin_id'])) + + if 'placeholder_id' in request.POST: + placeholder = Placeholder.objects.get(pk=int(request.POST['placeholder_id'])) + else: + placeholder = plugin.placeholder + + # check permissions + if not placeholder.has_change_permission(request): + raise Http404 + + # plugin positions are 0 based, so just using count here should give us 'last_position + 1' + position = CMSPlugin.objects.filter(placeholder=placeholder).count() + plugin.placeholder = placeholder + plugin.position = position + plugin.save() pos = 0 - if 'ids' in request.POST: # multiple plugins + if 'ids' in request.POST: # multiple plugins/ reordering whitelisted_placeholders = [] for id in request.POST['ids'].split("_"): plugin = CMSPlugin.objects.get(pk=id) @@ -244,18 +272,7 @@ def move_plugin(self, request): plugin.position = pos plugin.save() pos += 1 - elif 'plugin_id' in request.POST: # single plugin moving - plugin = CMSPlugin.objects.get(pk=int(request.POST['plugin_id'])) - - # check permissions - if not plugin.placeholder.has_change_permission(request): - raise Http404 - - placeholder = plugin.placeholder - # plugin positions are 0 based, so just using count here should give us 'last_position + 1' - position = CMSPlugin.objects.filter(placeholder=placeholder).count() - plugin.position = position - plugin.save() + else: HttpResponse(str("error")) return HttpResponse(str("ok")) @@ -268,7 +285,7 @@ def remove_plugin(self, request): # check the permissions! if not plugin.placeholder.has_delete_permission(request): - raise Http404 + return HttpResponseForbidden(_("You don't have permission to delete a plugin")) plugin.delete_with_public() plugin_name = unicode(plugin_pool.get_plugin(plugin.plugin_type).name) diff --git a/cms/admin/useradmin.py b/cms/admin/useradmin.py index e70656bbe0d..94a341028fa 100644 --- a/cms/admin/useradmin.py +++ b/cms/admin/useradmin.py @@ -1,13 +1,15 @@ # -*- coding: utf-8 -*- from django.conf import settings +from django.utils.translation import ugettext as _ + +from django.contrib import admin +from django.contrib.auth.admin import UserAdmin + from cms.admin.forms import PageUserForm, PageUserGroupForm from cms.admin.permissionadmin import GenericCmsPermissionAdmin from cms.exceptions import NoPermissionsException from cms.models import PageUser, PageUserGroup from cms.utils.permissions import get_subordinate_users -from django.contrib import admin -from django.contrib.auth.admin import UserAdmin -from django.utils.translation import ugettext as _ class PageUserAdmin(UserAdmin, GenericCmsPermissionAdmin): diff --git a/cms/api.py b/cms/api.py new file mode 100644 index 00000000000..a44eedf42c4 --- /dev/null +++ b/cms/api.py @@ -0,0 +1,397 @@ +# -*- coding: utf-8 -*- +""" +Public Python API to create CMS contents. + +WARNING: None of the functions defined in this module checks for permissions. +You must implement the necessary permission checks in your own code before +calling these methods! +""" +import datetime + +from django.conf import settings +from django.contrib.auth.models import User +from django.contrib.sites.models import Site +from django.db.models import Max +from django.template.defaultfilters import slugify +from menus.menu_pool import menu_pool + +from cms.admin.forms import save_permissions +from cms.app_base import CMSApp +from cms.apphook_pool import apphook_pool +from cms.models.moderatormodels import ACCESS_PAGE_AND_DESCENDANTS +from cms.models.pagemodel import Page +from cms.models.permissionmodels import PageUser, PagePermission, GlobalPagePermission +from cms.models.placeholdermodel import Placeholder +from cms.models.pluginmodel import CMSPlugin +from cms.models.titlemodels import Title +from cms.plugin_base import CMSPluginBase +from cms.plugin_pool import plugin_pool +from cms.utils import moderator +from cms.utils.permissions import _thread_locals + + +#=============================================================================== +# Constants +#=============================================================================== + +VISIBILITY_ALL = None +VISIBILITY_USERS = 1 +VISIBILITY_STAFF = 2 + +#=============================================================================== +# Helpers/Internals +#=============================================================================== + +def _generate_valid_slug(source, parent, language): + """ + Generate a valid slug for a page from source for the given language. + Parent is passed so we can make sure the slug is unique for this level in + the page tree. + """ + if parent: + qs = Title.objects.filter(language=language, page__parent=parent) + else: + qs = Title.objects.filter(language=language, page__parent__isnull=True) + used = qs.values_list('slug', flat=True) + baseslug = slugify(source) + slug = baseslug + i = 1 + while slug in used: + slug = '%s-%s' % (baseslug, i) + i += 1 + return slug + +def _verify_apphook(apphook): + """ + Verifies the apphook given is valid and returns the normalized form (name) + """ + if hasattr(apphook, '__module__') and issubclass(apphook, CMSApp): + apphook_pool.discover_apps() + assert apphook in apphook_pool.apps.values() + return apphook.__name__ + elif isinstance(apphook, basestring): + apphook_pool.discover_apps() + assert apphook in apphook_pool.apps + return apphook + else: + raise TypeError("apphook must be string or CMSApp instance") + +def _verify_plugin_type(plugin_type): + """ + Verifies the given plugin_type is valid and returns a tuple of + (plugin_model, plugin_type) + """ + if (hasattr(plugin_type, '__module__') and + issubclass(plugin_type, CMSPluginBase)): + plugin_model = plugin_type.model + assert plugin_type in plugin_pool.plugins.values() + plugin_type = plugin_type.__name__ + elif isinstance(plugin_type, basestring): + try: + plugin_model = plugin_pool.get_plugin(plugin_type).model + except KeyError: + raise TypeError( + 'plugin_type must be CMSPluginBase subclass or string' + ) + else: + raise TypeError('plugin_type must be CMSPluginBase subclass or string') + return plugin_model, plugin_type + +#=============================================================================== +# Public API +#=============================================================================== + +def create_page(title, template, language, menu_title=None, slug=None, + apphook=None, redirect=None, meta_description=None, + meta_keywords=None, created_by='python-api', parent=None, + publication_date=None, publication_end_date=None, + in_navigation=False, soft_root=False, reverse_id=None, + navigation_extenders=None, published=False, site=None, + login_required=False, limit_visibility_in_menu=VISIBILITY_ALL, + position="last-child", overwrite_url=None): + """ + Create a CMS Page and it's title for the given language + + See docs/extending_cms/api_reference.rst for more info + """ + # ugly permissions hack + if created_by and isinstance(created_by, User): + _thread_locals.user = created_by + created_by = created_by.username + else: + _thread_locals.user = None + + # validate template + assert template in [tpl[0] for tpl in settings.CMS_TEMPLATES] + + # validate language: + assert language in [lang[0] for lang in settings.CMS_LANGUAGES] + + # set default slug: + if not slug: + slug = _generate_valid_slug(title, parent, language) + + # validate and normalize apphook + if apphook: + application_urls = _verify_apphook(apphook) + else: + application_urls = None + + # validate parent + if parent: + assert isinstance(parent, Page) + + # validate publication date + if publication_date: + assert isinstance(publication_date, datetime.date) + + # validate publication end date + if publication_end_date: + assert isinstance(publication_end_date, datetime.date) + + # validate softroot + assert settings.CMS_SOFTROOT or not soft_root + + # validate site + if not site: + site = Site.objects.get_current() + else: + assert isinstance(site, Site) + + if navigation_extenders: + raw_menus = menu_pool.get_menus_by_attribute("cms_enabled", True) + menus = [menu[0] for menu in raw_menus] + assert navigation_extenders in menus + + # validate menu visibility + accepted_limitations = (VISIBILITY_ALL, VISIBILITY_USERS, VISIBILITY_STAFF) + assert limit_visibility_in_menu in accepted_limitations + + # validate position + assert position in ('last-child', 'first-child', 'left', 'right') + + page = Page( + created_by=created_by, + changed_by=created_by, + parent=parent, + publication_date=publication_date, + publication_end_date=publication_end_date, + in_navigation=in_navigation, + soft_root=soft_root, + reverse_id=reverse_id, + navigation_extenders=navigation_extenders, + published=published, + template=template, + site=site, + login_required=login_required, + limit_visibility_in_menu=limit_visibility_in_menu, + ) + if parent: + page.insert_at(parent, position) + page.save() + + if settings.CMS_MODERATOR and _thread_locals.user: + page.pagemoderator_set.create(user=_thread_locals.user) + + create_title( + language=language, + title=title, + menu_title=menu_title, + slug=slug, + apphook=application_urls, + redirect=redirect, + meta_description=meta_description, + meta_keywords=meta_keywords, + page=page, + overwrite_url=overwrite_url + ) + + del _thread_locals.user + return page + +def create_title(language, title, page, menu_title=None, slug=None, + apphook=None, redirect=None, meta_description=None, + meta_keywords=None, parent=None, overwrite_url=None): + """ + Create a title. + + Parent is only used if slug=None. + + See docs/extending_cms/api_reference.rst for more info + """ + # validate language: + assert language in [lang[0] for lang in settings.CMS_LANGUAGES] + + # validate page + assert isinstance(page, Page) + + # set default slug: + if not slug: + slug = _generate_valid_slug(title, parent, language) + + # validate and normalize apphook + if apphook: + application_urls = _verify_apphook(apphook) + else: + application_urls = None + + title = Title.objects.create( + language=language, + title=title, + menu_title=menu_title, + slug=slug, + application_urls=application_urls, + redirect=redirect, + meta_description=meta_description, + meta_keywords=meta_keywords, + page=page + ) + + if overwrite_url: + title.has_url_overwrite = True + title.path = overwrite_url + title.save() + + return title + +def add_plugin(placeholder, plugin_type, language, position='last-child', + target=None, **data): + """ + Add a plugin to a placeholder + + See docs/extending_cms/api_reference.rst for more info + """ + # validate placeholder + assert isinstance(placeholder, Placeholder) + + # validate and normalize plugin type + plugin_model, plugin_type = _verify_plugin_type(plugin_type) + + + max_pos = CMSPlugin.objects.filter(language=language, + placeholder=placeholder).aggregate(Max('position'))['position__max'] or 0 + + plugin_base = CMSPlugin( + plugin_type=plugin_type, + placeholder=placeholder, + position=max_pos + 1, + language=language + ) + plugin_base.insert_at(target, position=position, save=False) + + plugin = plugin_model(**data) + plugin_base.set_base_attr(plugin) + plugin.save() + return plugin + +def create_page_user(created_by, user, + can_add_page=True, can_view_page=True, + can_change_page=True, can_delete_page=True, + can_recover_page=True, can_add_pageuser=True, + can_change_pageuser=True, can_delete_pageuser=True, + can_add_pagepermission=True, + can_change_pagepermission=True, + can_delete_pagepermission=True, grant_all=False): + """ + Creates a page user. + + See docs/extending_cms/api_reference.rst for more info + """ + if grant_all: + # just be lazy + return create_page_user(created_by, user, True, True, True, True, + True, True, True, True, True, True, True) + + # validate created_by + assert isinstance(created_by, User) + + data = { + 'can_add_page': can_add_page, + 'can_view_page': can_view_page, + 'can_change_page': can_change_page, + 'can_delete_page': can_delete_page, + 'can_recover_page': can_recover_page, + 'can_add_pageuser': can_add_pageuser, + 'can_change_pageuser': can_change_pageuser, + 'can_delete_pageuser': can_delete_pageuser, + 'can_add_pagepermission': can_add_pagepermission, + 'can_change_pagepermission': can_change_pagepermission, + 'can_delete_pagepermission': can_delete_pagepermission, + } + user.is_staff = True + user.is_active = True + page_user = PageUser(created_by=created_by) + for field in [f.name for f in User._meta.local_fields]: + setattr(page_user, field, getattr(user, field)) + user.save() + page_user.save() + save_permissions(data, page_user) + return user + +def assign_user_to_page(page, user, grant_on=ACCESS_PAGE_AND_DESCENDANTS, + can_add=False, can_change=False, can_delete=False, + can_change_advanced_settings=False, can_publish=False, + can_change_permissions=False, can_move_page=False, can_moderate=False, + can_recover_page=True, can_view=False, + grant_all=False, global_permission=False): + """ + Assigns given user to page, and gives him requested permissions. + + See docs/extending_cms/api_reference.rst for more info + """ + if grant_all and not global_permission: + # shortcut to grant all permissions + return assign_user_to_page(page, user, grant_on, True, True, True, True, + True, True, True, True, True) + + data = { + 'can_add': can_add, + 'can_change': can_change, + 'can_delete': can_delete, + 'can_change_advanced_settings': can_change_advanced_settings, + 'can_publish': can_publish, + 'can_change_permissions': can_change_permissions, + 'can_move_page': can_move_page, + 'can_moderate': can_moderate, + 'can_view': can_view, + } + page_permission = PagePermission(page=page, user=user, + grant_on=grant_on, **data) + page_permission.save() + if global_permission: + page_permission = GlobalPagePermission( + user=user, can_recover_page=can_recover_page, **data) + page_permission.save() + page_permission.sites.add(Site.objects.get_current()) + return page_permission + +def publish_page(page, user, approve=False): + """ + Publish a page. This sets `page.published` to `True` and saves it, which + triggers `cms.utils.moderator.page_changed` which does the actual moderation + and publishing action. + + See docs/extending_cms/api_reference.rst for more info + """ + page.published = True + # the magic happens in the post save signal here... WTF? + page.save() + # reload page + page = Page.objects.get(pk=page.pk) + # approve page if requested + if approve: + page = approve_page(page, user) + return page.reload() + +def approve_page(page, user): + """ + Approve a page version. + + See docs/extending_cms/api_reference.rst for more info + """ + class FakeRequest(object): + def __init__(self, user): + self.user = user + request = FakeRequest(user) + moderator.approve_page(request, page) + return Page.objects.get(pk=page.pk) diff --git a/cms/apphook_pool.py b/cms/apphook_pool.py index 2dcb446fe59..eb88281e79a 100644 --- a/cms/apphook_pool.py +++ b/cms/apphook_pool.py @@ -1,42 +1,31 @@ # -*- coding: utf-8 -*- -from cms.exceptions import AppAllreadyRegistered +from cms.exceptions import AppAlreadyRegistered +from cms.utils.django_load import load, iterload_objects from django.conf import settings from django.core.exceptions import ImproperlyConfigured -from django.utils.importlib import import_module +import warnings class ApphookPool(object): def __init__(self): self.apps = {} self.discovered = False self.block_register = False - + def discover_apps(self): if self.discovered: return #import all the modules if settings.CMS_APPHOOKS: - - for app in settings.CMS_APPHOOKS: - self.block_register = True - path = ".".join(app.split(".")[:-1]) - class_name = app.split(".")[-1] - module = import_module(path) - cls = getattr(module, class_name, None) - if cls is None: - raise ImproperlyConfigured( - "Cannot find class %s" % app - ) + self.block_register = True + for cls in iterload_objects(settings.CMS_APPHOOKS): self.block_register = False self.register(cls) + self.block_register = True + self.block_register = False else: - for app in settings.INSTALLED_APPS: - cms_app = '%s.cms_app' % app - try: - import_module(cms_app) - except ImportError: - pass + load('cms_app') self.discovered = True - + def clear(self): self.apps = {} self.discovered = False @@ -45,11 +34,18 @@ def register(self, app): if self.block_register: return from cms.app_base import CMSApp - assert issubclass(app, CMSApp) - if app.__name__ in self.apps.keys(): - raise AppAllreadyRegistered, "[%s] an cms app with this name is already registered" % app.__name__ - self.apps[app.__name__] = app - + # validate the app + if not issubclass(app, CMSApp): + raise ImproperlyConfigured('CMS Apps must inherit ' + 'cms.app_base.CMSApp, %r does not' % app) + if hasattr(app, 'menu') and not app.menus: + warnings.warn("You define a 'menu' attribute on your CMS App %r, " + "but the 'menus' attribute is empty, did you make a typo?") + name = app.__name__ + if name in self.apps.keys(): + raise AppAlreadyRegistered, "[%s] an cms app with this name is already registered" % name + self.apps[name] = app + def get_apphooks(self): self.discover_apps() hooks = [] @@ -59,8 +55,9 @@ def get_apphooks(self): # Unfortunately, we loose the ordering since we now have a list of tuples. Let's reorder by app_name: hooks = sorted(hooks, key=lambda hook: hook[1]) return hooks - + def get_apphook(self, app_name): + self.discover_apps() try: return self.apps[app_name] except KeyError: diff --git a/cms/appresolver.py b/cms/appresolver.py index 96a42409bfa..2e51c32ff7e 100644 --- a/cms/appresolver.py +++ b/cms/appresolver.py @@ -177,7 +177,7 @@ def get_app_patterns(): hooked_applications = [] # Loop over all titles with an application hooked to them - for title in title_qs.filter(application_urls__gt="").select_related(): + for title in title_qs.exclude(application_urls=None).exclude(application_urls='').select_related(): if settings.CMS_FLAT_URLS: if title.language in home_slugs: path = title.slug.split(home_slugs[title.language] + "/", 1)[-1] diff --git a/cms/cache/permissions.py b/cms/cache/permissions.py index cefd4e1c979..fcfd8747983 100644 --- a/cms/cache/permissions.py +++ b/cms/cache/permissions.py @@ -1,41 +1,41 @@ # -*- coding: utf-8 -*- +from django.conf import settings from django.core.cache import cache -# Time to live for cache entry 10 minutes, so it gets cleaned if we don't catch -# something - don't make higher; groups may be problematic because of no signals -# when adding / removing from group -TTL = 600 - permission_cache_keys = [] all_keys = [] -get_cache_key = lambda user, key: "Admin::Permission::%s::%s" % (user.username, key) +def get_cache_key(user, key): + return "%s:permission:%s:%s" % ( + settings.CMS_CACHE_PREFIX, user.username, key) def get_permission_cache(user, key): - """Helper for reading values from cache + """ + Helper for reading values from cache """ return cache.get(get_cache_key(user, key)) def set_permission_cache(user, key, value): - """Helper method for storing values in cache. Stores used keys so + """ + Helper method for storing values in cache. Stores used keys so all of them can be cleaned when clean_permission_cache gets called. """ # store this key, so we can clean it when required cache_key = get_cache_key(user, key) if not cache_key in all_keys: - all_keys.append(cache_key) + all_keys.append(cache_key) if not key in permission_cache_keys: permission_cache_keys.append(key) - cache.set(cache_key, value, TTL) - + cache.set(cache_key, value, settings.CMS_CACHE_DURATIONS['permissions']) def clear_user_permission_cache(user): - """Cleans permission cache for given user. + """ + Cleans permission cache for given user. """ for key in permission_cache_keys: cache.delete(get_cache_key(user, key)) def clear_permission_cache(): for key in all_keys: - cache.delete(key) \ No newline at end of file + cache.delete(key) diff --git a/cms/cms_toolbar.py b/cms/cms_toolbar.py new file mode 100644 index 00000000000..376767f508f --- /dev/null +++ b/cms/cms_toolbar.py @@ -0,0 +1,230 @@ +# -*- coding: utf-8 -*- +from cms.toolbar.base import Toolbar +from cms.toolbar.constants import LEFT, RIGHT +from cms.toolbar.items import (Anchor, Switcher, TemplateHTML, ListItem, List, + GetButton) +from cms.utils import cms_static_url +from cms.utils.moderator import page_moderator_state, I_APPROVE +from django import forms +from django.conf import settings +from django.contrib.auth import authenticate, login, logout +from django.core.urlresolvers import reverse +from django.http import HttpResponseRedirect +from django.utils.translation import ugettext_lazy as _ +import urllib + + +def _get_page_admin_url(context, toolbar, **kwargs): + return reverse('admin:cms_page_change', args=(toolbar.request.current_page.pk,)) + +def _get_page_history_url(context, toolbar, **kwargs): + return reverse('admin:cms_page_history', args=(toolbar.request.current_page.pk,)) + +def _get_add_child_url(context, toolbar, **kwargs): + data = { + 'position': 'last-child', + 'target': toolbar.request.current_page.pk, + } + args = urllib.urlencode(data) + return '%s?%s' % (reverse('admin:cms_page_add'), args) + +def _get_add_sibling_url(context, toolbar, **kwargs): + data = { + 'position': 'last-child', + } + if toolbar.request.current_page.parent_id: + data['target'] = toolbar.request.current_page.parent_id + args = urllib.urlencode(data) + return '%s?%s' % (reverse('admin:cms_page_add'), args) + +def _get_delete_url(context, toolbar, **kwargs): + return reverse('admin:cms_page_delete', args=(toolbar.request.current_page.pk,)) + +def _get_approve_url(context, toolbar, **kwargs): + return reverse('admin:cms_page_approve_page', args=(toolbar.request.current_page.pk,)) + +def _get_publish_url(context, toolbar, **kwargs): + return reverse('admin:cms_page_publish_page', args=(toolbar.request.current_page.pk,)) + + +class CMSToolbarLoginForm(forms.Form): + cms_username = forms.CharField() + cms_password = forms.CharField() + + +class CMSToolbar(Toolbar): + """ + The default CMS Toolbar + """ + def __init__(self, request): + super(CMSToolbar, self).__init__(request) + self.init() + + def init(self): + self.is_staff = self.request.user.is_staff + self.can_change = (self.request.current_page and + self.request.current_page.has_change_permission(self.request)) + self.edit_mode_switcher = Switcher(LEFT, 'editmode', 'edit', 'edit-off', + _('Edit mode')) + self.edit_mode = self.is_staff and self.edit_mode_switcher.get_state(self.request) + self.show_toolbar = self.is_staff or self.edit_mode_switcher.get_state(self.request) + + def get_items(self, context, **kwargs): + """ + Get the CMS items on the toolbar + """ + items = [ + Anchor(LEFT, 'logo', _('django CMS'), 'https://www.django-cms.org'), + ] + + self.page_states = [] + + + if self.is_staff: + + items.append( + self.edit_mode_switcher + ) + + if self.request.current_page: + states = self.request.current_page.last_page_states() + has_states = states.exists() + self.page_states = states + if has_states: + items.append( + TemplateHTML(LEFT, 'status', + 'cms/toolbar/items/status.html') + ) + + # publish button + if self.edit_mode and settings.CMS_MODERATOR: + moderator_state = page_moderator_state(self.request, self.request.current_page) + should_approve = moderator_state['state'] >= I_APPROVE + has_perms = self.request.current_page.has_moderate_permission(self.request) + if should_approve and has_perms: + label = moderator_state['label'] + urlgetter = _get_approve_url + elif has_perms: + label = _("Publish") + urlgetter = _get_publish_url + else: + urlgetter = _get_approve_url + label = _("Request Approval") + items.append( + GetButton(RIGHT, 'moderator', label, urlgetter) + ) + + # The 'templates' Menu + items.append(self.get_template_menu(context, self.can_change, self.is_staff)) + + # The 'page' Menu + items.append(self.get_page_menu(context, self.can_change, self.is_staff)) + + # The 'Admin' Menu + items.append(self.get_admin_menu(context, self.can_change, self.is_staff)) + + items.append( + GetButton(RIGHT, 'logout', _('Logout'), '?cms-toolbar-logout', + cms_static_url('images/toolbar/icons/icon_lock.png')) + ) + elif not self.request.user.is_authenticated(): + items.append( + TemplateHTML(LEFT, 'login', 'cms/toolbar/items/login.html') + ) + else: + items.append( + GetButton(RIGHT, 'logout', _('Logout'), '?cms-toolbar-logout', + cms_static_url('images/toolbar/icons/icon_lock.png')) + ) + return items + + def get_template_menu(self, context, can_change, is_staff): + menu_items = [] + url = reverse('admin:cms_page_change_template', args=(self.request.current_page.pk,)) + for path, name in settings.CMS_TEMPLATES: + args = urllib.urlencode({'template': path}) + css = 'template' + if self.request.current_page.get_template() == path: + css += ' active' + menu_items.append( + ListItem(css, name, '%s?%s' % (url, args), 'POST'), + ) + return List(RIGHT, 'templates', _('Template'), + '', items=menu_items) + + def get_page_menu(self, context, can_change, is_staff): + """ + Builds the 'page menu' + """ + menu_items = [ + ListItem('overview', _('Move/add Pages'), + reverse('admin:cms_page_changelist'), + icon=cms_static_url('images/toolbar/icons/icon_sitemap.png')), + ] + menu_items.append( + ListItem('addchild', _('Add child page'), + _get_add_child_url, + icon=cms_static_url('images/toolbar/icons/icon_child.png')) + ) + + menu_items.append( + ListItem('addsibling', _('Add sibling page'), + _get_add_sibling_url, + icon=cms_static_url('images/toolbar/icons/icon_sibling.png')) + ) + + menu_items.append( + ListItem('delete', _('Delete Page'), _get_delete_url, + icon=cms_static_url('images/toolbar/icons/icon_delete.png')) + ) + return List(RIGHT, 'page', _('Page'), + cms_static_url('images/toolbar/icons/icon_page.png'), + items=menu_items) + + def get_admin_menu(self, context, can_change, is_staff): + """ + Builds the 'admin menu' (the one with the cogwheel) + """ + admin_items = [ + ListItem('admin', _('Site Administration'), + reverse('admin:index'), + icon=cms_static_url('images/toolbar/icons/icon_admin.png')), + ] + if can_change: + admin_items.append( + ListItem('settings', _('Page Settings'), + _get_page_admin_url, + icon=cms_static_url('images/toolbar/icons/icon_page.png')) + ) + if 'reversion' in settings.INSTALLED_APPS: + admin_items.append( + ListItem('history', _('View History'), + _get_page_history_url, + icon=cms_static_url('images/toolbar/icons/icon_history.png')) + ) + return List(RIGHT, 'admin', _('Admin'), + cms_static_url('images/toolbar/icons/icon_admin.png'), + items=admin_items) + + def request_hook(self): + if self.request.method != 'POST': + return self._request_hook_get() + else: + return self._request_hook_post() + + def _request_hook_get(self): + if 'cms-toolbar-logout' in self.request.GET: + logout(self.request) + return HttpResponseRedirect(self.request.path) + + def _request_hook_post(self): + # login hook + if 'cms-toolbar-login' in self.request.GET: + login_form = CMSToolbarLoginForm(self.request.POST) + if login_form.is_valid(): + username = login_form.cleaned_data['cms_username'] + password = login_form.cleaned_data['cms_password'] + user = authenticate(username=username, password=password) + if user: + login(self.request, user) + self.init() diff --git a/cms/conf/__init__.py b/cms/conf/__init__.py index 9b3c32ad622..c9b81df1472 100644 --- a/cms/conf/__init__.py +++ b/cms/conf/__init__.py @@ -2,7 +2,7 @@ from django.conf import settings from patch import pre_patch, post_patch, post_patch_check -ALREADY_PATCHED = False + def patch_settings(): """Merge settings with global cms settings, so all required attributes @@ -10,13 +10,9 @@ def patch_settings(): Also check for setting inconstistence if settings.DEBUG """ - global ALREADY_PATCHED - - # do this just once - if ALREADY_PATCHED: + if patch_settings.ALREADY_PATCHED: return - - ALREADY_PATCHED = True + patch_settings.ALREADY_PATCHED = True from cms.conf import global_settings # patch settings @@ -34,12 +30,4 @@ def patch_settings(): if settings.DEBUG: # check if settings are correct, call this only if debugging is enabled post_patch_check() - - - - - -""" - removed CMS_UNIQUE_SLUGS setting - -""" \ No newline at end of file +patch_settings.ALREADY_PATCHED = False \ No newline at end of file diff --git a/cms/conf/global_settings.py b/cms/conf/global_settings.py index ef1261c68e6..f2be9437c4e 100644 --- a/cms/conf/global_settings.py +++ b/cms/conf/global_settings.py @@ -11,10 +11,10 @@ # The id of default Site instance to be used for multisite purposes. SITE_ID = 1 - # Which templates should be used for extracting the placeholders? +# Empty by default, as we don't impose any rigid requirements on users. # example: CMS_TEMPLATES = (('base.html', 'default template'),) -CMS_TEMPLATES = None +CMS_TEMPLATES = () # Should pages be allowed to inherit their parent templates? CMS_TEMPLATE_INHERITANCE = True @@ -25,7 +25,19 @@ # Whether to enable permissions. CMS_PERMISSION = False - + +# Decides if pages without any view restrictions are public by default, or staff only +CMS_PUBLIC_FOR = 'all' # or 'staff' + +CMS_CACHE_DURATIONS = { + # Menu cache duration + 'menus': getattr(settings, 'MENU_CACHE_DURATION', 60 * 60), + # Defines how long page content should be cached + 'content': getattr(settings, 'CMS_CONTENT_CACHE_DURATION', 60), + # Defines how long user permissions should be cached + 'permissions': 60 * 60, +} + # Show the publication date field in the admin, allows for future dating # Changing this from True to False could cause some weirdness. If that is required, # you should update your database to correct any future dated pages @@ -80,9 +92,6 @@ # 3:['en'],} CMS_SITE_LANGUAGES = {} -# Defines how long page content should be cached, including navigation -CMS_CONTENT_CACHE_DURATION = 60 - CMS_SITE_CHOICES_CACHE_KEY = 'CMS:site_choices' CMS_PAGE_CHOICES_CACHE_KEY = 'CMS:page_choices' @@ -105,20 +114,12 @@ # Defines what character will be used for the __unicode__ handling of cms pages CMS_TITLE_CHARACTER = '+' -# gettext translation mode -- exports database content for parsing by -# makemessages, and uses django's normal i18n framework instead of having to -# create multiple copies of pages for each language. -# requires 'dbgettext' -- http://bitbucket.org/drmeers/django-dbgettext/ -CMS_DBGETTEXT = 'dbgettext' in settings.INSTALLED_APPS - -# Allow gettext translation of slugs (only relevant if CMS_DBGETTEXT used) -CMS_DBGETTEXT_SLUGS = False # (still experimental) - # Enable non-cms placeholder frontend editing PLACEHOLDER_FRONTEND_EDITING = True # Cache prefix so one can deploy several sites on one cache server CMS_CACHE_PREFIX = 'cms-' -# Menu cache duration -MENU_CACHE_DURATION = 60 * 60 \ No newline at end of file +# they are missing in the permission-merge2 branch +CMS_PLUGIN_PROCESSORS = tuple() +CMS_PLUGIN_CONTEXT_PROCESSORS = tuple() \ No newline at end of file diff --git a/cms/conf/patch.py b/cms/conf/patch.py index d6da99f6aa3..2e465ebfd54 100644 --- a/cms/conf/patch.py +++ b/cms/conf/patch.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- from django.conf import settings -from django.utils.translation import ugettext_lazy as _ from django.core.exceptions import ImproperlyConfigured +from django.utils.translation import ugettext_lazy as _ +from sekizai.helpers import validate_template from warnings import warn def pre_patch(): @@ -27,34 +28,34 @@ def post_patch(): (settings.CMS_TEMPLATE_INHERITANCE_MAGIC, _('Inherit the template of the nearest ancestor')), ) - if settings.CMS_DBGETTEXT: - # untranslated titles are translated using gettext anyway - settings.CMS_HIDE_UNTRANSLATED = False - settings.dbgettext = _ - else: - # dummy translation - settings.dbgettext = lambda x: x - if settings.CMS_DBGETTEXT_SLUGS: - warn( - "CMS_DBGETTEXT_SLUGS (and general support for django-dbggettext " - "for CMS contents) will be deprecated in django CMS 2.2.", - DeprecationWarning - ) - def post_patch_check(): """Post patch check, just make sure there isn't any misconfiguration. All the code for checking settings should go here. """ - if settings.CMS_TEMPLATES is None: + + # Ensure templates are set, and more than just the inheritance setting. + cms_templates_length = len(settings.CMS_TEMPLATES) + if (cms_templates_length < 1 or + (cms_templates_length == 1 and settings.CMS_TEMPLATES[0][0] == settings.CMS_TEMPLATE_INHERITANCE_MAGIC)): raise ImproperlyConfigured('Please make sure you specified a CMS_TEMPLATES setting.') # check if is user middleware installed if settings.CMS_PERMISSION and not 'cms.middleware.user.CurrentUserMiddleware' in settings.MIDDLEWARE_CLASSES: raise ImproperlyConfigured('CMS Permission system requires cms.middleware.user.CurrentUserMiddleware.\n' 'Please put it into your MIDDLEWARE_CLASSES in settings file') - if 'cms.middleware.media.PlaceholderMediaMiddleware' not in settings.MIDDLEWARE_CLASSES: - warn("The 'cms.middleware.media.PlaceholderMediaMiddleware' is not in " - "your MIDDLEWARE_CLASSES setting, it's your own responsiblity to " - "ensure all javascript and css files required by the plugins you " - "use are available to them.", Warning) \ No newline at end of file + + # check sekizai namespaces + try: + from django.template.loaders.app_directories import Loader + except ImportError: + return # south... + for template in settings.CMS_TEMPLATES: + if template[0] == settings.CMS_TEMPLATE_INHERITANCE_MAGIC: + continue + if not validate_template(template[0], ['js', 'css']): + raise ImproperlyConfigured( + "All templates defined in CMS_TEMPLATES must have at least the " + "'js' and 'css' sekizai namespaces. The template %r does not. " + % template[0] + ) diff --git a/cms/dbgettext_registration.py b/cms/dbgettext_registration.py deleted file mode 100644 index f463c47f3b2..00000000000 --- a/cms/dbgettext_registration.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- -from dbgettext.registry import registry, Options -from models import Page -from django.conf import settings - -class PageOptions(Options): - attributes = ('get_title', 'get_slug') - translate_if = {'published' : True,} - def get_path_identifier(self, obj): - return obj.get_path() - -if settings.CMS_MODERATOR: - PageOptions.translate_if['publisher_is_draft'] = False - -registry.register(Page, PageOptions) diff --git a/cms/exceptions.py b/cms/exceptions.py index fc42c41f5d9..6e8f4783b32 100644 --- a/cms/exceptions.py +++ b/cms/exceptions.py @@ -5,9 +5,11 @@ class PluginAlreadyRegistered(Exception): class PluginNotRegistered(Exception): pass -class AppAllreadyRegistered(Exception): +class AppAlreadyRegistered(Exception): pass +AppAllreadyRegistered = AppAlreadyRegistered # backwards compatibility, will be dropped in 2.3 + class NotImplemented(Exception): pass @@ -29,6 +31,8 @@ class NoPermissionsException(PermissionsException): """Can be fired when some violate action is performed on permission system. """ +class Deprecated(Exception): pass + class DuplicatePlaceholderWarning(Warning): pass class DontUsePageAttributeWarning(Warning): pass \ No newline at end of file diff --git a/cms/forms/utils.py b/cms/forms/utils.py index e5c1510c13d..e37100a6b8b 100644 --- a/cms/forms/utils.py +++ b/cms/forms/utils.py @@ -1,42 +1,56 @@ # -*- coding: utf-8 -*- +from cms.models import Page +from cms.models.titlemodels import Title +from cms.utils import i18n +from collections import defaultdict +from django.conf import settings +from django.contrib.sites.models import Site from django.core.cache import cache from django.db.models.signals import post_save, post_delete -from django.utils.safestring import mark_safe from django.utils import translation -from django.conf import settings +from django.utils.safestring import mark_safe -from django.contrib.sites.models import Site -from cms.models import Page def update_site_and_page_choices(lang=None): lang = lang or translation.get_language() SITE_CHOICES_KEY = get_site_cache_key(lang) PAGE_CHOICES_KEY = get_page_cache_key(lang) if settings.CMS_MODERATOR: - page_queryset = Page.objects.public().select_related('site') + title_queryset = Title.objects.filter(page__publisher_is_draft=False) else: - page_queryset = Page.objects.drafts().select_related('site') + title_queryset = Title.objects.filter(page__publisher_is_draft=True) + title_queryset = title_queryset.select_related('page', 'page__site') + pages = defaultdict(lambda: defaultdict(dict)) + sites = {} + for title in title_queryset: + pages[title.page.site.pk][title.page.pk][title.language] = title + sites[title.page.site.pk] = title.page.site.name + site_choices = [] page_choices = [('', '----')] - current_site_pages = [] - current_site = None - for page in page_queryset: - if page.site != current_site: - if current_site_pages: - site_choices.append( (current_site.id, current_site.name ) ) - page_choices.append( (current_site.name, current_site_pages) ) - current_site_pages = [] - current_site = page.site - page_title = page.get_menu_title(fallback=True) - if page_title is None: - page_title = u"page %s" % page.pk - page_title = mark_safe(u"%s %s" % (u"  "*page.level, page_title)) - current_site_pages.append( (page.pk, page_title) ) - if current_site_pages: - site_choices.append( (current_site.id, current_site.name ) ) - page_choices.append( (current_site.name, current_site_pages) ) + + language_order = [lang] + i18n.get_fallback_languages(lang) + + for sitepk, sitename in sites.items(): + site_choices.append((sitepk, sitename)) + + site_page_choices = [] + for titles in pages[sitepk].values(): + title = None + for language in language_order: + title = titles.get(language) + if title: + break + if not title: + continue + + indent = u"  " * title.page.level + page_title = mark_safe(u"%s%s" % (indent, title.title)) + site_page_choices.append((title.page.pk, page_title)) + + page_choices.append((sitename, site_page_choices)) + # We set it to 1 day here because we actively invalidate this cache. - # There is absolutely NO point in making this cache.set(SITE_CHOICES_KEY, site_choices, 86400) cache.set(PAGE_CHOICES_KEY, page_choices, 86400) return site_choices, page_choices diff --git a/cms/forms/widgets.py b/cms/forms/widgets.py index 779d1be498f..5bfbbc48c29 100644 --- a/cms/forms/widgets.py +++ b/cms/forms/widgets.py @@ -2,7 +2,7 @@ from cms.forms.utils import get_site_choices, get_page_choices from cms.models import Page, PageUser, Placeholder from cms.plugin_pool import plugin_pool -from cms.utils import get_language_from_request +from cms.utils import get_language_from_request, cms_static_url from django.conf import settings from django.contrib.sites.models import Site from django.forms.widgets import Select, MultiWidget, Widget @@ -11,7 +11,6 @@ from django.utils.encoding import force_unicode from django.utils.safestring import mark_safe from django.utils.translation import ugettext as _ -from os.path import join import copy class PageSelectWidget(MultiWidget): @@ -130,13 +129,13 @@ def __init__(self, attrs=None): self.attrs = {} class Media: - js = [join(settings.CMS_MEDIA_URL, path) for path in ( - 'js/lib/ui.core.js', - 'js/lib/ui.sortable.js', + js = [cms_static_url(path) for path in ( + 'js/libs/jquery.ui.core.js', + 'js/libs/jquery.ui.sortable.js', 'js/plugin_editor.js', )] css = { - 'all': [join(settings.CMS_MEDIA_URL, path) for path in ( + 'all': [cms_static_url(path) for path in ( 'css/plugin_editor.css', )] } @@ -207,7 +206,7 @@ def render(self, name, value, attrs=None): ) context = { 'plugin_list': plugin_list, - 'installed_plugins': plugin_pool.get_all_plugins(ph.slot), + 'installed_plugins': plugin_pool.get_all_plugins(ph.slot, include_page_only=False), 'copy_languages': copy_languages, 'language': language, 'show_copy': bool(copy_languages) and ph.actions.can_copy, @@ -217,4 +216,4 @@ def render(self, name, value, attrs=None): #return mark_safe(render_to_string( # 'admin/cms/page/widgets/plugin_editor.html', context)) return mark_safe(render_to_string( - 'admin/cms/page/widgets/placeholder_editor.html', context, RequestContext(self.request))) \ No newline at end of file + 'admin/cms/page/widgets/placeholder_editor.html', context, RequestContext(self.request))) diff --git a/cms/locale/ar/LC_MESSAGES/django.mo b/cms/locale/ar/LC_MESSAGES/django.mo index 52abf072524..0885f8cf147 100644 Binary files a/cms/locale/ar/LC_MESSAGES/django.mo and b/cms/locale/ar/LC_MESSAGES/django.mo differ diff --git a/cms/locale/ar/LC_MESSAGES/django.po b/cms/locale/ar/LC_MESSAGES/django.po index d191a2a9db6..9ee11ae8bb2 100644 --- a/cms/locale/ar/LC_MESSAGES/django.po +++ b/cms/locale/ar/LC_MESSAGES/django.po @@ -1,119 +1,185 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"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" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "وضع التعديل" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "نشر" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "تسجيل خروج" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "القالب" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "انقل/أضف الصفحات" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "أضف ولداً للصفحة" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "أضف صفحة أخت" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "احذف الصفحة" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "الصفحة" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "إدارة الموقع" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "خيارات الصفحة" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "اعرض التاريخ" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "خيارات متقدمة" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "العنوان" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "العنوان الإفتراضي" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "العنوان الذي سيستخدم في الرابط" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "اللغة" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "اللغة الحالية لحقول المحتوى." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "توجد صفحة سابقة بنفس الـ Slug" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "عنوان القائمة" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "حرر المعروض في القائمة" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "عنوان الصفحة" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "حرر المعروض في أعلى متصفحك أو في الـ bookmarks." -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "التطبيقات" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "اربط تطبيق بهذه الصفحة" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "حرر عنوان الـ URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "اترك هذا الحقل فارغ اذا أردت استخدام العنوان الإفتراضي" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "إعادة توجيه" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "أعد التوجيه الى عنوان الـ URL هذا" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "معلومات عن هذه الصفحة، تستخدم من قبل محركات البحث" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "قائمة بكلمات مفتاحية مفصولة بفاصلة، تستعمل من قبل محركات البحث" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "توجد صفحة سابقة بعنوان الـ URL هذا" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "عنوان الـ URL غير صحيح. مثال: /my/url " -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "توجد صفحة سابقة بنفس الـ Slug" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "مستخدم" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." @@ -121,180 +187,206 @@ msgstr "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "حقوق إضافة الصفحةات تتطلب إضافة حقوق تعديل الصفحات أيضاً." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "عرض" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "الرجاء تحديد مستخدم أو مجموعة أولاً" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "أضف" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "تغيير" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "حذف" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "إسترجع (أي) صفحة" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "أعلم المستخدم" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"بعث رسالة تنبيهية للمسخدم حول تغيير اسم المستخدم أو كلمة المرور. يتطب " -"عنوان البريد الإلكتروني للمستخدم." +"بعث رسالة تنبيهية للمسخدم حول تغيير اسم المستخدم أو كلمة المرور. يتطب عنوان " +"البريد الإلكتروني للمستخدم." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "كلمة مرور الجديد" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "تأكيد كلمة المرور" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "التنبيه بالبريد الإلكتروني يتطلب بريد إلكتروني صحيح" -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "حقوق إضافة صفحات يتطلب حقوق تغيير الصفحات أولاً!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "حقوق إضافة مستخدمين جدد يتطلب حقوق تغيير مستخدمين أولاً!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "لكي تضيف الحقوق، عليك تعديلها أيضاً." -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "مخفي" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "إعدادات إفتراضية" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"ملاحظة: هذه الصفحة ستقوم بإعادة التحميل عند تغيير المحدد. قم بالحفظ " -"أولاً." +"ملاحظة: هذه الصفحة ستقوم بإعادة التحميل عند تغيير المحدد. قم بالحفظ أولاً." + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "مخفي" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "خيارات متقدمة" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "خيارات الإستمثال لمحركات البحث" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "أعلى" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "خطأ في قاعدة البيانات" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "صفحة" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "تم قبول الصفحة بنجاح!" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "الـ Object %(name)s بالعنوان المفتاحي %(key)r غير موجود." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "يوجد ترجمة واحدة متوفرة لهذه الصفحة" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "تم حذف العنوان والإضافات للغة %(language)s." -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "هل أنت متأكد؟" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "ليس لديك الحقوق لنشر هذه الصفحة" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "لا تملك الحقوق لتغيير حالة تصفح هذه الصفحة" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "لا تملك الحقوق لتغيير هذه الصفحة" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "يجب تحديد لغة مدعومة!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "تمت إضافة الإضافة %(plugin_name)s الى %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "تم نسخ إضافات اللغة %(language)s الى %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"تم تعديل الإضافة %(plugin_name)s في %(position)s الموجودة في " -"%(placeholder)s" +"تم تعديل الإضافة %(plugin_name)s في %(position)s الموجودة في %(placeholder)s" + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "تم نقل الإضافات" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " @@ -303,27 +395,50 @@ msgstr "" "تم حذف الإضافة %(plugin_name)s الموجودة في %(placeholder)s في المكان " "%(position)s." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "حقوق الصفخة" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "حقوق المستخدمين والمجموعات" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "إدارة حقوق الصفحة" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "لا تملك الحقوق لتغيير هذه الصفحة" + +#: admin/useradmin.py:25 msgid "User details" msgstr "معلومات المستخدم" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "المجموعات" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "كلمة المرور" @@ -335,7 +450,7 @@ msgstr "نسخ الحقوق" msgid "Copy moderation" msgstr "نسخ الإدارة" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "نسخ القالب من أقرب آب" @@ -355,27 +470,37 @@ msgstr "إضافة آخر" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "اللغة" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "صفحة" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "الموضع" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "تاريخ الإنشاء" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "slot" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin_name" @@ -400,15 +525,15 @@ msgstr "slug" msgid "everybody" msgstr "الجميع" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "يستطيع التعديل" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "مجموعات" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "يستطيع النشر" @@ -446,28 +571,28 @@ msgstr "الناشر" msgid "reverse url id" msgstr "reverse url id" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "يتطلب تسجيل الدخول" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "soft root" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "تاريخ نهاية النشر" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "القالب" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "تاريخ النشر" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "التصفح" @@ -477,7 +602,7 @@ msgstr "التصفح" msgid "application" msgstr "التطبيق" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -514,26 +639,21 @@ msgstr "تفرعات الصفحة" msgid "Page and descendants" msgstr "الصفحة وتفرعاتها" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "الصفحة" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "المستخدم" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "إدارة الصفحة" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "إدارة الأولاد" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "إدارة التفرعات" @@ -541,193 +661,200 @@ msgstr "إدارة التفرعات" msgid "PageModerator" msgstr "مدير الصفحة" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "تم الإنشاء" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "تم التغيير" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "delete req." -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "move req." -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publish req." -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "unpublish req." -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "تم القبول" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "حالة مدير الصفحة" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "حالات مدير الصفحة" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "req. app." -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "حذف" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "منشأ من قبل" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "مغير من قبل" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"When the page should go live. Status must be \"Published\" for page to " -"go live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "متى ستنتهي صلاحية الصفحة. إترك فارغاً لعدم التحديد" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "لن يتم عرض الآباء في التصفح" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "هل تم نشره؟" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "القالب المستعمل لعرض المحتوى." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "الموقع الذي ستتوفر الصفحة عن طريقه" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "الموقع" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "حالة المدير" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "الصفحات" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "تم نسخ الصفحة." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "الإفتراضي" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "يستطيع الإضافة" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "يستطيع الحذف" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "يستطيع تغيير الخيارات المتقدمة" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "يستطيع تغيير الصلاحيات" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "على مستوى الصفحة" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "يستطيع التحريك" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "يستطيع إدارة" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "يستطيع إسترجاع الصفحات" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "يستطيع إسترجاع أي صفحة محذوفة" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "عند عدم التحديد، سيتم إعطاء المستخدم الصلاحيات لكافة المواقع." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "المواقع" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "صلاحية الصفحة العامة" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "صلاحيات الصفحة العامة" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "السماح عند" @@ -735,28 +862,28 @@ msgstr "السماح عند" msgid "Page permission" msgstr "صلاحيات الصفحة" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "المستخدم (الصفحة)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "المستخدمين (الصفحة)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "مجموعة المستخدم (الصفحة)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "مجموعات المستخدم (الصفحة)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "العرض" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -781,6 +908,10 @@ msgstr "الملف" msgid "file" msgstr "الملف" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "فلاش" @@ -794,9 +925,18 @@ msgstr "استخدم ملف swf" msgid "height" msgstr "الطول" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "لا يوجد دعم لفلاش." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"لم يتم العثور على مشغل فلاش. حمل من هنا" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -854,19 +994,19 @@ msgstr "مخطط الطريق" msgid "Map" msgstr "الخريطة" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "احسب الطريق" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "قم بوراثة الإضافات من الصفحة" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "يجب أن يتم تعبئة اللغة أو الصفحة" @@ -875,8 +1015,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"قم باختيار صفحة ليتم وضع إضافاتها في مكان محدد، سيتم إختيار الصفحة " -"الحالية عند عدم التحديد." +"قم باختيار صفحة ليتم وضع إضافاتها في مكان محدد، سيتم إختيار الصفحة الحالية " +"عند عدم التحديد." #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -894,7 +1034,7 @@ msgid "name" msgstr "الاسم" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "رابط" @@ -915,40 +1055,44 @@ msgstr "" msgid "Picture" msgstr "الصورة" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "يسار" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "يمين" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "صورة" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "هل ستكون الصفحة الظاهرة قابلة للضغط" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "النص الثانوي" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "شرح نصي عن الصورة" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "شرح تفصيلي" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "شرح إضافي عن الصورة" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "جانبي" @@ -968,8 +1112,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -989,6 +1132,7 @@ msgid "If present image will be clickable." msgstr "هل ستكون الصورة الظاهر قابلة للضغط." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "المزيد" @@ -1006,51 +1150,52 @@ msgstr "الإضافات" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "الرجاء تحديد نوع الإضافة" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "تحرير الإضافة المحددة" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "المحرر النصي لا يدعم تحرير الـ objects." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "لم يتم تحديد أي object." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "المحرر النصي لا يسمح بإضافة الـ objects." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "هذه ليست إضافة" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "الإضافات المتوفرة" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "أضف إضافة" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "تويتر" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1085,6 +1230,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "جاري التحميل..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "فيديو" @@ -1106,12 +1276,13 @@ msgid "movie url" msgstr "عنوان url لملف الفيديو" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"عنوان url لفيديو على فيميو أو يوتيوب. مثال " -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"عنوان url لفيديو على فيميو أو يوتيوب. مثال http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1172,17 +1343,9 @@ msgstr "اللون الأعلى للزر" msgid "button highlight color" msgstr "لون التحديد للزر" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"لم يتم العثور على مشغل فلاش. حمل من هنا" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "حفظ" @@ -1200,20 +1363,17 @@ msgid "Save and add another" msgstr "احفظ وأضف جديد" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "إحفظ وأكمل التعديل" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "تحتاج الصفة %(page)s الموافقة منك." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "آخر تعديل" @@ -1222,28 +1382,21 @@ msgstr "آخر تعديل" msgid "Log in to administration here." msgstr "سجل الدخول للإدارة من هنا here." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "اسم المستخدم:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "كلمة المرور:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "غير صفحة" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1251,51 +1404,51 @@ msgstr "غير صفحة" msgid "Home" msgstr "الرئيسية" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "قبول حذف صفحة" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(يتطلب القبول من مستخدم بمستوى %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(يمكنك القيام بتغييرات على هذه الصفحة مباشرة)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "ألغي طلب الحذف" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "قبول الحذف" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "قبول" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "مسودة" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "عرض" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "تاريخ" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "اعرض على الموقع" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." @@ -1306,30 +1459,30 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "جميع الصلاحيات" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "جاري التحميل..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "حالة الصفحة" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"يجب إدارة الصفحة من مستخدم بمستوى %(moderation_level)s، أرسل رسالة إلى" -" المدير." +"يجب إدارة الصفحة من مستخدم بمستوى %(moderation_level)s، أرسل رسالة إلى " +"المدير." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "اطلب القبول" @@ -1337,41 +1490,41 @@ msgstr "اطلب القبول" msgid "List of pages" msgstr "قائمة بالصفحات" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "تم النقل بنجاح" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "حدث خطأ ما. الرجاء إعادة تحميل الصفحة." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "استرجع %(name)s المحذوف" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "أضف %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "صفحات عند:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "مرشح:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "على" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "غير مفعل" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "مرشح" @@ -1395,7 +1548,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "آخر تعديل" @@ -1409,8 +1566,7 @@ msgid "edit this page" msgstr "حرر هذه الصفحة" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "حرر" @@ -1466,7 +1622,6 @@ msgid "add" msgstr "أضف" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "قبول مباشر" @@ -1480,11 +1635,6 @@ msgstr "عرض" msgid "Unpublish" msgstr "التراجع عن النشر" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "نشر" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "عرض على الصفحة" @@ -1529,28 +1679,38 @@ msgstr "يستطيع تغيير الصلاحيات" msgid "Can move" msgstr "يستطيع النقل" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "يستطيع النقل" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(عام)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(حالي)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "الجميع" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "لن ترث الصفحة أي صلاحية" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "يمكنك حفظ نسخة سابقة من الإضافة!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "تم حفظ الإضافة بنجاح" @@ -1585,7 +1745,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "أضف إضافة" @@ -1609,126 +1768,62 @@ msgstr "لم يتم تحديد أي إضافة. المختارة تكون على msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "لم يتم تحديد أي إضافة. ضع إضافة في هذا المكان." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "قم بالنقل الى %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "هل أنت متأكد من أنك تريد حذف هذه الإضافة؟" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "وضع التعديل" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "اعلى" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "الحالة" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "اسفل" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "اسم المستخدم" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "تسجيل دخول" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "القالب" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "انقل" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "انقل/أضف الصفحات" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "أضف ولداً" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "أضف ولداً للصفحة" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "أضف أخوة" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "أضف صفحة أخت" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "احذف الصفحة" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "إدارة الموقع" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "خيارات الصفحة" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "التاريخ" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "اعرض التاريخ" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "تسجيل خروج" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "اقفل" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "أغلق" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "اعلى" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "اسفل" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "الحالة" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "خيارات" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "احذف الإضافة" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "فك الإرتباط مع مدير الصفحة" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "فك إرتباط الأولاد مع الإدارة" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "فك ربط الآباء مع الإدارة" @@ -1740,85 +1835,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "نظام ادارة المحتوى - تم انشاء المستخدم." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "نظام ادارة المحتوى - تم التغيير على حسابك." #: utils/moderator.py:83 msgid "parent first" @@ -1833,16 +1861,32 @@ msgstr "قبول" msgid "CMS - Page %s requires approvement." msgstr "نظام ادارة المحتوى - الصفحة %s تحتاج الى الموافقة." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "نظام ادارة المحتوى - تم انشاء المستخدم." +#~ msgid "Missing flash plugin." +#~ msgstr "لا يوجد دعم لفلاش." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "نظام ادارة المحتوى - تم التغيير على حسابك." +#~ msgid "Move to %(name)s" +#~ msgstr "قم بالنقل الى %(name)s" + +#~ msgid "move" +#~ msgstr "انقل" + +#~ msgid "add child" +#~ msgstr "أضف ولداً" + +#~ msgid "add sibling" +#~ msgstr "أضف أخوة" + +#~ msgid "history" +#~ msgstr "التاريخ" + +#~ msgid "Lock" +#~ msgstr "اقفل" + +#~ msgid "Close" +#~ msgstr "أغلق" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Settings" +#~ msgstr "خيارات" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "احذف الإضافة" diff --git a/cms/locale/ar/LC_MESSAGES/djangojs.mo b/cms/locale/ar/LC_MESSAGES/djangojs.mo index b98c380b6a7..b8f738e5ec2 100644 Binary files a/cms/locale/ar/LC_MESSAGES/djangojs.mo and b/cms/locale/ar/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/ar/LC_MESSAGES/djangojs.po b/cms/locale/ar/LC_MESSAGES/djangojs.po index 6073f6a8e54..81041a3821a 100644 --- a/cms/locale/ar/LC_MESSAGES/djangojs.po +++ b/cms/locale/ar/LC_MESSAGES/djangojs.po @@ -1,38 +1,38 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"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" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "هل أنت متأكد من تغيير الحقل %(field_name)s دون حفظ الصفحة أولاً؟" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "هل أنت متأكد من الإنتقال الى مكان آخر دون حفظ الصفحة أولاً؟" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "هل أنت متأكد من حذفك لهذه الإضافة؟" diff --git a/cms/locale/bg/LC_MESSAGES/django.mo b/cms/locale/bg/LC_MESSAGES/django.mo index 53566d4b7e9..7527e7ffd40 100644 Binary files a/cms/locale/bg/LC_MESSAGES/django.mo and b/cms/locale/bg/LC_MESSAGES/django.mo differ diff --git a/cms/locale/bg/LC_MESSAGES/django.po b/cms/locale/bg/LC_MESSAGES/django.po index c7a0e0ec55e..d53dda094cc 100644 --- a/cms/locale/bg/LC_MESSAGES/django.po +++ b/cms/locale/bg/LC_MESSAGES/django.po @@ -1,121 +1,185 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Публикувай" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Изход" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Изтрий страницата" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Страница" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Администрация на сайта" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Настройки на страницата" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Преглед на историята" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Разширени опции" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Заглавие" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Заглавие по подразбиране" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Слъг" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Часта от заглавието, показваща се в адреса" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Език" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Настоящия език на полетата със съдържанието." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Друга страница със този слъг вече съществува" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Заглавие на менюто" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Напишете показаното в менюто" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Заглавие на страницата" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "Напишете показаното отгоре във Вашия браузър или бележки" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Приложение" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Прикачи приложение на тази страница." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Напиши адрес" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -"Оставете това поле празно, ако трябва да бъде използван стандартен " -"път." +"Оставете това поле празно, ако трябва да бъде използван стандартен път." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Пренасочване" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Пренасочи до тази страница." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Описание на страницата, използвано от търсещите машини." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "A list of comma separated keywords sometimes used by search engines." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Страница със обратен адрес вече съществува." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Невалиден адрес, използвайте формат от типа на /моя/адрес" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Друга страница със този слъг вече съществува" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "потребител" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." @@ -123,211 +187,259 @@ msgstr "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Правата за добавяне изискват и права за редактиране." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "виж" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Първо изберете потребител или група." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Добави" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Промени" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Изтрий" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Възстанови (които и да е) страници" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Предопреди потребителя" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Изпращането на имейл предупреждение на потребителя изисква неговото " -"добавяне." +"Изпращането на имейл предупреждение на потребителя изисква неговото добавяне." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Нова парола" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Потвърждение на новата парола" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "И-мейл потвърждението изисква валиден имейл адрес." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "Правото за добавяне изисква и право за редактиране." -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Правото за добавяне на потребители изисква и правото за тяхното " -"редактиране." +"Правото за добавяне на потребители изисква и правото за тяхното редактиране." -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "За да можете да добавяте права трябва да можете и да ги редактирате." -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Скрито" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Основни настройки" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" "Забележка: страницата презарежда ако промените значението. Запазете " "промените първо." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Скрито" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Разширени настройки" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "SEO Настройки" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Нямате право да променяте тази страница" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "по-високо" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Грешка в БД" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "страница" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Страницата беше успешно удобрена." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(name)s обект с основен ключ %(key)r не съществува." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Съществува само един превод за тази страница." -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Заглавието и плъгините на %(language)s език бяха изтрити" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Сигурен ли сте?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Нямате права да публикувате тази страница" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "Нямате право да променяте статуса на навигацията на тази страница." -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Нямате право да променяте тази страница" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Езика трябва да бъде поддържан!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s плъгин добавен в %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Нямате право да променяте тази страница" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Езикът трябва да е различен от копирания език!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Нямате право да променяте тази страница" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Нямате право да променяте тази страница" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Нямате право да променяте тази страница" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" "%(plugin_name)s плъгин беше редактиран в позиция %(position)s на " "%(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Нямате право да променяте тази страница" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Плъгините бяха преместени" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Нямате право да променяте тази страница" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"%(plugin_name)s плъгин в позиция %(position)s на %(placeholder)s беше " -"изтрит." +"%(plugin_name)s плъгин в позиция %(position)s на %(placeholder)s беше изтрит." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Права на страницата" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Права на Потребител и Група" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Управление на правата на страницата" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Нямате право да променяте тази страница" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Нямате право да променяте тази страница" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Нямате право да променяте тази страница" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Потребителска информация" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Групи" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Парола" @@ -339,7 +451,7 @@ msgstr "Копирай правата" msgid "Copy moderation" msgstr "Копирай модерирането" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Наследи темплейта от най-близкия родител" @@ -359,27 +471,37 @@ msgstr "Добави друг" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "език" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "страница" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "позиция" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "дата на създаване" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "слот" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin name" @@ -404,15 +526,15 @@ msgstr "слъг" msgid "everybody" msgstr "всеки" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "може да се редактира" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "група" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "може да публикува" @@ -450,28 +572,28 @@ msgstr "автор" msgid "reverse url id" msgstr "обръщане на url по id" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "необходима е оторизация" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "мека-основа" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "крайна дата на публикацията" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "темплейт" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "дата на публикуване" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "в навигацията" @@ -481,7 +603,7 @@ msgstr "в навигацията" msgid "application" msgstr "приложение" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -518,26 +640,21 @@ msgstr "Потомци на страницата" msgid "Page and descendants" msgstr "Страница и потомци" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Страница" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Потребител" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Модерирай страницата" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Модерирай децата" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Модерирай потомците" @@ -545,191 +662,198 @@ msgstr "Модерирай потомците" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "създадена" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "променена" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "deletion request" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "move request" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publish request" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "unpublish request" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "одобрена" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Статус на модератор на страницата" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Статуси на модератори" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "approval required" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "изтрий" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "създадена от" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "променена от" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "За да се вижда страницата статуса трябва да е \"Публикувана\"" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Кога да изтече страницата? Остави празно за да не изтича." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Всички прародители няма да бъдат показвани в навигацията" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Уникален идентификатор, използван с page_url темплейт тага за " -"създаване на връзка до тази страница." +"Уникален идентификатор, използван с page_url темплейт тага за създаване на " +"връзка до тази страница." -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "публикувано" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Шаблон използван за показването на съдържанието." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Тази страница от сайта е достъпна на." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "сайт" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "статус на модератор" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "страници" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Страницата беше копирана." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "по подразбиране" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "може да добавя" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "може да трие" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "може да променя разширени настройки" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "може да променя разрешения" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "на ниво на страницата" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "може да се движи" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "може да модерира" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "може да възтановява страници" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "може да възтановява всякаква изтрита страница" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "сайтове" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Глобални права на страницата" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Глобални права на страниците" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -737,28 +861,28 @@ msgstr "" msgid "Page permission" msgstr "Права на страницата" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Потребител (страница)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Потребители (страница)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Потребителска група (страница)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Потребителски групи (страница)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "широчина" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -783,6 +907,10 @@ msgstr "Файл" msgid "file" msgstr "файл" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Флаш" @@ -796,9 +924,15 @@ msgstr "използвай swf файл" msgid "height" msgstr "височина" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Липсващ flash Плъгин" +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -835,8 +969,7 @@ msgstr "ширина" #: plugins/googlemap/models.py:19 msgid "Use latitude & longitude to fine tune the map possiton." msgstr "" -"Използвайте latitude & longitude за да определите позицията на " -"картата." +"Използвайте latitude & longitude за да определите позицията на картата." #: plugins/googlemap/models.py:20 msgid "longitude" @@ -858,19 +991,19 @@ msgstr "" msgid "Map" msgstr "Карта" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Изчисли маршрута" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Наследяване на плъгини от страница" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -896,7 +1029,7 @@ msgid "name" msgstr "име" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "връзка" @@ -917,40 +1050,44 @@ msgstr "Имейл адрес има приоритет над текстов л msgid "Picture" msgstr "Картинка" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "ляво" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "дясно" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "картинка" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "ако може да се натиска настоящата снимка" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "алтернативен текст" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "текстово описание на снимката" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "дълго описание" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "допълнително описание на снимката" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "страна" @@ -970,8 +1107,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -991,6 +1127,7 @@ msgid "If present image will be clickable." msgstr "Ако снимката ще се натиска" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "повече" @@ -1008,51 +1145,52 @@ msgstr "Добавки" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Моля, изберете тип на добавката." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Промени избраната добавка" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Текстовия редактор не поддържа редактиране на обекти." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Няма избран обект." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Текстовия редактор не поддържа вкарване на обекти." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Не е плъгин обект" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Достъпни плъгини" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Вмъкни добавка" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1075,8 +1213,8 @@ msgstr "подсказка на връзката" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Ако бъде предоставено, подсказката ще бъде показана като линк до Вашия" -" Twitter профил." +"Ако бъде предоставено, подсказката ще бъде показана като линк до Вашия " +"Twitter профил." #: plugins/twitter/models.py:16 msgid "query" @@ -1089,6 +1227,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Зареждане..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Видео" @@ -1111,8 +1274,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1174,15 +1337,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Запази" @@ -1200,22 +1357,19 @@ msgid "Save and add another" msgstr "Запази и добави нов" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Запази и продължи да редактираш" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" "Страницата %(page)s може да изисква " "потвърждение от Вас." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Последни промени" @@ -1224,28 +1378,21 @@ msgstr "Последни промени" msgid "Log in to administration here." msgstr "Влезте в администрацията тук." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Потребител:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Парола:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Редактиране на страница" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1253,79 +1400,79 @@ msgstr "Редактиране на страница" msgid "Home" msgstr "Начало" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Потвърди изтриването на страницата" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(изисква потвърждение на %(moderation_level)s модераторско ниво)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(можете да извършвате действия директно на тази страница)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Изтрий заявката за изтриване" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Потвърди изтриването" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Потвърди" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "чернова" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Преглед" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "История" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Виж на сайта" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Всички права" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Зареждане..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Статуси на страниците" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Поискайте одобряване" @@ -1333,41 +1480,41 @@ msgstr "Поискайте одобряване" msgid "List of pages" msgstr "Списък със страниците" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Успешно преместено" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Станала е грешка, презаредете страницата." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Възстановете изтритото %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Добави %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Страници на:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Филтър:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "включено" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "изключено" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Филтър" @@ -1391,7 +1538,11 @@ msgstr "начало" msgid "end" msgstr "край" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "последни промени" @@ -1405,8 +1556,7 @@ msgid "edit this page" msgstr "редактирай тази страница" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "редактирай" @@ -1462,7 +1612,6 @@ msgid "add" msgstr "добави" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Директно одобри" @@ -1476,11 +1625,6 @@ msgstr "виж" msgid "Unpublish" msgstr "Не публикувай" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Публикувай" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Виж на страницата" @@ -1525,28 +1669,38 @@ msgstr "Може да сменя правата" msgid "Can move" msgstr "Може да мести" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Може да мести" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(глобално)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(текущо)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Всички" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Страницата не наследява права." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Стара версия на плъгина не може да бъде запазена!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Плъгина е преместен успешно." @@ -1581,7 +1735,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Добави плъгин" @@ -1605,126 +1758,62 @@ msgstr "Няма избрани плъгини. Изберете един отл msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "В момента няма плъгини. Добавете за съответния placeholder." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Наистина ли искате да изтриете този плъгин?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Статус" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "Потребителско име" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "влез" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Изтрий страницата" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Администрация на сайта" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Настройки на страницата" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "история" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Преглед на историята" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Изход" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" +msgstr "Потребителско име" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Затвори" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" +msgstr "влез" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Статус" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Настройки" - -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Развържи страницата за модериране" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Развържи модерирането на децата" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Развържи модерирането на потомците" @@ -1736,85 +1825,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS — Вашия потребителски профил беше създаден." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS — Вашия потребителски профил беше променен." #: utils/moderator.py:83 msgid "parent first" @@ -1829,13 +1851,17 @@ msgstr "потвърди" msgid "CMS - Page %s requires approvement." msgstr "CMS - Страницата %s изисква одобряване." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS — Вашия потребителски профил беше създаден." +#~ msgid "Missing flash plugin." +#~ msgstr "Липсващ flash Плъгин" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS — Вашия потребителски профил беше променен." +#~ msgid "history" +#~ msgstr "история" + +#~ msgid "Close" +#~ msgstr "Затвори" + +#~ msgid "Settings" +#~ msgstr "Настройки" #~ msgid "fgcolor" #~ msgstr "foreground color" diff --git a/cms/locale/bg/LC_MESSAGES/djangojs.mo b/cms/locale/bg/LC_MESSAGES/djangojs.mo index 7eae8aaaeec..f83ae33decf 100644 Binary files a/cms/locale/bg/LC_MESSAGES/djangojs.mo and b/cms/locale/bg/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/bg/LC_MESSAGES/djangojs.po b/cms/locale/bg/LC_MESSAGES/djangojs.po index 81f778cc617..a65a75e306e 100644 --- a/cms/locale/bg/LC_MESSAGES/djangojs.po +++ b/cms/locale/bg/LC_MESSAGES/djangojs.po @@ -1,42 +1,40 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Наистина ли искате да промените %(field_name)s и без запазване на " -"страница първа?" +"Наистина ли искате да промените %(field_name)s и без запазване на страница " +"първа?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Наистина ли искате да промените раздели, без да записвате страница " -"първа?" +"Наистина ли искате да промените раздели, без да записвате страница първа?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Наистина ли искате да изтриете този плъгин?" diff --git a/cms/locale/bn/LC_MESSAGES/django.mo b/cms/locale/bn/LC_MESSAGES/django.mo index 937186085b8..93fe3365168 100644 Binary files a/cms/locale/bn/LC_MESSAGES/django.mo and b/cms/locale/bn/LC_MESSAGES/django.mo differ diff --git a/cms/locale/bn/LC_MESSAGES/django.po b/cms/locale/bn/LC_MESSAGES/django.po index 99d1101d258..4091e0c0ac2 100644 --- a/cms/locale/bn/LC_MESSAGES/django.po +++ b/cms/locale/bn/LC_MESSAGES/django.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: Benjamin Wohlwend \n" "Language-Team: divio.ch \n" "MIME-Version: 1.0\n" @@ -20,300 +20,407 @@ msgstr "" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "" -#: admin/forms.py:131 -msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +#: admin/forms.py:138 +msgid "" +"Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:337 -msgid "Email notification requires valid email address." -msgstr "" - #: admin/forms.py:339 -msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +msgid "Email notification requires valid email address." msgstr "" #: admin/forms.py:341 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new pages requires the permission to change pages!" msgstr "" #: admin/forms.py:343 -msgid "To add permissions you also need to edit them!" +msgid "" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:504 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:676 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" +msgstr "" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -325,7 +432,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +452,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +507,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +553,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +584,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -504,26 +621,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +643,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +840,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +886,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +903,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +969,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1007,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1028,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1085,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1105,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1123,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1203,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1249,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: " +"http://www.youtube.com/watch?v=-iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1312,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1180,20 +1332,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1202,28 +1351,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,79 +1373,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1311,41 +1453,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1369,7 +1511,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1383,8 +1529,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1440,7 +1585,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1454,11 +1598,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1503,28 +1642,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1559,7 +1707,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1583,126 +1730,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1718,80 +1800,12 @@ msgid "" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1807,16 +1821,16 @@ msgstr "" msgid "CMS - Page %s requires approvement." msgstr "" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#~ msgid "move" +#~ msgstr "move request" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#~ msgid "sidebar column" +#~ msgstr "background color" #~ msgid "fgcolor" -#~ msgstr "" +#~ msgstr "foreground color" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgstr "Requested language has not been translated yet." + + diff --git a/cms/locale/bn/LC_MESSAGES/djangojs.mo b/cms/locale/bn/LC_MESSAGES/djangojs.mo index db923698f5d..482438314ef 100644 Binary files a/cms/locale/bn/LC_MESSAGES/djangojs.mo and b/cms/locale/bn/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/bn/LC_MESSAGES/djangojs.po b/cms/locale/bn/LC_MESSAGES/djangojs.po index ac09b5254de..ed14b75388e 100644 --- a/cms/locale/bn/LC_MESSAGES/djangojs.po +++ b/cms/locale/bn/LC_MESSAGES/djangojs.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -17,22 +17,24 @@ msgstr "" "Language: bn\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" + + diff --git a/cms/locale/ca/LC_MESSAGES/django.mo b/cms/locale/ca/LC_MESSAGES/django.mo index b014192738b..7822e52a051 100644 Binary files a/cms/locale/ca/LC_MESSAGES/django.mo and b/cms/locale/ca/LC_MESSAGES/django.mo differ diff --git a/cms/locale/ca/LC_MESSAGES/django.po b/cms/locale/ca/LC_MESSAGES/django.po index eaf4cf106d9..b4c058df3b7 100644 --- a/cms/locale/ca/LC_MESSAGES/django.po +++ b/cms/locale/ca/LC_MESSAGES/django.po @@ -1,340 +1,453 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Mode d'edició" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publicar" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Sortir" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Plantilla" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Moure o afegir pàgines" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "afegir una pàgina filla" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Afegir una pàgina germana" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Eliminar pàgina" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Pàgina" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Administració del lloc" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Configuració de la pàgina" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Veure l'historial" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Opcions avançades" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Títol" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "El títol per defecte" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "La part del títol que s'utilitza en la direcció URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Idioma" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "El llenguatge actual dels camps de contingut." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Una altra pàgina amb aquest slug ja existeix" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Títol del menú" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Sobreescriure el que es mostra al menú" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Títol de la pàgina" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Sobreescriu el que es mostra a la part superior del navegador o en els" -" seus favorits" +"Sobreescriu el que es mostra a la part superior del navegador o en els seus " +"favorits" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplicació" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Enllaça l'aplicació a aquesta pàgina." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Sobreescriu URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Manté aquest camp buit si s'ha d'usar la ruta per defecte" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Redirigir" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Redirecciona a aquesta URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Una descripció de la pàgina a vegades utilitzada pels motors de cerca." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Una llista de paraules clau separades per comes a vegades utilitzada " -"pels motors de cerca." +"Una llista de paraules clau separades per comes a vegades utilitzada pels " +"motors de cerca." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Una pàgina amb una URL que correspon amb aquest id ja existeix." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "URL no vàlida, utilitzeu el format /meu/url. " -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Una altra pàgina amb aquest slug ja existeix" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "usuari" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Afegir el permís pàgina requereix també l'accés als fills, o " -"descendents, en cas contrari la pàgina afegida no podria ser " -"modificada pel seu creador." +"Afegir el permís pàgina requereix també l'accés als fills, o descendents, en " +"cas contrari la pàgina afegida no podria ser modificada pel seu creador." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "El permís Afegir pàgina també requereix permisos d'edició de pàgina." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "veure" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Si us plau, seleccioneu l'usuari o el grup primer." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Afegir" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Canviar" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Esborrar" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Recuperar (les pàgines)" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Notificar a l'usuari" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Enviar notificació per correu electrònic a l'usuari sobre el canvi nom" -" d'usuari o contrasenya. Requereix del correu electrònic de l'usuari." +"Enviar notificació per correu electrònic a l'usuari sobre el canvi nom " +"d'usuari o contrasenya. Requereix del correu electrònic de l'usuari." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nova contrasenya" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Nova confirmació de la contrasenya" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "" "Notificació per correu electrònic requereix d'una adreça de correu " "electrònic vàlida." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"El permís per afegir noves pàgines requereix el permís per modificar " -"pàgines!" +"El permís per afegir noves pàgines requereix el permís per modificar pàgines!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"El permís per afegir nous usuaris requereix el permís per modificar " -"usuaris!" +"El permís per afegir nous usuaris requereix el permís per modificar usuaris!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Per afegir permisos també és necessari poder editar-los!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Ocult" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Configuració bàsica" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Nota: Aquesta plana es torna a carregar si canvia la selecció. Desa-la" -" primer." +"Nota: Aquesta plana es torna a carregar si canvia la selecció. Desa-la " +"primer." + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Ocult" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Configuració avançada" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Ajustaments de SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "major" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Error de la base de dades" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "pàgina" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "La plana ha estat aprovada" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "L'objecte %(name)s amb la clau primària %(key)r no existeix." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "No només hi ha una traducció per a aquesta pàgina" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Títol i connectors per %(language)s s'han eliminat" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Estàs segur?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "No tens permís per publicar aquesta pàgina" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "No tens permisos per canviar l'estat d'aquesta pàgina a la navegació" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "No tens permisos per modificar aquesta pàgina" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "El llenguatge ha de ser un dels llenguatges suportats!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "El connector %(plugin_name)s s'ha afegit a %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "El llenguatge ha de ser diferent del copiat!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "El connector %(language)s s'ha copiat a %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" "El connector %(plugin_name)s s'ha editat a la posició %(position)s de " "%(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Els connectors s'han mogut" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"El connector %(plugin_name)s a la posició %(position)s de " -"%(placeholder)s s'ha esborrat" +"El connector %(plugin_name)s a la posició %(position)s de %(placeholder)s " +"s'ha esborrat" + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Permisos de pàgina" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Permisos de Usuari i Grup" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Gestió de permisos de la Pàgina" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "No tens permisos per modificar aquesta pàgina" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Detalls de l'usuari" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Grups" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Contrasenya" @@ -346,7 +459,7 @@ msgstr "Copiar permisos" msgid "Copy moderation" msgstr "Copiar moderació" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Hereta la plantilla del l'ancestre més pròxim" @@ -366,27 +479,37 @@ msgstr "Afegir un altre" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "llenguatge" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "pàgina" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "posició" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "cata de creació" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "espai" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "nom_del_connector" @@ -411,15 +534,15 @@ msgstr "slug" msgid "everybody" msgstr "tothom" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "pot editar" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "grup" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "pot publicar" @@ -457,28 +580,28 @@ msgstr "autor" msgid "reverse url id" msgstr "inverteix la id de la url" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "necessita identificació" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "arrel tova" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "data final de publicació" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "plantilla" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "data de publicació" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "en la navegació" @@ -488,7 +611,7 @@ msgstr "en la navegació" msgid "application" msgstr "aplicació" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -525,26 +648,21 @@ msgstr "Descendents de la pàgina" msgid "Page and descendants" msgstr "Pàgina i descendents" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Pàgina" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Usuari" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Modera la pàgina" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Modera els fills" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Modera els descendents" @@ -552,193 +670,199 @@ msgstr "Modera els descendents" msgid "PageModerator" msgstr "ModeradorDePagina" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "creat" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "modificat" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "esborrar req." -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "moure req." -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publicar req." -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "despublicar req." -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "aprovat" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Estat de moderació de la pàgina" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Estats de moderació de la pàgina" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "app. req." -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "borra" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "creat per" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "modificat per" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "Quan la pàgina ha d'anar a producció l'estat ha de ser \"Publicat\"." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Quan expira la pàgina. Deixa buit perquè no caduqui mai." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Tots els avantpassats no es mostraran al menú de navegació" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" "Un identificador únic que s'utilitza amb el page_url_templatetag per " "enllaçar-se a aquesta pàgina" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "publicada" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "La plantilla utilitza per representar el contingut." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "El lloc de la pàgina es pot consultar a." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "lloc" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "estat de moderació" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "pàgines" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Pàgina copiada" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "defecte" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "pot afegir" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "pot eliminar" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "Pot canviar la configuració avançada" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "pot canviar els permisos" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "al nivell de pàgina" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "pot moure" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "pot moderar" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "pot recuperar pàgines" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "pot recuperar qualsevol pàgina eliminada" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"Si no hi ha res seleccionat, l'usuari tindrà permisos concedits a tot " -"arreu." +"Si no hi ha res seleccionat, l'usuari tindrà permisos concedits a tot arreu." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "llocs" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Permisos globals de pàgina" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Permisos globals de pàgines" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Autoritza a" @@ -746,28 +870,28 @@ msgstr "Autoritza a" msgid "Page permission" msgstr "Permís de pàgina" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Usuari (pàgina)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Usuaris (pàgina)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Grup d'usuaris (pàgina)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Grups d'usuaris (pàgina)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "ample" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -792,6 +916,10 @@ msgstr "Arxiu" msgid "file" msgstr "arxiu" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -805,9 +933,18 @@ msgstr "utilitzar l'arxiu swf" msgid "height" msgstr "alçada" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Falta el plugin de flash." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Falta plugin de flash. Descarregar aquí" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -865,19 +1002,19 @@ msgstr "planificador de rutes" msgid "Map" msgstr "Mapa" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Calcular ruta" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Heretar Connectors des de la pàgina" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Es necessari emplenar la llengua o la pàgina" @@ -905,7 +1042,7 @@ msgid "name" msgstr "nom" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "enllaç" @@ -926,40 +1063,44 @@ msgstr "Una adreça de correu electrònic té prioritat sobre un enllaç de text msgid "Picture" msgstr "Imatge" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "esquerra" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "dret" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "imatge" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "si hi és la imatge actual es podrà clicar" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "text alternatiu" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "descripció textual de la imatge" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "descripció llarga" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "descripció addicional de la imatge" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "costat" @@ -979,8 +1120,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" "Introduex la plantilla (i.e. \"snippets/plugin_xy.html\") que serà " "renderitzada. " @@ -1002,6 +1142,7 @@ msgid "If present image will be clickable." msgstr "Si hi hés la imatge serà clicable." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "més" @@ -1019,51 +1160,52 @@ msgstr "Connectors" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Si us plau, seleccioneu un tipus de connector." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Edita el connector seleccionat" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "L'editor de text no admet l'edició d'objectes." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Cap objecte seleccionat." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "L'editor de text no és compatible amb la inserció d'objectes." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "No és un connector" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Connectors disponibles" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Inseriu connector" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1086,8 +1228,7 @@ msgstr "ajuda de l'enllaç" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Si s'indica, l'ajuda es mostrarà com a enllaç al seu perfil de " -"Twitter." +"Si s'indica, l'ajuda es mostrarà com a enllaç al seu perfil de Twitter." #: plugins/twitter/models.py:16 msgid "query" @@ -1100,6 +1241,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Carregant ..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Vídeo" @@ -1121,12 +1287,13 @@ msgid "movie url" msgstr "url de la película" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"vimeo o URL del vídeo youtube. Exemple: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo o URL del vídeo youtube. Exemple: http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1187,17 +1354,9 @@ msgstr "color del botó estant a sobre" msgid "button highlight color" msgstr "color de ressaltat del botó" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Falta plugin de flash. Descarregar aquí" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Desa" @@ -1215,22 +1374,18 @@ msgid "Save and add another" msgstr "Desar i afegir un altre" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Guardar i continuar editant" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"La pàgina %(page)s pot requerir que " -"l'aprovis." +"La pàgina %(page)s pot requerir que l'aprovis." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Darrers canvis" @@ -1239,28 +1394,21 @@ msgstr "Darrers canvis" msgid "Log in to administration here." msgstr "Entra en l'administració aquí ." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Nom d'usuari:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Contrasenya:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Canviar una pàgina" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1268,81 +1416,81 @@ msgstr "Canviar una pàgina" msgid "Home" msgstr "Inici" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Aprovar la supressió de la plana" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(Requereix confirmació a nivell %(moderation_level)s )" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(Es poden dur a terme accions en aquesta pàgina directament)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Traieu eliminar petició" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Aprovar eliminar" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Aprovar" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "esborrany" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Visualització prèvia" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Història" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Veure en el lloc" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Si us plau, corregiu l'error de sota." msgstr[1] "Si us plau, corregiu els errors de sota." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Tots els permisos" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Carregant ..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Estat de la pàgina" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Aquesta pàgina ha de ser moderat en el nivell %(moderation_level)s , " -"envia un missatge per al moderador." +"Aquesta pàgina ha de ser moderat en el nivell %(moderation_level)s , envia " +"un missatge per al moderador." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Sol.licitud d'aprovació" @@ -1350,41 +1498,41 @@ msgstr "Sol.licitud d'aprovació" msgid "List of pages" msgstr "Llista de pàgines" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Tralladat amb èxit" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "S'ha produït un error. Si us plau, torneu a carregar la pàgina" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Recuperar %(name)s " -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Afegir %(name)s " -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Les pàgines a:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtre:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "a" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "de" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtre" @@ -1408,7 +1556,11 @@ msgstr "inici" msgid "end" msgstr "final" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "darrers canvis" @@ -1422,8 +1574,7 @@ msgid "edit this page" msgstr "edita aquesta pàgina" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "edita" @@ -1479,7 +1630,6 @@ msgid "add" msgstr "afegir" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Aprovar directament" @@ -1493,11 +1643,6 @@ msgstr "veure" msgid "Unpublish" msgstr "No publicar" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publicar" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Veure a la pàgina" @@ -1542,28 +1687,38 @@ msgstr "Pot canviar permisos" msgid "Can move" msgstr "Pot moure" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Pot moure" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(actual)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Tots" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "La pàgina no hereta cap permís." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Una revisió antiga d'un connector no es pot guardar!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Connector desat correctament." @@ -1598,7 +1753,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Afegir connector" @@ -1621,129 +1775,64 @@ msgstr "Ho has seleccionat cap connector. Tria'n un de l'esquerra" #: templates/admin/cms/page/widgets/plugin_editor.html:17 msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -"No hi ha connectors. Afegir un connector per aquest marcador de " -"posició." +"No hi ha connectors. Afegir un connector per aquest marcador de posició." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Mou a %(name)s " +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Estàs segur que vols eliminar aquest plugin?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Mode d'edició" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "amunt" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Estat" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "avall" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Nom d'usuari" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "login" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Plantilla" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "moure" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Moure o afegir pàgines" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "afegir fill" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "afegir una pàgina filla" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "afegir un germà" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Afegir una pàgina germana" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Eliminar pàgina" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Administració del lloc" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Configuració de la pàgina" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "història" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Veure l'historial" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Sortir" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Bloquejar" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Tancar" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "amunt" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "avall" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Estat" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Configuració" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Borrar plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Deslligar la moderació de pàgina" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Deslligar la moderació de fills" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Deslligar la moderació de descendents" @@ -1755,85 +1844,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - el teu compte d'usuari s'ha creat." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - el teu compte d'usuari ha canviat." #: utils/moderator.py:83 msgid "parent first" @@ -1848,16 +1870,32 @@ msgstr "aprovar" msgid "CMS - Page %s requires approvement." msgstr "CMS - La pàgina %s requereix aprovació." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - el teu compte d'usuari s'ha creat." +#~ msgid "Missing flash plugin." +#~ msgstr "Falta el plugin de flash." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - el teu compte d'usuari ha canviat." +#~ msgid "Move to %(name)s" +#~ msgstr "Mou a %(name)s " + +#~ msgid "move" +#~ msgstr "moure" + +#~ msgid "add child" +#~ msgstr "afegir fill" + +#~ msgid "add sibling" +#~ msgstr "afegir un germà" + +#~ msgid "history" +#~ msgstr "història" + +#~ msgid "Lock" +#~ msgstr "Bloquejar" + +#~ msgid "Close" +#~ msgstr "Tancar" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Settings" +#~ msgstr "Configuració" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "Borrar plugin" diff --git a/cms/locale/ca/LC_MESSAGES/djangojs.mo b/cms/locale/ca/LC_MESSAGES/djangojs.mo index e67779bc437..fb440aa6cce 100644 Binary files a/cms/locale/ca/LC_MESSAGES/djangojs.mo and b/cms/locale/ca/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/ca/LC_MESSAGES/djangojs.po b/cms/locale/ca/LC_MESSAGES/djangojs.po index 067f8f1cb45..37efb69ec45 100644 --- a/cms/locale/ca/LC_MESSAGES/djangojs.po +++ b/cms/locale/ca/LC_MESSAGES/djangojs.po @@ -1,42 +1,39 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Estàs segur que vols canviar el %(field_name) sense guardar primer la " -"plana?" +"Estàs segur que vols canviar el %(field_name) sense guardar primer la plana?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Estàs segur que voleu canviar de secció sense guardar la primera " -"pàgina?" +"Estàs segur que voleu canviar de secció sense guardar la primera pàgina?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Estàs segur que vols eliminar aquest plugin?" diff --git a/cms/locale/cs/LC_MESSAGES/django.mo b/cms/locale/cs/LC_MESSAGES/django.mo index d36e5d68cc8..9516bcccd43 100644 Binary files a/cms/locale/cs/LC_MESSAGES/django.mo and b/cms/locale/cs/LC_MESSAGES/django.mo differ diff --git a/cms/locale/cs/LC_MESSAGES/django.po b/cms/locale/cs/LC_MESSAGES/django.po index 94ebd2d5e1c..07a53fb3326 100644 --- a/cms/locale/cs/LC_MESSAGES/django.po +++ b/cms/locale/cs/LC_MESSAGES/django.po @@ -1,123 +1,186 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Režim úprav" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publikovat" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Odhlásit" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Šablona" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Přesun/přidání stránek" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Přidat potomka" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Přidat stránku ve stejné hloubce" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Smazat stránku" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Stránka" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Správa" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Nastavení stránky" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Zobrazit historii" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Pokročilé nastavení" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Název" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Předvolený název" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Identifikátor" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Část názvu, která je použita v URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Jazyk" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Aktuální jazyk políček s obsahem" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Už existuje jiná stránka s tímto identifikátorem" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Název menu" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Přepsat to, co se zobrazuje v menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Název stránky" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Přepsat to, co se zobrazuje v horní části vašeho prohlížeče nebo v " -"záložkách" +"Přepsat to, co se zobrazuje v horní části vašeho prohlížeče nebo v záložkách" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplikace" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Připojit aplikaci k této stránce." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Přepsat URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Ponechejte toto políčko prázdné, pokud se má použít standardní cesta." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Přesměrování" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Přesměruje se na tuto URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Popis stránky, který mohou indexovat vyhledávače." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Seznam klíčových slov oddělených čárkou, které mohou indexovat " -"vyhledávače." +"Seznam klíčových slov oddělených čárkou, které mohou indexovat vyhledávače." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Stránka s takovu hodnotou reverse URL id již existuje." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Neplatná URL, použijte formát /moje/url/adresa." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Už existuje jiná stránka s tímto identifikátorem" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "uživatel" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." @@ -125,205 +188,256 @@ msgstr "" "Právo na přidání stránky vyžaduje také přístup k \"vnořeným\" stránkám, " "jinak tyto stránky nebude moci editovat jejich autor." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Právo na přidání stránky vyžaduje také právo na editaci stránky." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "zobrazit" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Zvolte nejdřív uživatele nebo skupinu, prosím." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Přidat" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Změnit" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Odstranit" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Obnovit (nějaké) stránky" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Informovat uživatele" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Posílat uživateli informační email o změně uživatelského jména nebo " -"hesla. Vyžaduje uživatelův email." +"Posílat uživateli informační email o změně uživatelského jména nebo hesla. " +"Vyžaduje uživatelův email." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nové heslo" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Potvrzení nového hesla" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Emailová notifikace vyžaduje platnou emailovou adresu." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "Právo na přidávání nových stránek vyžaduje právo na změnu stránek!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "Právo na přidávání nových uživatelů vyžaduje právo na změnu uživatelů!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Přidávání přístupových práv vyžaduje také právo na jejich změnu" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Skryté" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Základní nastavení" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Upozornění: Při změně výběru se stránka se znovu načte. Provedené " -"změny nejprve uložte." +"Upozornění: Při změně výběru se stránka se znovu načte. Provedené změny " +"nejprve uložte." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Skryté" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Rozšířené možnosti" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "SEO nastavení" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "výš" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Databázová chyba" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "stránka" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Stránka byla úspěšně schválena." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Tato stránka existuje pouze v jedné jazykové variantě" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Jste si jist?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Nemáte oprávnění k publikování této stránky" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "Nemáte oprávnění měnit tuto vlastno dané stránky." -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Nemáte oprávnění měnit tuto stránku" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Zadaný jazyk není podporovaný, zvolte jiný." -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Jazyk kopie se musí lišit od jazyka původní stránky" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Typy obsahu byly přesunuty" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Práva stránky" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Práva uživatele/skupiny" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Správa práv stránky" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Nemáte oprávnění měnit tuto stránku" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Detaily uživatele" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Skupiny" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Heslo" @@ -335,7 +449,7 @@ msgstr "Zkopírovat oprávnění" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Podědit šablonu nejbližšího předka" @@ -355,27 +469,37 @@ msgstr "Přidat další" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "jazyk" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "stránka" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "pozice" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "datum vytvoření" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "pozice" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "nazev_typu_obsahu" @@ -400,15 +524,15 @@ msgstr "podoba URL" msgid "everybody" msgstr "všichni" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "smí upravovat" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "skupina" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "smí publikovat" @@ -446,28 +570,28 @@ msgstr "autor" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "vyžaduje přihlášení" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "publikováno do" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "šablona" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "datum publikace" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "v navigaci" @@ -477,7 +601,7 @@ msgstr "v navigaci" msgid "application" msgstr "aplikace" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -514,26 +638,21 @@ msgstr "Všichni potomci stránky" msgid "Page and descendants" msgstr "Tato stránka ₊ všichni potomci" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Stránka" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Uživatel" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Správa stránky" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Správa potomků stránky" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -541,189 +660,196 @@ msgstr "" msgid "PageModerator" msgstr "Správce" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "vytvořeno" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "změněno" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "požad. smazání" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "požad. přesunu" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "požad. publikace" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "požad. depublikace" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "smazat" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "vytvořil" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "změnil" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Doba vypršení stránky. Prázdné pole = neomezená platnost" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Potomci nebudou zobrazeni v navigaci" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "publikováno" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Šablona pro vykreslení obsahu" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "stránky" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Stránka byla zkopírována." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "výchozí" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "smí přidávat" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "smí mazat" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "smí měnit Rozšířené možnosti" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "smí měnit oprávnění" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "na úrovni stránky" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "smí přesunovat" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "správa" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "obnova stránky" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "obnova smazané stránky" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Globální oprávnění stránky" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Globální oprávnění stránek" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Platné pro" @@ -731,28 +857,28 @@ msgstr "Platné pro" msgid "Page permission" msgstr "Práva stránky" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Uživatel (stránka)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Uživatelé (stránka)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Skupina uživatel (stránka)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Skupiny uživatel (stránka)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "šírka" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -777,6 +903,10 @@ msgstr "Soubor" msgid "file" msgstr "soubor" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -790,9 +920,15 @@ msgstr "použít swf soubor" msgid "height" msgstr "výška" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Chybí zásuvný modul pro Flash" +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -850,19 +986,19 @@ msgstr "plánovač cesty" msgid "Map" msgstr "Mapa" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Spočítat cestu" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Podědit typy obsahu ze stránky" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -888,7 +1024,7 @@ msgid "name" msgstr "jméno" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "odkaz" @@ -909,40 +1045,44 @@ msgstr "" msgid "Picture" msgstr "Obrázek" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "levá strana" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "pravá strana" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "obrázek" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "alternativní text" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "textový popisek obrázku" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "dlouhý popis" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "dodatečný popis obrázku" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "strana" @@ -962,8 +1102,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -983,6 +1122,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "více" @@ -1000,51 +1140,52 @@ msgstr "Typy obsahu" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Prosím zvolte typ obsahu" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Upravit zvolený typ obsahu" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Textový editor nepodporuje editaci objektů" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Nebyl zvolen žádný objekt." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Textový editor nepodporuje vkládání objektů." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Dostupné typy obsahu" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Vložit typ obsahu" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1079,6 +1220,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Načítání..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Video" @@ -1100,12 +1266,13 @@ msgid "movie url" msgstr "URL videa" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"URL adresa na youtube nebo vimeo. Př.: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"URL adresa na youtube nebo vimeo. Př.: http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1166,15 +1333,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Uložit" @@ -1192,20 +1353,17 @@ msgid "Save and add another" msgstr "Uložit a přidat další" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Uložit a pokračovat v editaci" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Poslední změny" @@ -1214,28 +1372,21 @@ msgstr "Poslední změny" msgid "Log in to administration here." msgstr "Přihlášení do zázemí" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Uživatelské jméno:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Heslo:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Změnit" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1243,51 +1394,51 @@ msgstr "Změnit" msgid "Home" msgstr "Domů" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "náčrt" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Náhled" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Historie" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Zobrazit" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." @@ -1295,28 +1446,28 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Všechna oprávnění" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Načítání..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1324,41 +1475,41 @@ msgstr "" msgid "List of pages" msgstr "Seznam stránek" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Úspěšně přesunuto" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Nastala chyba. Prosím obnovte stránku" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Obnovit smazané: %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Přidat %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Stránky na:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtr:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "zap." -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "vyp." -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtr" @@ -1382,7 +1533,11 @@ msgstr "od" msgid "end" msgstr "do" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "poslední změny" @@ -1396,8 +1551,7 @@ msgid "edit this page" msgstr "upravit tuto stránku" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "upravit" @@ -1453,7 +1607,6 @@ msgid "add" msgstr "přidání" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1467,11 +1620,6 @@ msgstr "zobrazit" msgid "Unpublish" msgstr "Depublikovat" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publikovat" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Zobrazit" @@ -1516,28 +1664,38 @@ msgstr "Smí měnit oprávnění" msgid "Can move" msgstr "Smí přesouvat" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Smí přesouvat" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(globální)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(aktuální)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Vše" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Stránka nemá žádná další kritéria" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Stará verze typu obsahu nemůže být uložena!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Typ obsahu byl úspěšně uložen" @@ -1572,7 +1730,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Přidat typ obsahu" @@ -1595,129 +1752,64 @@ msgstr "Není zvolen žádný typ obsahu. Vyberte z nabídky na levé straně." #: templates/admin/cms/page/widgets/plugin_editor.html:17 msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -"Není dostupný žádný typ obsahu. Přidejte typ obsahu do placeholderu " -"(TODO)" +"Není dostupný žádný typ obsahu. Přidejte typ obsahu do placeholderu (TODO)" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Přesunout do %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Určitě chcete smazat tento typ obsahu" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Režim úprav" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "nahoře" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Status" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "dole" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Uživatelské jmeno" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "přihlášení" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Šablona" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "přesun" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Přesun/přidání stránek" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "přidání potomka" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Přidat potomka" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "přidání stránky ve stejné hloubce" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Přidat stránku ve stejné hloubce" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Smazat stránku" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Správa" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Nastavení stránky" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "historie" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Zobrazit historii" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Odhlásit" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Zámek" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Zavřít" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "nahoře" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "dole" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Status" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Nastavení" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Smazat typ obsahu" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1729,84 +1821,17 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1822,16 +1847,32 @@ msgstr "" msgid "CMS - Page %s requires approvement." msgstr "" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#~ msgid "Missing flash plugin." +#~ msgstr "Chybí zásuvný modul pro Flash" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#~ msgid "Move to %(name)s" +#~ msgstr "Přesunout do %(name)s" + +#~ msgid "move" +#~ msgstr "přesun" + +#~ msgid "add child" +#~ msgstr "přidání potomka" + +#~ msgid "add sibling" +#~ msgstr "přidání stránky ve stejné hloubce" + +#~ msgid "history" +#~ msgstr "historie" + +#~ msgid "Lock" +#~ msgstr "Zámek" + +#~ msgid "Close" +#~ msgstr "Zavřít" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Settings" +#~ msgstr "Nastavení" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "Smazat typ obsahu" diff --git a/cms/locale/cs/LC_MESSAGES/djangojs.mo b/cms/locale/cs/LC_MESSAGES/djangojs.mo index 76810b302d7..cb739fdafdf 100644 Binary files a/cms/locale/cs/LC_MESSAGES/djangojs.mo and b/cms/locale/cs/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/cs/LC_MESSAGES/djangojs.po b/cms/locale/cs/LC_MESSAGES/djangojs.po index 57ead45bebb..996ecc74428 100644 --- a/cms/locale/cs/LC_MESSAGES/djangojs.po +++ b/cms/locale/cs/LC_MESSAGES/djangojs.po @@ -1,38 +1,37 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "Opravdu chcete změnit %(field_name)s bez uložení změn?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "Určitě chcete změnit záložku bez uložení změn?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Určitě chcete smazat tento typ obsahu?" diff --git a/cms/locale/cy/LC_MESSAGES/django.mo b/cms/locale/cy/LC_MESSAGES/django.mo index f1aadba3e9d..712f5f4ad79 100644 Binary files a/cms/locale/cy/LC_MESSAGES/django.mo and b/cms/locale/cy/LC_MESSAGES/django.mo differ diff --git a/cms/locale/cy/LC_MESSAGES/django.po b/cms/locale/cy/LC_MESSAGES/django.po index 308d8233eb7..c4c198d8134 100644 --- a/cms/locale/cy/LC_MESSAGES/django.po +++ b/cms/locale/cy/LC_MESSAGES/django.po @@ -1,319 +1,426 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: Benjamin Wohlwend \n" "Language-Team: divio.ch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cy\n" -"Plural-Forms: nplurals=4; plural=(n==2) ? 1 : 0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "" -#: admin/forms.py:131 -msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +#: admin/forms.py:138 +msgid "" +"Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:337 -msgid "Email notification requires valid email address." -msgstr "" - #: admin/forms.py:339 -msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +msgid "Email notification requires valid email address." msgstr "" #: admin/forms.py:341 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new pages requires the permission to change pages!" msgstr "" #: admin/forms.py:343 -msgid "To add permissions you also need to edit them!" +msgid "" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:504 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:676 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" +msgstr "" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -325,7 +432,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +452,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +507,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +553,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +584,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -504,26 +621,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +643,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +840,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +886,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +903,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +969,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1007,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1028,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1085,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1105,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1123,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1203,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1249,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: " +"http://www.youtube.com/watch?v=-iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1312,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1180,20 +1332,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1202,28 +1351,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,51 +1373,51 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." @@ -1284,28 +1426,28 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1313,41 +1455,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1371,7 +1513,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1385,8 +1531,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1442,7 +1587,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1456,11 +1600,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1505,28 +1644,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1561,7 +1709,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1585,126 +1732,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1720,80 +1802,12 @@ msgid "" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1809,16 +1823,16 @@ msgstr "" msgid "CMS - Page %s requires approvement." msgstr "" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#~ msgid "move" +#~ msgstr "move request" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#~ msgid "sidebar column" +#~ msgstr "background color" #~ msgid "fgcolor" -#~ msgstr "" +#~ msgstr "foreground color" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgstr "Requested language has not been translated yet." + + diff --git a/cms/locale/cy/LC_MESSAGES/djangojs.mo b/cms/locale/cy/LC_MESSAGES/djangojs.mo index d5d6c8a28f3..2dafde344b8 100644 Binary files a/cms/locale/cy/LC_MESSAGES/djangojs.mo and b/cms/locale/cy/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/cy/LC_MESSAGES/djangojs.po b/cms/locale/cy/LC_MESSAGES/djangojs.po index 5d744a33dcf..54322bb8166 100644 --- a/cms/locale/cy/LC_MESSAGES/djangojs.po +++ b/cms/locale/cy/LC_MESSAGES/djangojs.po @@ -1,38 +1,40 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cy\n" -"Plural-Forms: nplurals=4; plural=(n==2) ? 1 : 0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" + + diff --git a/cms/locale/da/LC_MESSAGES/django.mo b/cms/locale/da/LC_MESSAGES/django.mo index bfd5a0d009f..a00ff16637d 100644 Binary files a/cms/locale/da/LC_MESSAGES/django.mo and b/cms/locale/da/LC_MESSAGES/django.mo differ diff --git a/cms/locale/da/LC_MESSAGES/django.po b/cms/locale/da/LC_MESSAGES/django.po index 2c2b746b345..39dab373ea1 100644 --- a/cms/locale/da/LC_MESSAGES/django.po +++ b/cms/locale/da/LC_MESSAGES/django.po @@ -1,319 +1,428 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: Benjamin Wohlwend \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-04-06 07:11+0000\n" +"Last-Translator: KristianOellegaard \n" "Language-Team: divio.ch \n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 -msgid "Advanced options" +#: cms_toolbar.py:68 +msgid "Edit mode" msgstr "" -#: admin/forms.py:52 -msgid "Title" +#: cms_toolbar.py:77 +msgid "django CMS" msgstr "" -#: admin/forms.py:53 -msgid "The default title" +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" msgstr "" -#: admin/forms.py:54 -msgid "Slug" +#: cms_toolbar.py:112 +msgid "Request Approval" msgstr "" -#: admin/forms.py:55 -msgid "The part of the title that is used in the URL" +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" msgstr "" -#: admin/forms.py:56 -msgid "Language" +#: cms_toolbar.py:152 +msgid "Template" msgstr "" -#: admin/forms.py:57 -msgid "The current language of the content fields." +#: cms_toolbar.py:160 +msgid "Move/add Pages" msgstr "" -#: admin/forms.py:110 -msgid "Another page with this slug already exists" +#: cms_toolbar.py:165 +msgid "Add child page" msgstr "" -#: admin/forms.py:128 -msgid "Menu Title" +#: cms_toolbar.py:171 +msgid "Add sibling page" msgstr "" -#: admin/forms.py:129 -msgid "Overwrite what is displayed in the menu" +#: cms_toolbar.py:177 +msgid "Delete Page" msgstr "" -#: admin/forms.py:130 -msgid "Page Title" +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" msgstr "" -#: admin/forms.py:131 -msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +#: cms_toolbar.py:189 +msgid "Site Administration" msgstr "" -#: admin/forms.py:132 -msgid "Application" +#: cms_toolbar.py:195 +msgid "Page Settings" msgstr "" -#: admin/forms.py:134 -msgid "Hook application to this page." +#: cms_toolbar.py:201 +msgid "View History" msgstr "" -#: admin/forms.py:135 -msgid "Overwrite URL" +#: cms_toolbar.py:205 +msgid "Admin" msgstr "" -#: admin/forms.py:136 -msgid "Keep this field empty if standard path should be used." +#: plugin_base.py:65 +msgid "Advanced options" +msgstr "Avancerede indstillinger" + +#: admin/forms.py:59 +msgid "Title" +msgstr "Titel" + +#: admin/forms.py:60 +msgid "The default title" +msgstr "Standard titel" + +#: admin/forms.py:61 +msgid "Slug" +msgstr "Slug" + +#: admin/forms.py:62 +msgid "The part of the title that is used in the URL" msgstr "" +#: admin/forms.py:63 +msgid "Language" +msgstr "Sprog" + +#: admin/forms.py:64 +msgid "The current language of the content fields." +msgstr "Nuværende sprog for indholdsfeltet." + +#: admin/forms.py:117 +msgid "Another page with this slug already exists" +msgstr "Der eksisterer allerede en side med dette slug." + +#: admin/forms.py:135 +msgid "Menu Title" +msgstr "Menu titel" + +#: admin/forms.py:136 +msgid "Overwrite what is displayed in the menu" +msgstr "Overskriv det der er vist i menuen" + +#: admin/forms.py:137 +msgid "Page Title" +msgstr "Sidetitel" + +#: admin/forms.py:138 +msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +msgstr "Overskriv hvad der er vist i toppen af din browser eller bogmærker" + +#: admin/forms.py:139 +msgid "Application" +msgstr "Applikation" + +#: admin/forms.py:141 +msgid "Hook application to this page." +msgstr "Tilknyt applikation til denne side" + #: admin/forms.py:142 -msgid "Redirect" -msgstr "" +msgid "Overwrite URL" +msgstr "Overskriv URL" #: admin/forms.py:143 +msgid "Keep this field empty if standard path should be used." +msgstr "Lad feltet stå tomt, hvis standardstien skal bruges" + +#: admin/forms.py:149 +msgid "Redirect" +msgstr "Redirect" + +#: admin/forms.py:150 msgid "Redirects to this URL." -msgstr "" +msgstr "Redirect this denne URL" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." -msgstr "" +msgstr "Beskrivelse af siden der i visse tilfælde bruges af søgemaskiner" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" +"En liste med kommaseparerede nøgleord, der i visse tilfælde bruges af " +"søgemaskiner" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." -msgstr "" +msgstr "En side med dette URL id eksisterer allerede" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." -msgstr "" +msgstr "Ugyldig URL, brug /min/url format" + +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Der eksisterer allerede en side med dette slug." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" -msgstr "" +msgstr "bruger" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" +"Tilladelse til at tilføje sider kræver at der også er adgang til undersider, " +"ellers kan siden ikke blive ændret af brugeren der har oprettet den." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:337 -msgid "Email notification requires valid email address." -msgstr "" - #: admin/forms.py:339 -msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +msgid "Email notification requires valid email address." msgstr "" #: admin/forms.py:341 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new pages requires the permission to change pages!" msgstr "" #: admin/forms.py:343 -msgid "To add permissions you also need to edit them!" +msgid "" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:504 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:676 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" +msgstr "" + +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -325,7 +434,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +454,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +509,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +555,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +586,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -504,26 +623,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +645,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +842,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +888,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +905,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +971,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1009,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1030,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1087,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1107,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1125,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1205,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1251,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1314,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1180,20 +1334,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1202,28 +1353,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,79 +1375,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1311,41 +1455,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1369,7 +1513,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1383,8 +1531,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1440,7 +1587,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1454,11 +1600,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1503,28 +1644,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1559,7 +1709,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1583,126 +1732,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1714,84 +1798,17 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1806,17 +1823,3 @@ msgstr "" #, python-format msgid "CMS - Page %s requires approvement." msgstr "" - -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" - -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" - -#~ msgid "fgcolor" -#~ msgstr "" - -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" diff --git a/cms/locale/da/LC_MESSAGES/djangojs.mo b/cms/locale/da/LC_MESSAGES/djangojs.mo index 601d2dad47f..fc63cd387fb 100644 Binary files a/cms/locale/da/LC_MESSAGES/djangojs.mo and b/cms/locale/da/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/da/LC_MESSAGES/djangojs.po b/cms/locale/da/LC_MESSAGES/djangojs.po index 70b665b62e4..3038a8630b3 100644 --- a/cms/locale/da/LC_MESSAGES/djangojs.po +++ b/cms/locale/da/LC_MESSAGES/djangojs.po @@ -1,38 +1,37 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" -"Last-Translator: FULL NAME \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-04-05 07:23+0000\n" +"Last-Translator: KristianOellegaard \n" "Language-Team: LANGUAGE \n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" -msgstr "" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" +msgstr "Er du sikker på du vil ændre %(field_name)s uden at gemme siden først?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" -msgstr "" +msgstr "Er du sikker på du vil ændre tabs uden at gemme siden først?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" -msgstr "" +msgstr "Er du sikker på du vil slette dette plugin?" diff --git a/cms/locale/de/LC_MESSAGES/django.mo b/cms/locale/de/LC_MESSAGES/django.mo index 7cdfd0c9264..ef0ad3ec8d6 100644 Binary files a/cms/locale/de/LC_MESSAGES/django.mo and b/cms/locale/de/LC_MESSAGES/django.mo differ diff --git a/cms/locale/de/LC_MESSAGES/django.po b/cms/locale/de/LC_MESSAGES/django.po index bfe34c3f9a4..0ddeb2dcc6b 100644 --- a/cms/locale/de/LC_MESSAGES/django.po +++ b/cms/locale/de/LC_MESSAGES/django.po @@ -1,125 +1,188 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-05-09 13:13+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Editiermodus" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "veröffentlichen" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "Bestätigung anfordern" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Abmelden" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Vorlage" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Seiten verschieben / hinzufügen" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Unterseite hinzufügen" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Neue Seite auf gleicher Ebene erstellen" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Seite löschen" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Seite" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Administration" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Seite bearbeiten" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Verlauf anzeigen" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Erweiterte Einstellungen" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Titel" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Der Standardtitel" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Die Kurzform des Titels, die in URLs verwendet wird." -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Sprache" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Sprachvariante dieser Seite, die bearbeitet werden soll." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Eine andere Seite mit diesem Slug existiert bereits" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Menütitel" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Überschreiben, was im Menü angezeigt wird" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Seitentitel" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Überschreiben, was im Titel des Browsers oder in den Lesezeichen " -"erscheint" +"Überschreiben, was im Titel des Browsers oder in den Lesezeichen erscheint" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Applikation" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Schliessen Sie Applikationen an diese Seite an." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "URL-Überschreibung" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -"Lassen Sie dieses Feld leer, wenn der Standardpfad verwendet werden " -"soll." +"Lassen Sie dieses Feld leer, wenn der Standardpfad verwendet werden soll." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Umleiten" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Zu dieser URL umleiten" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Eine Beschreibung der Seite (wird teilweise von Suchmaschinen genutzt)" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Eine Liste von mit Kommas getrennten Schlüsselwörtern (wird teilweise " -"von Suchmaschinen genutzt)" +"Eine Liste von mit Kommas getrennten Schlüsselwörtern (wird teilweise von " +"Suchmaschinen genutzt)" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Eine andere Seite mit dieser Reverse-URL-ID ist bereits vorhanden." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Keine korrekte URL. Bitte verwenden sie das Format: /meine/url/" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Eine andere Seite mit diesem Slug existiert bereits" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "Benutzer" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." @@ -128,218 +191,268 @@ msgstr "" "ermöglicht werden, sonst können neu erstellte Seiten nach dem ersten " "Speichervorgang nicht mehr bearbeitet werden." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"Die \"Seiten hinzufügen\"-Berechtigung benötigt auch die " -"\"Bearbeiten\"-Berechtigung" +"Die \"Seiten hinzufügen\"-Berechtigung benötigt auch die \"Bearbeiten\"-" +"Berechtigung" + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "Anzeigen" -#: admin/forms.py:245 +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Bitte wählen Sie erst einen Benutzer oder eine Gruppe" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Hinzufügen" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Ändern" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Löschen" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Kann Seiten wiederherstellen" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Benutzer benachrichtigen" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Benachrichtigung über Änderungen von Benutzername oder Passwort per " -"E-Mail an den Benutzer senden. Benötigt die E-Mail-Adresse des " -"Benutzers." +"Benachrichtigung über Änderungen von Benutzername oder Passwort per E-Mail " +"an den Benutzer senden. Benötigt die E-Mail-Adresse des Benutzers." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Neues Passwort" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Bestätigung des neuen Passworts" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "E-Mail-Benachrichtigung benötigt eine gültige E-Mail-Adresse." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"Die Berechtigung neue Seiten hinzuzufügen benötigt die Berechtigung " -"Seiten zu ändern." +"Die Berechtigung neue Seiten hinzuzufügen benötigt die Berechtigung Seiten " +"zu ändern." -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Die Berechtigung neue Benutzer hinzufügen benötigt die Berechtigung " -"Benutzer zu ändern." +"Die Berechtigung neue Benutzer hinzufügen benötigt die Berechtigung Benutzer " +"zu ändern." -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Um Berechtigungen hinzuzufügen, müssen Sie sie auch ändern können." -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Versteckt" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Grundeinstellungen" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" "Hinweis: Diese Seite wird neu geladen, wenn Sie die Auswahl ändern. " "Speichern Sie sie zuerst." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Versteckt" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Erweiterte Einstellungen" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Einstellungen zur Suchmaschinenoptimierung (SEO)" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/pageadmin.py:485 msgid "higher" msgstr "höher" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Datenbankfehler" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "Seite" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Seite erfolgreich freigegeben" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(name)s Objekt mit Primärschlüssel %(key)r existiert nicht." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Es existiert nur eine Übersetzung für diese Seite" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Titel und Plugins mit der Sprache %(language)s wurden gelöscht" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Sind Sie sicher?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Sie haben nicht die Berechtigung, um diese Seite zu veröffentlichen." -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" "Sie haben nicht Berechtigung, um den \"im Menü\"-Status dieser Seite zu " "ändern." -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Die Sprache muss auf eine unterstützte Sprache gesetzt werden." -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s-Plugin wurde in %(placeholder)s eingefügt." -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Die Sprache muss sich von der kopierten unterscheiden!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "Plugins von %(language)s wurden nach %(placeholder)s kopiert." -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"%(plugin_name)s-Plugin auf der %(position)s Position in " -"%(placeholder)s wurde geändert." +"%(plugin_name)s-Plugin auf der %(position)s Position in %(placeholder)s " +"wurde geändert." + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugins wurden verschoben." -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"Das %(plugin_name)s-Plugin auf Position %(position)s in " -"%(placeholder)s wurde gelöscht." +"Das %(plugin_name)s-Plugin auf Position %(position)s in %(placeholder)s " +"wurde gelöscht." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Seiten-Berechtigungen" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Benutzer- und Gruppen-Berechtigungen" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Verwaltung der Benutzer-Berechtigungen" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Sie haben nicht die Berechtigung, um diese Seite zu ändern." + +#: admin/useradmin.py:25 msgid "User details" msgstr "Benutzer-Details" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Gruppen" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Passwort" @@ -351,7 +464,7 @@ msgstr "Berechtigungen kopieren" msgid "Copy moderation" msgstr "Moderationen kopieren" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Die Vorlage der nächsten übergeordneten Seite verwenden" @@ -371,27 +484,37 @@ msgstr "Weitere hinzufügen" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "Sprache" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "Seite" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "Position" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "erstellt am" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "Slot" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "Name des Plugins" @@ -416,15 +539,15 @@ msgstr "Slug" msgid "everybody" msgstr "alle" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "kann bearbeiten" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "Gruppe" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "kann publizieren" @@ -462,28 +585,28 @@ msgstr "Verfasser" msgid "reverse url id" msgstr "Reverse-URL-ID" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "Login erforderlich" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "Softroot" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "Veröffentlicht bis" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "Vorlage" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "Veröffentlicht am" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "im Menü" @@ -493,7 +616,7 @@ msgstr "im Menü" msgid "application" msgstr "Applikation" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "ID" @@ -516,24 +639,19 @@ msgstr "Aktuelle Seite" #: models/moderatormodels.py:26 msgid "Page children (immediate)" -msgstr "Untergeordnete Seite (direkt)" +msgstr "Direkt untergeordnete Seite" #: models/moderatormodels.py:27 msgid "Page and children (immediate)" -msgstr "Aktuelle und untergeordnete Seite (direkt)" +msgstr "Aktuelle und direkt untergeordnete Seite" #: models/moderatormodels.py:28 msgid "Page descendants" -msgstr "Folgeseiten" +msgstr "Alle untergeordnete Seiten" #: models/moderatormodels.py:29 msgid "Page and descendants" -msgstr "Aktuelle Seite und Folgeseiten" - -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Seite" +msgstr "Aktuelle Seite und alle untergeordnete Seiten" #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 @@ -541,211 +659,217 @@ msgstr "Seite" msgid "User" msgstr "Benutzer" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Seite moderieren" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" -msgstr "Untergeordnete Seiten moderieren" +msgstr "Direkt untergeordnete Seiten moderieren" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" -msgstr "Nachfolgende Seiten moderieren" +msgstr "Untergeordnete Seiten moderieren" #: models/moderatormodels.py:55 models/moderatormodels.py:56 msgid "PageModerator" msgstr "Seitenmoderator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "erstellt am" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "geändert" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "Löschung beantragen" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "Verschiebung beantragen" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "Veröffentlichung beantragen" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "unveröffentlichen Anfrage" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "freigegeben" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Status der Moderierung" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Status der Moderierung" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "Benötigt Freigabe" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "Löschen" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "Übergeordnete Seite freigeben" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "Nur für angemeldete Benutzer" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "Nur für nicht angemeldete Benutzer" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "erstellt von" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "geändert von" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Ab wann soll die Seite veröffentlicht werden? Der Status der Seite " -"muss dazu auf \"veröffentlicht\" sein. " +"Ab wann soll die Seite veröffentlicht werden? Der Status der Seite muss dazu " +"auf \"veröffentlicht\" sein. " -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Ablaufdatum der Seite. Leer lassen, um sie nie ablaufen zu lassen." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Alle übergeordneten Seiten werden nicht im Menü dargestellt." -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Ein einzigartiger Identifikator, der benutzt wird, um mit dem page_url" -" templatetag auf diese Seite zu verlinken." +"Ein einzigartiger Identifikator, der benutzt wird, um mit dem page_url " +"templatetag auf diese Seite zu verlinken." -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "Angehängtes Menu" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "veröffentlicht" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Die benutzte Vorlage um die Seite darzustellen." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Die Webseite (Domain), wo die Seite verfügbar ist." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "Website" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "Status der Moderierung" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "Menu sichtbarkeit" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "Limitiert wer diese Seite im Menu sehen kann." -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "Seiten" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Seite wurde kopiert." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "Standard" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "Kann hinzufügen" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "Kann löschen" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "Kann erweiterte Einstellungen ändern" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "Kann Berechtigungen ändern" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "Auf Seitenebene" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "Kann verschieben" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "Kann moderieren" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "Kann Seiten wiederherstellen" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "Kann alle gelöschten Seiten wiederherstellen" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"Falls keine Auswahl erfolgt, hat der Benutzer Berechtigungen auf alle " -"Seiten." +"Falls keine Auswahl erfolgt, hat der Benutzer Berechtigungen auf alle Seiten." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "Website" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Globale Seitenberechtigung" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Globale Seitenberechtigungen" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Gewähren" @@ -753,28 +877,28 @@ msgstr "Gewähren" msgid "Page permission" msgstr "Seitenberechtigung" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Benutzer (Seite)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Benutzer (Seite)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Benutzergruppe (Seite)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Benutzergruppen (Seite)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "Breite" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -799,6 +923,10 @@ msgstr "Datei" msgid "file" msgstr "Datei" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -812,9 +940,18 @@ msgstr ".swf Datei (Flash)" msgid "height" msgstr "Höhe" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Flash-Plugin wurde nicht gefunden." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Das Flash Plugin fehlt. Sie können es hier downloaden." + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -872,19 +1009,19 @@ msgstr "Routenplaner" msgid "Map" msgstr "Karte" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "Deine Addresse:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Route berechnen" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Erbt Plugins von einer Seite" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Sprache oder Seite müssen ausgefüllt sein." @@ -893,8 +1030,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Wählen Sie eine Seite von der Sie die Plugins erben wollen. Leer wählt" -" die momentane Seite." +"Wählen Sie eine Seite von der Sie die Plugins erben wollen. Leer wählt die " +"momentane Seite." #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -912,7 +1049,7 @@ msgid "name" msgstr "Name" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "Link" @@ -933,40 +1070,44 @@ msgstr "Eine E-Mail-Adresse hat Priorität vor einem Textlink." msgid "Picture" msgstr "Bild" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "links" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "rechts" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "Bild" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "Füllen Sie dieses Feld aus, um aus dem Bild einen Link zu machen." -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "Alternativer Text." -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "Beschreibung des Bildes." -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "Lange Beschreibung" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "Zusätzliche Beschreibung des Bildes." -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "Seite" @@ -986,11 +1127,10 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Fügen sie eine Vorlage ein, welche dargestellt werden soll (z.B. " -"\"snippets/plugin_xy.html\")." +"Fügen sie eine Vorlage ein, welche dargestellt werden soll (z.B. \"snippets/" +"plugin_xy.html\")." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -1009,6 +1149,7 @@ msgid "If present image will be clickable." msgstr "Füllen Sie dieses Feld aus, um aus dem Bild einen Link zu machen." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "mehr" @@ -1026,51 +1167,52 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Bitte wählen Sie einen Plugin-Typ" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Ausgewähltes Plugin bearbeiten" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Dieser Texteditor unterstützt das Bearbeiten von Plugins nicht." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Kein Plugin ausgewählt" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Dieser Texteditor unterstützt das Einfügen von Plugins nicht." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Kein Plugin-Objekt" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Vorhandene Plugins" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Plugin einfügen" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "Twitter Suche" @@ -1093,8 +1235,7 @@ msgstr "Link Tipp" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Wenn ausgefüllt, wird der Tipp als Link zu Ihrem Twitter-Profil " -"dargestellt." +"Wenn ausgefüllt, wird der Tipp als Link zu Ihrem Twitter-Profil dargestellt." #: plugins/twitter/models.py:16 msgid "query" @@ -1106,9 +1247,34 @@ msgid "" "from the user \"umbrella\" to the user \"nemesis\" that contain the words " "\"brains\" and \"zombies\"" msgstr "" -"Beispiel: \"Gehirne AND Zombies AND from:umbrella AND to:nemesis\": " -"Tweets vom Benutzer \"umbrella\" an den Benutzer \"nemesis\" mit den " -"Worten \"Gehirne\" und \"Zombies\"." +"Beispiel: \"Gehirne AND Zombies AND from:umbrella AND to:nemesis\": Tweets " +"vom Benutzer \"umbrella\" an den Benutzer \"nemesis\" mit den Worten " +"\"Gehirne\" und \"Zombies\"." + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Wird geladen…" #: plugins/video/cms_plugins.py:10 msgid "Video" @@ -1131,12 +1297,13 @@ msgid "movie url" msgstr "Film URL" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"Vimeo oder Youtube Video URL. Beispiel: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"Vimeo oder Youtube Video URL. Beispiel: http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1197,17 +1364,9 @@ msgstr "Schalter Mousover Farbe" msgid "button highlight color" msgstr "Schalter Highlight Farbe" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Das Flash Plugin fehlt. Sie können es hier downloaden." - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Speichern" @@ -1225,20 +1384,18 @@ msgid "Save and add another" msgstr "Speichern und neu hinzufügen" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Speichern und weiter bearbeiten" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." -msgstr "Die Seite %(page)s benötigt Ihre Freigabe." +"Page %(page)s may require approvement by you." +msgstr "" +"Die Seite %(page)s benötigt Ihre Freigabe." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Letzte Änderungen" @@ -1246,31 +1403,24 @@ msgstr "Letzte Änderungen" #, python-format msgid "Log in to administration here." msgstr "" -"Sie können sich hier in die Administration" -" einloggen." - -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "Login URL: %(login_url)s" +"Sie können sich hier in die Administration " +"einloggen." #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Benutzername:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Passwort:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Seite bearbeiten" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1278,81 +1428,81 @@ msgstr "Seite bearbeiten" msgid "Home" msgstr "Start" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Seitenlöschung freigeben" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(benötigt Freigabe auf Stufe %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(Sie können die Seite direkt bearbeiten)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Antrag zur Löschung entfernen" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Antrag zur Löschung akzeptieren" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Akzeptieren" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "Entwurf" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Vorschau" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Verlauf" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Im Web anzeigen" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Bitte korrigieren Sie unterhalb den Fehler." msgstr[1] "Bitte korrigieren Sie unterhalb alle Fehler." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Alle Berechtigungen" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Wird geladen…" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Seitenstatus" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Diese Seite muss auf der Ebene %(moderation_level)s moderiert werden. " -"Senden Sie eine Nachricht an den Moderator." +"Diese Seite muss auf der Ebene %(moderation_level)s moderiert werden. Senden " +"Sie eine Nachricht an den Moderator." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Freigabe beantragen" @@ -1360,41 +1510,41 @@ msgstr "Freigabe beantragen" msgid "List of pages" msgstr "Liste der Seiten" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Erfolgreich verschoben" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Ein Fehler ist aufgetreten. Bitte laden Sie die Seite neu." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "%(name)s wiederherstellen" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "%(name)s hinzufügen" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Seiten auf: " -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filter:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "ein" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "aus" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filter" @@ -1418,7 +1568,11 @@ msgstr "Start" msgid "end" msgstr "Ende" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "Letzte Änderungen" @@ -1432,8 +1586,7 @@ msgid "edit this page" msgstr "Diese Seite bearbeiten" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "bearbeiten" @@ -1489,7 +1642,6 @@ msgid "add" msgstr "Hinzufügen" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Direkt freigeben" @@ -1503,11 +1655,6 @@ msgstr "Anzeigen" msgid "Unpublish" msgstr "Veröffentlichung aufheben" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "veröffentlichen" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Im Web anzeigen" @@ -1552,28 +1699,38 @@ msgstr "Kann Berechtigungen ändern" msgid "Can move" msgstr "Kann verschieben" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Kann verschieben" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(aktuell)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Alle" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Seite erbt keine Berechtigungen." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Eine alte Version eines Plugins kann nicht gespeichert werden." -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Das Plugin wurde erfolgreich gespeichert." @@ -1608,7 +1765,6 @@ msgid "Generic" msgstr "Generisch" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Plugin hinzufügen" @@ -1623,8 +1779,7 @@ msgstr "Plugins kopieren" #: templates/admin/cms/page/widgets/plugin_editor.html:12 msgid "You must save the page first to add plugins." msgstr "" -"Sie müssen die Seite zuerst speichern, um Plugins hinzufügen zu " -"können." +"Sie müssen die Seite zuerst speichern, um Plugins hinzufügen zu können." #: templates/admin/cms/page/widgets/plugin_editor.html:15 msgid "No Plugin selected. Selected one on the left side" @@ -1633,131 +1788,66 @@ msgstr "Kein Plugin ausgewählt. Wählen Sie eins auf der linken Seite aus." #: templates/admin/cms/page/widgets/plugin_editor.html:17 msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -"Keine Plugins vorhanden. Fügen Sie ein Plugin in diesen Platzhalter " -"ein." +"Keine Plugins vorhanden. Fügen Sie ein Plugin in diesen Platzhalter ein." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "Verfügbare Plugins" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Nach %(name)s verschieben" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Sind Sie sicher dass Sie dieses Plugin löschen wollen?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Editiermodus" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "rauf" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Status" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "runter" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Benutzername" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "einloggen" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "Bestätigung anfordern" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Vorlage" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "verschieben" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Seiten verschieben / hinzufügen" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "Unterseite hinzufügen" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Unterseite hinzufügen" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "Auf gleicher Ebene erstellen" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Neue Seite auf gleicher Ebene erstellen" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Seite löschen" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Administration" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Seite bearbeiten" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "Verlauf" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Verlauf anzeigen" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Abmelden" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Sperren" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Schliessen" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "rauf" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "runter" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Status" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Einstellungen" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Plugin löschen" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Seitenmoderation lösen" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" -msgstr "Moderation untergeordneter Seiten lösen" +msgstr "Moderation von direkt untergeordneter Seiten lösen" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" -msgstr "Moderation von Folgeseiten lösen" +msgstr "Moderation von untergeordneten Seiten lösen" #: templatetags/cms_tags.py:78 #, python-format @@ -1767,108 +1857,123 @@ msgstr "Seite nicht gefunden auf %(domain)s" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" "Ein Templatetag konnte die Seite `%(page_lookup)s\n" "` nicht finden. Die Addresse war: http://%(host)s%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "Englisch" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - Ihr Benutzerkonto wurde erstellt." -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "Französisch" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - Ihr Benutzerkonto wurde verändert." -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "Deutsch" +#: utils/moderator.py:83 +msgid "parent first" +msgstr "übergeordnete Seite zuerst" -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "Portugisiesch \\(Brasilien\\)" +#: utils/moderator.py:90 +msgid "approve" +msgstr "freigeben" -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "Holländisch" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - Seite %s benötigt Freigabe." -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "Zwei Spalten" +#~ msgid "Missing flash plugin." +#~ msgstr "Flash-Plugin wurde nicht gefunden." -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "Drei Spalten" +#~ msgid "Login url: %(login_url)s" +#~ msgstr "Login URL: %(login_url)s" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "Navigations Beispiel" +#~ msgid "Move to %(name)s" +#~ msgstr "Nach %(name)s verschieben" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "Seitenspalte" +#~ msgid "move" +#~ msgstr "verschieben" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "Linke Spalte" +#~ msgid "add child" +#~ msgstr "Unterseite hinzufügen" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "Rechte Spalte" +#~ msgid "add sibling" +#~ msgstr "Auf gleicher Ebene erstellen" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "Artikel" +#~ msgid "history" +#~ msgstr "Verlauf" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "Beispiel Applikation" +#~ msgid "Lock" +#~ msgstr "Sperren" -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "Beispiel Hauptseite" +#~ msgid "Close" +#~ msgstr "Schliessen" -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "Beispiel Einstellungen" +#~ msgid "Settings" +#~ msgstr "Einstellungen" -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "Beispiel Konto" +#~ msgid "Delete Plugin" +#~ msgstr "Plugin löschen" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "Beispiel Profil" +#~ msgid "English" +#~ msgstr "Englisch" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "Statisches Menu" +#~ msgid "French" +#~ msgstr "Französisch" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "Statisches Menu 2" +#~ msgid "German" +#~ msgstr "Deutsch" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "übergeordnete Seite zuerst" +#~ msgid "Brazil" +#~ msgstr "Portugisiesch \\(Brasilien\\)" -#: utils/moderator.py:90 -msgid "approve" -msgstr "freigeben" +#~ msgid "Dutch" +#~ msgstr "Holländisch" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - Seite %s benötigt Freigabe." +#~ msgid "two columns" +#~ msgstr "Zwei Spalten" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - Ihr Benutzerkonto wurde erstellt." +#~ msgid "three columns" +#~ msgstr "Drei Spalten" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - Ihr Benutzerkonto wurde verändert." +#~ msgid "navigation examples" +#~ msgstr "Navigations Beispiel" + +#~ msgid "sidebar column" +#~ msgstr "Seitenspalte" + +#~ msgid "left column" +#~ msgstr "Linke Spalte" + +#~ msgid "right column" +#~ msgstr "Rechte Spalte" + +#~ msgid "Articles" +#~ msgstr "Artikel" + +#~ msgid "Sample App" +#~ msgstr "Beispiel Applikation" + +#~ msgid "sample root page" +#~ msgstr "Beispiel Hauptseite" + +#~ msgid "sample settings page" +#~ msgstr "Beispiel Einstellungen" + +#~ msgid "sample account page" +#~ msgstr "Beispiel Konto" + +#~ msgid "sample my profile page" +#~ msgstr "Beispiel Profil" + +#~ msgid "Static Menu" +#~ msgstr "Statisches Menu" + +#~ msgid "Static Menu2" +#~ msgstr "Statisches Menu 2" #~ msgid "fgcolor" #~ msgstr "Vordergrundfarbe" diff --git a/cms/locale/de/LC_MESSAGES/djangojs.mo b/cms/locale/de/LC_MESSAGES/djangojs.mo index 4b0dfc08b93..105aae4ac4b 100644 Binary files a/cms/locale/de/LC_MESSAGES/djangojs.mo and b/cms/locale/de/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/de/LC_MESSAGES/djangojs.po b/cms/locale/de/LC_MESSAGES/djangojs.po index 4cb542ee66c..c402959bf18 100644 --- a/cms/locale/de/LC_MESSAGES/djangojs.po +++ b/cms/locale/de/LC_MESSAGES/djangojs.po @@ -1,45 +1,42 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Sind Sie sicher, dass Sie den %(field_name)s ändern möchten, ohne die " -"Seite zuerst zu speichern?" +"Sind Sie sicher, dass Sie den %(field_name)s ändern möchten, ohne die Seite " +"zuerst zu speichern?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -"Nicht alle Plugins sind gespeichert. Sind Sie sicher, dass Sie diese " -"Seite speichern möchten? Alle ungesicherten Inhalte werden nicht " -"gespeichert!" +"Nicht alle Plugins sind gespeichert. Sind Sie sicher, dass Sie diese Seite " +"speichern möchten? Alle ungesicherten Inhalte werden nicht gespeichert!" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Sind Sie sicher Sie wollen die Sprache ändern ohne vorher zu " -"speichern?" +"Sind Sie sicher Sie wollen die Sprache ändern ohne vorher zu speichern?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Sind Sie sicher dass Sie dieses Plugin löschen wollen?" diff --git a/cms/locale/el/LC_MESSAGES/django.mo b/cms/locale/el/LC_MESSAGES/django.mo index d41c05ea491..4b6a8115bae 100644 Binary files a/cms/locale/el/LC_MESSAGES/django.mo and b/cms/locale/el/LC_MESSAGES/django.mo differ diff --git a/cms/locale/el/LC_MESSAGES/django.po b/cms/locale/el/LC_MESSAGES/django.po index 86c68a703c2..d3a2306189d 100644 --- a/cms/locale/el/LC_MESSAGES/django.po +++ b/cms/locale/el/LC_MESSAGES/django.po @@ -1,319 +1,443 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:49-0500\n" +"PO-Revision-Date: 2011-05-11 17:19+0000\n" +"Last-Translator: vinilios \n" "Language-Team: divio.ch \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Προχωρημένες επιλογές" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Τίτλος" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" -msgstr "" +msgstr "Προεπιλεγμένος τίτλος" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Μέρος του τίτλου που χρησιμοποιείται στο URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Γλώσσα" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." -msgstr "" +msgstr "Η επιλεγμένη γλώσσα των πεδίων περιεχομένου" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Υπάρχει ήδη σελίδα με αυτό το slug" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Τίτλος Μενού" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" -msgstr "" +msgstr "Αντικατάσταση στην εμφάνιση του μενού" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Τίτλος Σελίδας" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" +"Αντικαθιστά αυτό που εμφανίζεται στο επάνω μέρος του browser σας ή στους " +"σελιδοδείκτες" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Εφαρμογή" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." -msgstr "" +msgstr "Σύνδεση εφαρμογής σε αυτή τη σελίδα." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Αντικατάστησε το URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" +"Αφήστε αυτό το πεδίο κενό, για να χρησιμοποιηθεί το πρότυπο μονοπάτι (path)." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Ανακατεύθυνση" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." -msgstr "" +msgstr "Ανακατεύθυνση στο ακόλουθο URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" +"Μια περιγραφή της σελίδας που μερικές φορές χρησιμοποιείται από τις μηχανές " +"αναζήτησης." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" +"Μια λίστα με \"λέξεις κλειδιά\" που χρησιμοποιούνται μερικές φορές από τις " +"μηχανές αναζήτησης." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Λάθος μορφή URL. Χρησιμοποιήστε τη μορφή /my/url." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Υπάρχει ήδη σελίδα με αυτό το slug" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "χρήστης" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 -msgid "Please select user or group first." +#: admin/forms.py:248 +msgid "can_view" msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:260 +msgid "Please select user or group first." +msgstr "Παρακαλώ επιλέξτε πρώτα το χρήστη ή την ομάδα χρηστών." + +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Προσθήκη" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Αλλαγή" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Διαγραφή" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Ειδοποίησε το χρήστη" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Νέος κωδικός πρόσβασης" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Επιβεβαίωση νέου κωδικού πρόσβασης" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "" +"Η ειδοποίηση μέσω ηλεκτρονικού ταχυδρομείου απαιτεί έγκυρη διεύθυνση " +"ηλεκτρονικού ταχυδρομείου." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Κρυφό" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Βασικές ρυθμίσεις." -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Κρυφό" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Προχωρημένες Ρυθμίσεις" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Ρυθμίσεις Βελτιστοποίησης Μηχανών Αναζήτησης (SEO)" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Σφάλμα στη βάση δεδομένων" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "σελίδα" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Η σελίδα εγκρίθηκε επιτυχώς." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Είσαι σίγουρος?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Δεν έχεις δικαίωμα δημοσίευσης αυτής της σελίδας" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Άδειες σελίδας" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Άδειες Χρηστών και Ομάδων" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Δεν έχεις δικαίωμα αλλαγής αυτής της σελίδας" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Λεπτομέρειες Χρήστη" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Ομάδες" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Κωδικός πρόσβασης" @@ -325,7 +449,7 @@ msgstr "Αντιγραφή αδειών" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +469,37 @@ msgstr "Προσθήκη και άλλου" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "γλώσσα" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "σελίδα" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "θέση" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +524,15 @@ msgstr "slug" msgid "everybody" msgstr "όλοι" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +570,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +601,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -504,26 +638,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +660,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "Εξ' Ορισμού" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +857,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "πλάτος" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +903,10 @@ msgstr "Αρχείο" msgid "file" msgstr "αρχείο" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +920,14 @@ msgstr "" msgid "height" msgstr "ύψος" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +986,19 @@ msgstr "" msgid "Map" msgstr "Χάρτης" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Υπολογισμός διαδρομής" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1024,7 @@ msgid "name" msgstr "όνομα" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1045,44 @@ msgstr "" msgid "Picture" msgstr "Εικόνα" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "αριστερά" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "δεξιά" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "εικόνα" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "αν υπάρχει, θα επιτρέπεται το κλικ στην εικόνα" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "περιγραφή εικόνας" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1102,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1122,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1140,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1220,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1266,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1329,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Αποθήκευση" @@ -1180,20 +1349,17 @@ msgid "Save and add another" msgstr "Αποθήκευση και προσθήκη νέου" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Αποθήκευση και παραμονή σε κατάσταση επεξεργασίας" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Τελευταίες αλλαγές" @@ -1202,28 +1368,21 @@ msgstr "Τελευταίες αλλαγές" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Όνομα χρήστη:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Κωδικός πρόσβασης:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,79 +1390,79 @@ msgstr "" msgid "Home" msgstr "Αρχική σελίδα" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Προεπισκόπιση" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1311,41 +1470,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1369,7 +1528,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1383,8 +1546,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1440,7 +1602,6 @@ msgid "add" msgstr "προσθήκη" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1454,11 +1615,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1503,28 +1659,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Όλα" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1559,7 +1724,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1583,126 +1747,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1714,84 +1813,17 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1807,16 +1839,20 @@ msgstr "" msgid "CMS - Page %s requires approvement." msgstr "" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#~ msgid "English" +#~ msgstr "Αγγλικά" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#~ msgid "French" +#~ msgstr "Γαλλικά" + +#~ msgid "German" +#~ msgstr "Γερμανικά" + +#~ msgid "Brazil" +#~ msgstr "Βραζιλία" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "two columns" +#~ msgstr "δύο στήλες" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "three columns" +#~ msgstr "τρεις στήλες" diff --git a/cms/locale/el/LC_MESSAGES/djangojs.mo b/cms/locale/el/LC_MESSAGES/djangojs.mo index db574caadc5..ffcec0ddce3 100644 Binary files a/cms/locale/el/LC_MESSAGES/djangojs.mo and b/cms/locale/el/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/el/LC_MESSAGES/djangojs.po b/cms/locale/el/LC_MESSAGES/djangojs.po index 96aa8bffad4..335d791096d 100644 --- a/cms/locale/el/LC_MESSAGES/djangojs.po +++ b/cms/locale/el/LC_MESSAGES/djangojs.po @@ -1,42 +1,41 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Είσαι σίγουρος πως θέλεις να αλλάξεις τα πεδία %(field_name)s χωρίς να" -" αποθηκεύσεις τη σελίδα πρώτα?" +"Είσαι σίγουρος πως θέλεις να αλλάξεις τα πεδία %(field_name)s χωρίς να " +"αποθηκεύσεις τη σελίδα πρώτα?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Είσαι σίγουρος πως θες να αλλάξεις καρτέλες χωρίς να έχεις αποθηκεύσει" -" πρώτα τη σελίδα?" +"Είσαι σίγουρος πως θες να αλλάξεις καρτέλες χωρίς να έχεις αποθηκεύσει πρώτα " +"τη σελίδα?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Είσαι σίγουρος πως θέλεις να διαγράψεις αυτό το πρόσθετο?" diff --git a/cms/locale/en/LC_MESSAGES/django.mo b/cms/locale/en/LC_MESSAGES/django.mo index ac0ffe2a3cc..a54308e22ad 100644 Binary files a/cms/locale/en/LC_MESSAGES/django.mo and b/cms/locale/en/LC_MESSAGES/django.mo differ diff --git a/cms/locale/en/LC_MESSAGES/django.po b/cms/locale/en/LC_MESSAGES/django.po index fadd6f437c0..31e5b566986 100644 --- a/cms/locale/en/LC_MESSAGES/django.po +++ b/cms/locale/en/LC_MESSAGES/django.po @@ -7,10 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-06-09 01:53+0200\n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" "PO-Revision-Date: 2009-11-10 22:37+0100\n" "Last-Translator: Benjamin Wohlwend \n" "Language-Team: divio.ch \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,456 +20,432 @@ msgstr "" "X-Poedit-SourceCharset: utf-8\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +#, fuzzy +msgid "Request Approval" +msgstr "Request approval" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +#, fuzzy +msgid "Delete Page" +msgstr "deletion request" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "" -#: admin/forms.py:28 +#: admin/forms.py:59 msgid "Title" msgstr "" -#: admin/forms.py:29 +#: admin/forms.py:60 msgid "The default title" msgstr "" -#: admin/forms.py:30 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:31 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "" -#: admin/forms.py:32 +#: admin/forms.py:63 msgid "Language" msgstr "" -#: admin/forms.py:33 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "" -#: admin/forms.py:82 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:100 +#: admin/forms.py:135 msgid "Menu Title" msgstr "" -#: admin/forms.py:101 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "" -#: admin/forms.py:102 +#: admin/forms.py:137 msgid "Page Title" msgstr "" -#: admin/forms.py:103 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -#: admin/forms.py:104 +#: admin/forms.py:139 msgid "Application" msgstr "" -#: admin/forms.py:106 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "" -#: admin/forms.py:107 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:108 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -#: admin/forms.py:114 +#: admin/forms.py:149 msgid "Redirect" msgstr "" -#: admin/forms.py:115 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "" -#: admin/forms.py:117 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -#: admin/forms.py:119 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "A list of comma separated keywords sometimes used by search engines." -#: admin/forms.py:134 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:141 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "" -#: admin/forms.py:152 admin/forms.py:153 migrations/0001_initial.py:41 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 #: models/permissionmodels.py:16 msgid "user" msgstr "" -#: admin/forms.py:185 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:188 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:215 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:222 admin/forms.py:229 admin/forms.py:233 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:223 admin/forms.py:230 admin/forms.py:234 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:224 admin/forms.py:231 admin/forms.py:235 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:225 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:288 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:289 +#: admin/forms.py:298 msgid "" "Send email notification to user about username or password change. Requires " "user email." msgstr "" -#: admin/forms.py:309 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:311 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:330 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "" -#: admin/forms.py:332 +#: admin/forms.py:341 msgid "" "The permission to add new pages requires the permission to change pages!" msgstr "" -#: admin/forms.py:334 +#: admin/forms.py:343 msgid "" "The permission to add new users requires the permission to change users!" msgstr "" -#: admin/forms.py:336 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:118 admin/pageadmin.py:134 -msgid "Hidden" -msgstr "" - -#: admin/pageadmin.py:129 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:132 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:138 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:147 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:477 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:649 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:748 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:82 models/permissionmodels.py:68 -#: models/titlemodels.py:22 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:13 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:22 plugins/teaser/models.py:15 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:873 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:928 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:931 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:946 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1029 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1047 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1092 admin/pageadmin.py:1125 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1096 admin/pageadmin.py:1127 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1108 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1129 -msgid "Language must be different than the copied language!" -msgstr "" - -#: admin/pageadmin.py:1139 -#, python-format -msgid "Copied %(language)s plugins to %(placeholder)s" +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" msgstr "" -#: admin/pageadmin.py:1213 -#, python-format -msgid "" -"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" +#: admin/pageadmin.py:1160 +msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1271 -msgid "Plugins where moved" +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" msgstr "" -#: admin/pageadmin.py:1293 admin/placeholderadmin.py:207 +#: admin/pageadmin.py:1173 #, python-format -msgid "" -"%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " -"deleted." -msgstr "" - -#: admin/permissionadmin.py:113 models/permissionmodels.py:74 -msgid "Page permissions" -msgstr "" - -#: admin/permissionadmin.py:114 -msgid "User & Group permissions" -msgstr "" - -#: admin/permissionadmin.py:115 -msgid "Page permissions management" -msgstr "" - -#: admin/useradmin.py:22 -msgid "User details" -msgstr "" - -#: admin/useradmin.py:23 -msgid "Groups" -msgstr "" - -#: admin/useradmin.py:33 templates/cms/toolbar/toolbar.html:76 -msgid "Password" -msgstr "" - -#: admin/dialog/forms.py:8 -msgid "Copy permissions" -msgstr "" - -#: admin/dialog/forms.py:11 -msgid "Copy moderation" -msgstr "" - -#: conf/patch.py:26 -msgid "Inherit the template of the nearest ancestor" -msgstr "" - -#: docs/templates/defindex.html:2 -msgid "Overview" -msgstr "" - -#: docs/templates/defindex.html:11 -msgid "Indices and tables:" -msgstr "" - -#: docs/templates/defindex.html:14 -msgid "Complete Table of Contents" -msgstr "" - -#: docs/templates/defindex.html:15 -msgid "lists all sections and subsections" -msgstr "" - -#: docs/templates/defindex.html:16 -msgid "Search Page" -msgstr "" - -#: docs/templates/defindex.html:17 -msgid "search this documentation" -msgstr "" - -#: docs/templates/defindex.html:19 docs/templates/modindex.html:2 -#: docs/templates/modindex.html.py:13 -msgid "Global Module Index" -msgstr "" - -#: docs/templates/defindex.html:20 -msgid "quick access to all modules" -msgstr "" - -#: docs/templates/defindex.html:21 -msgid "General Index" -msgstr "" - -#: docs/templates/defindex.html:22 -msgid "all functions, classes, terms" -msgstr "" - -#: docs/templates/genindex-single.html:2 docs/templates/genindex-split.html:2 -#: docs/templates/genindex-split.html:5 docs/templates/genindex.html:2 -#: docs/templates/genindex.html.py:5 docs/templates/genindex.html:48 -#: docs/templates/layout.html:131 -msgid "Index" +msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: docs/templates/genindex-single.html:44 -#: docs/templates/genindex-split.html:14 docs/templates/genindex-split.html:27 -#: docs/templates/genindex.html:54 -msgid "Full index on one page" +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" msgstr "" -#: docs/templates/genindex-split.html:7 -msgid "Index pages by letter" +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" msgstr "" -#: docs/templates/genindex-split.html:15 -msgid "can be huge" +#: admin/pageadmin.py:1256 +#, python-format +msgid "" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: docs/templates/layout.html:10 -msgid "Navigation" +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" msgstr "" -#: docs/templates/layout.html:42 -msgid "Table Of Contents" +#: admin/pageadmin.py:1329 +msgid "Plugins where moved" msgstr "" -#: docs/templates/layout.html:48 -msgid "Previous topic" +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" msgstr "" -#: docs/templates/layout.html:50 -msgid "previous chapter" +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 +#, python-format +msgid "" +"%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " +"deleted." msgstr "" -#: docs/templates/layout.html:53 -msgid "Next topic" +#: admin/permissionadmin.py:72 +msgid "View restriction" msgstr "" -#: docs/templates/layout.html:55 -msgid "next chapter" +#: admin/permissionadmin.py:73 +msgid "View restrictions" msgstr "" -#: docs/templates/layout.html:60 -msgid "This Page" +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 +msgid "Page permissions" msgstr "" -#: docs/templates/layout.html:63 -msgid "Show Source" +#: admin/permissionadmin.py:134 +msgid "User & Group permissions" msgstr "" -#: docs/templates/layout.html:73 -msgid "Quick search" +#: admin/permissionadmin.py:135 +msgid "Page permissions management" msgstr "" -#: docs/templates/layout.html:76 -msgid "Go" +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." msgstr "" -#: docs/templates/layout.html:81 -msgid "Enter search terms or a module, class or function name." +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" msgstr "" -#: docs/templates/layout.html:128 -msgid "About these documents" +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" msgstr "" -#: docs/templates/layout.html:134 docs/templates/search.html:2 -#: docs/templates/search.html.py:5 -msgid "Search" +#: admin/useradmin.py:25 +msgid "User details" msgstr "" -#: docs/templates/layout.html:137 -msgid "Copyright" +#: admin/useradmin.py:26 +msgid "Groups" msgstr "" -#: docs/templates/modindex.html:36 -msgid "Deprecated" +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 +msgid "Password" msgstr "" -#: docs/templates/search.html:21 -msgid "search" +#: admin/dialog/forms.py:9 +msgid "Copy permissions" msgstr "" -#: docs/templates/search.html:25 -msgid "Search Results" +#: admin/dialog/forms.py:16 +msgid "Copy moderation" msgstr "" -#: docs/templates/search.html:27 -msgid "Your search did not match any results." +#: conf/patch.py:28 +msgid "Inherit the template of the nearest ancestor" msgstr "" -#: forms/fields.py:18 +#: forms/fields.py:19 msgid "Select a valid site" msgstr "" -#: forms/fields.py:19 +#: forms/fields.py:20 msgid "Select a valid page" msgstr "" -#: forms/widgets.py:172 +#: forms/widgets.py:173 msgid "Add Another" msgstr "" @@ -476,34 +453,44 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:44 models/titlemodels.py:11 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:43 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:46 models/titlemodels.py:23 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:27 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:45 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin name" #: migrations/0001_initial.py:25 migrations/0011_title_overwrites.py:12 -#: migrations/0011_title_overwrites.py:15 models/titlemodels.py:12 -#: models/titlemodels.py:13 models/titlemodels.py:21 plugins/file/models.py:26 -#: plugins/file/migrations/0001_initial.py:18 plugins/teaser/models.py:11 +#: migrations/0011_title_overwrites.py:15 models/titlemodels.py:11 +#: models/titlemodels.py:12 models/titlemodels.py:20 plugins/file/models.py:25 +#: plugins/file/migrations/0001_initial.py:18 plugins/teaser/models.py:9 #: plugins/twitter/models.py:6 plugins/twitter/models.py:15 #: templates/admin/cms/page/change_list_tree.html:6 msgid "title" @@ -513,7 +500,7 @@ msgstr "" msgid "path" msgstr "" -#: migrations/0001_initial.py:30 models/titlemodels.py:14 +#: migrations/0001_initial.py:30 models/titlemodels.py:13 msgid "slug" msgstr "" @@ -551,7 +538,7 @@ msgid "navigation extenders" msgstr "" #: migrations/0001_initial.py:54 migrations/0006_apphook.py:12 -#: migrations/0006_apphook.py:46 models/titlemodels.py:16 +#: migrations/0006_apphook.py:46 models/titlemodels.py:15 msgid "has url overwrite" msgstr "has URL overwrite" @@ -567,227 +554,222 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:71 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:56 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:54 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:61 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:53 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:55 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" #: migrations/0006_apphook.py:15 migrations/0007_apphook_longer.py:11 -#: migrations/0007_apphook_longer.py:17 models/titlemodels.py:17 +#: migrations/0007_apphook_longer.py:17 models/titlemodels.py:16 msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:57 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" -#: migrations/0008_redirects.py:11 models/titlemodels.py:18 +#: migrations/0008_redirects.py:11 models/titlemodels.py:17 msgid "redirect" msgstr "" -#: migrations/0009_added_meta_fields.py:12 models/titlemodels.py:20 +#: migrations/0009_added_meta_fields.py:12 models/titlemodels.py:19 msgid "keywords" msgstr "" -#: migrations/0009_added_meta_fields.py:15 models/titlemodels.py:19 -#: plugins/teaser/models.py:22 +#: migrations/0009_added_meta_fields.py:15 models/titlemodels.py:18 +#: plugins/teaser/models.py:20 msgid "description" msgstr "" -#: models/moderatormodels.py:24 +#: models/moderatormodels.py:25 msgid "Current page" msgstr "" -#: models/moderatormodels.py:25 +#: models/moderatormodels.py:26 msgid "Page children (immediate)" msgstr "" -#: models/moderatormodels.py:26 +#: models/moderatormodels.py:27 msgid "Page and children (immediate)" msgstr "" -#: models/moderatormodels.py:27 +#: models/moderatormodels.py:28 msgid "Page descendants" msgstr "" -#: models/moderatormodels.py:28 +#: models/moderatormodels.py:29 msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:44 templates/admin/cms/page/permissions.html:5 -msgid "Page" -msgstr "" - -#: models/moderatormodels.py:45 +#: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:49 templatetags/cms_admin.py:65 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:66 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:67 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" -#: models/moderatormodels.py:54 models/moderatormodels.py:55 +#: models/moderatormodels.py:55 models/moderatormodels.py:56 msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:97 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:98 models/pagemodel.py:35 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:99 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "deletion request" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:102 msgid "move req." msgstr "move request" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publish request" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "unpublish request" -#: models/moderatormodels.py:103 models/pagemodel.py:38 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:115 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:36 +#: models/pagemodel.py:45 msgid "req. app." msgstr "approval required" -#: models/pagemodel.py:37 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:106 -#: templates/cms/toolbar/toolbar.html:143 utils/moderator.py:89 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:39 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:44 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:49 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:50 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:53 +#: models/pagemodel.py:66 msgid "" "When the page should go live. Status must be \"Published\" for page to go " "live." msgstr "" -#: models/pagemodel.py:54 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:56 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:57 +#: models/pagemodel.py:70 msgid "" "An unique identifier that is used with the page_url templatetag for linking " "to this page" msgstr "" -#: models/pagemodel.py:58 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:61 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:62 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:62 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:190 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:495 +#: models/pagemodel.py:698 msgid "default" msgstr "" @@ -819,6 +801,14 @@ msgstr "" msgid "can moderate" msgstr "" +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + #: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" @@ -843,19 +833,19 @@ msgstr "" msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:67 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" -#: models/permissionmodels.py:73 +#: models/permissionmodels.py:74 msgid "Page permission" msgstr "" -#: models/permissionmodels.py:87 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" @@ -867,20 +857,24 @@ msgstr "" msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:28 plugins/flash/models.py:10 -#: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:14 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 +#: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/titlemodels.py:13 +#: models/pluginmodel.py:140 +msgid "" +msgstr "" + +#: models/titlemodels.py:12 msgid "overwrite the title in the menu" msgstr "" -#: models/titlemodels.py:15 +#: models/titlemodels.py:14 msgid "Path" msgstr "" -#: models/titlemodels.py:21 +#: models/titlemodels.py:20 msgid "overwrite the title (html title tag)" msgstr "" @@ -888,29 +882,39 @@ msgstr "" msgid "File" msgstr "" -#: plugins/file/models.py:25 plugins/file/migrations/0001_initial.py:17 -#: plugins/flash/models.py:9 plugins/flash/migrations/0001_initial.py:18 +#: plugins/file/models.py:24 plugins/file/migrations/0001_initial.py:17 +#: plugins/flash/models.py:8 plugins/flash/migrations/0001_initial.py:18 msgid "file" msgstr "" -#: plugins/flash/cms_plugins.py:11 +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + +#: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" -#: plugins/flash/models.py:9 +#: plugins/flash/models.py:8 msgid "use swf file" msgstr "" -#: plugins/flash/models.py:11 plugins/flash/migrations/0001_initial.py:19 -#: plugins/video/models.py:15 +#: plugins/flash/models.py:10 plugins/flash/migrations/0001_initial.py:19 +#: plugins/video/models.py:14 msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " msgstr "" -#: plugins/googlemap/cms_plugins.py:11 +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" + +#: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" msgstr "" @@ -966,11 +970,11 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:72 -msgid "Your address" +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 +msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:75 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" @@ -978,7 +982,7 @@ msgstr "" msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -996,28 +1000,28 @@ msgstr "" msgid "Link" msgstr "" -#: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:18 +#: plugins/link/models.py:10 plugins/link/migrations/0001_initial.py:18 #: plugins/link/migrations/0004_larger_link_names.py:11 #: plugins/link/migrations/0004_larger_link_names.py:17 #: plugins/snippet/models.py:12 plugins/snippet/migrations/0001_initial.py:17 msgid "name" msgstr "" -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:16 +#: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 #: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 -#: plugins/teaser/models.py:21 +#: plugins/teaser/models.py:19 msgid "link" msgstr "" -#: plugins/link/models.py:13 +#: plugins/link/models.py:12 msgid "A link to a page has priority over a text link." msgstr "" -#: plugins/link/models.py:14 +#: plugins/link/models.py:13 msgid "mailto" msgstr "email address" -#: plugins/link/models.py:14 +#: plugins/link/models.py:13 msgid "An email adress has priority over a text link." msgstr "An email address has priority over a text link." @@ -1025,6 +1029,10 @@ msgstr "An email address has priority over a text link." msgid "Picture" msgstr "" +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + #: plugins/picture/models.py:15 msgid "left" msgstr "" @@ -1034,7 +1042,7 @@ msgid "right" msgstr "" #: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 -#: plugins/teaser/models.py:12 plugins/video/models.py:12 +#: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" @@ -1085,19 +1093,20 @@ msgstr "" msgid "Snippets" msgstr "" -#: plugins/teaser/cms_plugins.py:9 +#: plugins/teaser/cms_plugins.py:8 msgid "Teaser" msgstr "" -#: plugins/teaser/models.py:16 +#: plugins/teaser/models.py:14 msgid "If present image will be clickable" msgstr "" -#: plugins/teaser/models.py:21 +#: plugins/teaser/models.py:19 msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -1105,7 +1114,7 @@ msgstr "" msgid "Text" msgstr "" -#: plugins/text/models.py:15 plugins/text/migrations/0001_initial.py:16 +#: plugins/text/models.py:14 plugins/text/migrations/0001_initial.py:16 msgid "body" msgstr "" @@ -1115,51 +1124,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1194,6 +1204,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1202,97 +1236,91 @@ msgstr "" msgid "Color Settings" msgstr "" -#: plugins/video/models.py:10 +#: plugins/video/models.py:9 #, fuzzy msgid "movie file" msgstr "move request" -#: plugins/video/models.py:10 +#: plugins/video/models.py:9 msgid "use .flv file or h264 encoded video file" msgstr "" -#: plugins/video/models.py:11 +#: plugins/video/models.py:10 #, fuzzy msgid "movie url" msgstr "move request" -#: plugins/video/models.py:11 +#: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=YFa59lK-" -"kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -#: plugins/video/models.py:12 +#: plugins/video/models.py:11 msgid "preview image file" msgstr "" -#: plugins/video/models.py:17 +#: plugins/video/models.py:16 msgid "auto play" msgstr "" -#: plugins/video/models.py:18 +#: plugins/video/models.py:17 msgid "auto hide" msgstr "" -#: plugins/video/models.py:19 +#: plugins/video/models.py:18 msgid "fullscreen" msgstr "" -#: plugins/video/models.py:20 +#: plugins/video/models.py:19 msgid "loop" msgstr "" -#: plugins/video/models.py:23 +#: plugins/video/models.py:22 #, fuzzy msgid "background color" msgstr "background color" -#: plugins/video/models.py:23 plugins/video/models.py:24 -#: plugins/video/models.py:25 plugins/video/models.py:26 -#: plugins/video/models.py:27 plugins/video/models.py:28 -#: plugins/video/models.py:29 plugins/video/models.py:30 +#: plugins/video/models.py:22 plugins/video/models.py:23 +#: plugins/video/models.py:24 plugins/video/models.py:25 +#: plugins/video/models.py:26 plugins/video/models.py:27 +#: plugins/video/models.py:28 plugins/video/models.py:29 msgid "Hexadecimal, eg ff00cc" msgstr "" -#: plugins/video/models.py:24 +#: plugins/video/models.py:23 msgid "text color" msgstr "" -#: plugins/video/models.py:25 +#: plugins/video/models.py:24 #, fuzzy msgid "seekbar color" msgstr "background color" -#: plugins/video/models.py:26 +#: plugins/video/models.py:25 #, fuzzy msgid "seekbar bg color" msgstr "background color" -#: plugins/video/models.py:27 +#: plugins/video/models.py:26 msgid "loadingbar color" msgstr "" -#: plugins/video/models.py:28 +#: plugins/video/models.py:27 msgid "button out color" msgstr "" -#: plugins/video/models.py:29 +#: plugins/video/models.py:28 msgid "button over color" msgstr "" -#: plugins/video/models.py:30 +#: plugins/video/models.py:29 msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1310,7 +1338,7 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" @@ -1340,11 +1368,11 @@ msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1352,79 +1380,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(requires approval at %(moderation_level)s level)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" "This page must be moderated at level %(moderation_level)s, post a message " "for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Request approval" @@ -1432,41 +1460,41 @@ msgstr "Request approval" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "An error occurred. Please reload the page" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1490,7 +1518,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1504,8 +1536,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:112 -#: templates/cms/toolbar/toolbar.html:136 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1561,7 +1592,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:85 msgid "Approve directly" msgstr "" @@ -1575,10 +1605,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1623,28 +1649,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1679,7 +1714,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1703,159 +1737,105 @@ msgstr "No Plugin selected. Select one on the left side" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:26 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:27 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:56 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:63 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:74 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:78 templates/cms/toolbar/toolbar.html:79 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:90 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:101 -#, fuzzy -msgid "move" -msgstr "move request" - -#: templates/cms/toolbar/toolbar.html:101 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:103 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:103 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:104 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:104 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:106 -#, fuzzy -msgid "Delete Page" -msgstr "deletion request" - -#: templates/cms/toolbar/toolbar.html:112 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:114 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:116 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:116 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:123 -#: templates/cms/toolbar/toolbar.html:124 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:124 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:127 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:138 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:139 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:141 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:143 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:65 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:66 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:67 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" -#: templatetags/cms_tags.py:69 +#: templatetags/cms_tags.py:78 #, python-format msgid "Page not found on %(domain)s" msgstr "" -#: templatetags/cms_tags.py:70 +#: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)" -"s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: utils/moderator.py:82 +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "" + +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "" + +#: utils/moderator.py:83 msgid "parent first" msgstr "" -#: utils/moderator.py:89 +#: utils/moderator.py:90 msgid "approve" msgstr "" -#: utils/moderator.py:240 +#: utils/moderator.py:251 #, python-format msgid "CMS - Page %s requires approvement." msgstr "CMS - Page %s requires approval." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#, fuzzy +#~ msgid "move" +#~ msgstr "move request" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#, fuzzy +#~ msgid "sidebar column" +#~ msgstr "background color" #~ msgid "fgcolor" #~ msgstr "foreground color" diff --git a/cms/locale/en/LC_MESSAGES/djangojs.mo b/cms/locale/en/LC_MESSAGES/djangojs.mo index 5ebf4fec6da..d83e0aae4c9 100644 Binary files a/cms/locale/en/LC_MESSAGES/djangojs.mo and b/cms/locale/en/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/en/LC_MESSAGES/djangojs.po b/cms/locale/en/LC_MESSAGES/djangojs.po index 0d036e5d28f..1a26e82f0d4 100644 --- a/cms/locale/en/LC_MESSAGES/djangojs.po +++ b/cms/locale/en/LC_MESSAGES/djangojs.po @@ -8,30 +8,31 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-15 13:37+0100\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" "Are you sure you want to change the %(field_name)s without saving the page " "first?" msgstr "" -#: media/cms/js/change_form.js:68 +#: static/cms/js/change_form.js:69 msgid "" -"Not all plugins are saved. Are you sure you want to save the page? All " -"unsaved plugin content will be lost." +"Not all plugins are saved. Are you sure you want to save the page?\n" +"All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:115 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:111 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" diff --git a/cms/locale/es/LC_MESSAGES/django.mo b/cms/locale/es/LC_MESSAGES/django.mo index d7cf890bf4c..172227c0473 100644 Binary files a/cms/locale/es/LC_MESSAGES/django.mo and b/cms/locale/es/LC_MESSAGES/django.mo differ diff --git a/cms/locale/es/LC_MESSAGES/django.po b/cms/locale/es/LC_MESSAGES/django.po index bee2a390c68..641e26d53ea 100644 --- a/cms/locale/es/LC_MESSAGES/django.po +++ b/cms/locale/es/LC_MESSAGES/django.po @@ -1,346 +1,455 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-04-27 10:08+0000\n" +"Last-Translator: lasarux \n" "Language-Team: divio.ch \n" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Modo edición" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publicar" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "Petición de Aprobación" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Salir" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Plantilla" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Mover/añadir páginas" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Añadir página hijo" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Añadir página hermana" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Eliminar página" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Página" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Administración del sitio" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Configuración de la página" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Ver Historia" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Opciones avanzadas" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Título" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Título por defecto" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Nombre único (slug)" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Parte del título que es usado en la URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Idioma" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Idioma actual de los campos de contenido." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Hay otra página con ese slug" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Título del Menú" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Sobreescribir lo que es mostrado en el menú" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Título de la Página" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" "Sobreescribe lo que es mostrado en lo alto de su navegador o en sus " "marcadores" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplicación" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Enganchar la aplicación a esta página." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Sobreescribir la URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Guardar el campo vacío si es usado el 'path' estándar." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Redirigir" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Redirige a esta URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -"Descripción de la página que a veces será usado por los motores de " -"búsqueda." +"Descripción de la página que a veces será usado por los motores de búsqueda." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Lista de palabras clave que a veces será usada por los motores de " -"búsqueda." +"Lista de palabras clave que a veces será usada por los motores de búsqueda." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Página con este id de URL inversa si ya existe." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "URL inválida, use el formato /mi/url." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Hay otra página con ese slug" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "usuario" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" "Añadir permisos a la página requiere también acceder a sus hijos o " -"descendientes, de otra forma la página añadida no puede ser modificada" -" por su creador." +"descendientes, de otra forma la página añadida no puede ser modificada por " +"su creador." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"Añadir permiso de página también requiere del permiso de edición de " -"página." +"Añadir permiso de página también requiere del permiso de edición de página." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "ver" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Por favor, seleccione un usuario o grupo primero." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Añadir" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Cambiar" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Eliminar" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Recuperar (cualquier) página" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Notificar al usuario" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Enviar una notificación por correo al usuario sobre un cambio de " -"nombre de usuario o contraseña. Requiere un correo del usuario." +"Enviar una notificación por correo al usuario sobre un cambio de nombre de " +"usuario o contraseña. Requiere un correo del usuario." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nueva contraseña" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Confirmación de nueva contraseña" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "La notificación de email requiere de una dirección de email válida." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"¡El permiso para añadir nuevas páginas depende del permiso para " -"cambiar páginas!" +"¡El permiso para añadir nuevas páginas depende del permiso para cambiar " +"páginas!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"¡El permiso para añadir nuevos usuarios depende del permiso para " -"cambiar usuarios!" +"¡El permiso para añadir nuevos usuarios depende del permiso para cambiar " +"usuarios!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Para añadir permisos necesita editarlos." -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Escondido" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Configuración básica" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Observación: Esta página recarga si cambia la selección. Guárdela " -"primero." +"Observación: Esta página recarga si cambia la selección. Guárdela primero." + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Escondido" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Configuración avanzada" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Configuración de SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "mayor" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Error de Base de Datos" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "página" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "La página ha sido aprobada." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "El objeto %(name)s con la clave primaria %(key)r no existe." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Sólo existe una traducción para esta página." -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -"El título y los \"plugins\" con el lenguaje %(language)s fueron " -"eliminados." +"El título y los 'plugins' con el lenguaje %(language)s fueron eliminados." -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "¿Está seguro?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "No tiene permisos para publicar esta página" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -"No tiene permisos para cambiar esta página en el estado " -"'in_navigation'" +"No tiene permisos para cambiar esta página en el estado 'in_navigation'" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "No tiene permisos para cambiar esta página" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "¡Idioma debe estar configurado a uno soportado!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s plugin añadido a %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "¡El idioma debe ser diferente del de la copia!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" -msgstr "\"plugins\" en %(language)s copiados a %(placeholder)s" +msgstr "'plugins' en %(language)s copiados a %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"%(plugin_name)s plugin editado en la posición %(position)s en " -"%(placeholder)s" +"%(plugin_name)s plugin editado en la posición %(position)s en %(placeholder)s" + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "No tiene permisos para cambiar esta página" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" -msgstr "\"Plugins\" movidos" +msgstr "Los 'plugins' fueron movidos" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"%(plugin_name)s plugin en la posición %(position)s en %(placeholder)s " -"fue eliminado." +"%(plugin_name)s plugin en la posición %(position)s en %(placeholder)s fue " +"eliminado." + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Permisos de página" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Permisos de usuario y grupo" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Administración de permisos de la página" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "No tiene permisos para cambiar esta página" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "No tiene permisos para cambiar esta página" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Detalles del usuario" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Grupos" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Contraseña" @@ -352,17 +461,17 @@ msgstr "Permisos de copia" msgid "Copy moderation" msgstr "Moderación de la copia" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Heredar el template de su ancestro más cercano" #: forms/fields.py:19 msgid "Select a valid site" -msgstr "" +msgstr "Elija un sitio válido" #: forms/fields.py:20 msgid "Select a valid page" -msgstr "" +msgstr "Elija una página válida" #: forms/widgets.py:173 msgid "Add Another" @@ -372,27 +481,37 @@ msgstr "Añadir otro" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "idioma" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "página" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "posición" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "fecha de creación" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "slot" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "nombre del plugin" @@ -417,15 +536,15 @@ msgstr "slug" msgid "everybody" msgstr "todo el mundo" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "puede editar" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "grupo" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "puede publicar" @@ -463,28 +582,28 @@ msgstr "autor" msgid "reverse url id" msgstr "id de la url inversa" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "se necesita identificación" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "soft root" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "fecha final de la publicación" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "plantilla" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "fecha de publicación" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "en navegación" @@ -494,7 +613,7 @@ msgstr "en navegación" msgid "application" msgstr "aplicación" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -531,26 +650,21 @@ msgstr "Descendientes de la página" msgid "Page and descendants" msgstr "Página y descendientes" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Página" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Usuario" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderar página" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderar hijos" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "moderar descendientes" @@ -558,195 +672,202 @@ msgstr "moderar descendientes" msgid "PageModerator" msgstr "PageModerator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "creado" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "cambiado" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "petición de eliminación" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "petición de cambio de lugar" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "petición de publicación" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "petición de despublicación" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "aprovado" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Página del estado del moderador" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Página de los estados del moderador" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "petición de aplicación" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "eliminar" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" -msgstr "" +msgstr "solo para usuarios identificados" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" -msgstr "" +msgstr "solo para usuarios anónimos" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "creado por" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "cambiado por" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Cuando una página debería estar en línea. El estado debe estar en " -"\"Publicado\" para que la página vaya a estar en línea." +"Cuando una página debería estar en línea. El estado debe estar en \"Publicado" +"\" para que la página vaya a estar en línea." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Cuando caduca la página. Si se deja vacío, nunca caducará." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Todos los ancestros no serán mostrados en la navegación" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Un identificador único que es usado con el templatetag page_url para " -"enlazar a esta página" +"Un identificador único que es usado con el templatetag page_url para enlazar " +"a esta página" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" -msgstr "" +msgstr "menú anclado" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "está publicado" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "La plantilla usada para mostrar el contenido." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "El sitio de la página es accesible en." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "sitio" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "estado del moderador" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" -msgstr "" +msgstr "visibilidad del menú" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" -msgstr "" +msgstr "límite cuando la página es visible en el menú" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "páginas" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "La página fue copiada." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "por defecto" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "puede añadir" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "puede eliminar" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "puede cambiar la configuración avanzada" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "puede cambiar permisos" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "en el nivel de la página" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "puede mover" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "puede moderar" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "puede recuperar páginas" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "puede recuperar cualquier página eliminada" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"Si no selecciona nada, el suaurio tiene garantizado el permiso a todos" -" los sitios." +"Si no selecciona nada, el suaurio tiene garantizado el permiso a todos los " +"sitios." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "sitios" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Permiso global de la página" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Permisos globales de las páginas" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Autorizado" @@ -754,30 +875,30 @@ msgstr "Autorizado" msgid "Page permission" msgstr "Permiso de la página" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Usuario (página) " -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Usuarios (página)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Grupo del usuario (página)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Grupos de usuarios (página)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "ancho" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" -msgstr "" +msgstr "" #: models/titlemodels.py:12 msgid "overwrite the title in the menu" @@ -800,6 +921,10 @@ msgstr "Fichero" msgid "file" msgstr "fichero" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -813,9 +938,18 @@ msgstr "usar fichero swf" msgid "height" msgstr "alto" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Plugin de flash no encontrado." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"No está el 'plugin' de flash. Descargelo de here" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -873,19 +1007,19 @@ msgstr "Planificador de ruta" msgid "Map" msgstr "Mapa" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " -msgstr "" +msgstr "Su dirección:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Calcular la ruta" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" -msgstr "Hereda \"Plugins\" de la Página" +msgstr "Hereda 'Plugins' de la Página" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "El Idioma o la Página debe ser rellenado" @@ -894,12 +1028,12 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Elija una página para incluir sus \"plugins\" en este \"placeholder\". Si " -"la deja vacía elegirá la página actual" +"Elija una página para incluir sus 'plugins' en este 'placeholder'. Si la " +"deja vacía elegirá la página actual" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" -msgstr "Opcional: el idioma de los \"plugins\" que desee" +msgstr "Opcional: el idioma de los 'plugins' que desee" #: plugins/link/cms_plugins.py:12 msgid "Link" @@ -913,7 +1047,7 @@ msgid "name" msgstr "nombre" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "enlace" @@ -934,40 +1068,44 @@ msgstr "Una dirección de correo tiene prioridad sobre un enlace de texto." msgid "Picture" msgstr "Foto" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "izquierda" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "derecha" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "imágen" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "si la imágen será 'clickable'" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "texto alternativo" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "descripción textual de la imágen" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "descripcción larga" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "descripcción adicional de la imágen" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "posición" @@ -987,10 +1125,9 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Introduzca una plantilla (p.ej. \"snippets/plugin_xy.html\") que será " +"Introduzca una plantilla (p.ej. 'snippets/plugin_xy.html') que será " "utilizada." #: plugins/snippet/models.py:25 @@ -1010,6 +1147,7 @@ msgid "If present image will be clickable." msgstr "Si la imágen será 'clickable'." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "más" @@ -1027,53 +1165,54 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Por favor, seleccione el tipo de plugin." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Editar el plugin seleccionado" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "El editor de texto no soporta la edición de objetos." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Ningún objeto seleccionado." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "El editor de texto no soporta la inserción de objetos." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "No es un objeto plugin" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Plugins disponibles" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Insertar un plugin" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" -msgstr "" +msgstr "Búscar en Twitter" #: plugins/twitter/models.py:7 msgid "twitter user" @@ -1094,12 +1233,11 @@ msgstr "Enlace pista" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Si está seleccionado, la pista es mostrada con enlace a su perfil de " -"Twitter." +"Si está seleccionado, la pista es mostrada con enlace a su perfil de Twitter." #: plugins/twitter/models.py:16 msgid "query" -msgstr "" +msgstr "questión" #: plugins/twitter/models.py:16 msgid "" @@ -1107,6 +1245,34 @@ msgid "" "from the user \"umbrella\" to the user \"nemesis\" that contain the words " "\"brains\" and \"zombies\"" msgstr "" +"Ejemplo: \"cerebros AND zombis AND from:paraguas AND to:nemesis\": tweets " +"desde el usuario \"paraguas\" hasta el usuario \"nemesis\" que contiene las " +"palabras \"cerebos\" and \"zombis\"" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Cargando..." #: plugins/video/cms_plugins.py:10 msgid "Video" @@ -1129,12 +1295,13 @@ msgid "movie url" msgstr "URL de la película" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"URL del video en vimeo o youtube. Ejemplo: " -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"URL del video en vimeo o youtube. Ejemplo: http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1195,17 +1362,9 @@ msgstr "Color de estar sobre el botón" msgid "button highlight color" msgstr "Color para iluminar el botón" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"No está el \"plugin\" de flash. Descargelo de here" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Guardar" @@ -1223,22 +1382,19 @@ msgid "Save and add another" msgstr "Guardar y añadir otro" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Guardar y continuar editando" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" "La página %(page)s puede que necesite su " "aprobación." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Últimos cambios" @@ -1246,31 +1402,23 @@ msgstr "Últimos cambios" #, python-format msgid "Log in to administration here." msgstr "" -"Entrar por aquía la parte de " -"administración." - -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" +"Entrar por aquía la parte de administración." #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Nombre de usuario:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Contraseña:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Cambiar la página" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1278,81 +1426,81 @@ msgstr "Cambiar la página" msgid "Home" msgstr "Inicio" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Aprobar la eliminación de la página" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(necesita una aprobación en el nivel %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(puede ejecutar las acciones en esta página diréctamente)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Quitar las peticiones de eliminación." -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Aprobar la eliminación" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Aprobar" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "borrador" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Previo" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Historia" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Ver en el sitio" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Por favor, corrija el error de abajo." msgstr[1] "Por favor, corrija los errores de abajo." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Todos los permisos" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Cargando..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Estados de la página" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"La página debe ser moderada en el nivel %(moderation_level)s, envíe un" -" mensaje al moderador." +"La página debe ser moderada en el nivel %(moderation_level)s, envíe un " +"mensaje al moderador." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Petición de aprobación" @@ -1360,41 +1508,41 @@ msgstr "Petición de aprobación" msgid "List of pages" msgstr "Listado de páginas" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Se ha movido con éxito" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Ha ocurrido un error, por favor recarge la página" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Recuperación de la página %(name)s eliminada" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Añadir %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Páginas en:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtro:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "activado" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "desactivado" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtro" @@ -1418,7 +1566,11 @@ msgstr "comienza" msgid "end" msgstr "termina" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "últimos cambios" @@ -1432,8 +1584,7 @@ msgid "edit this page" msgstr "editar esta página" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "editar" @@ -1489,7 +1640,6 @@ msgid "add" msgstr "añadir" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Aprobar directamente" @@ -1503,11 +1653,6 @@ msgstr "ver" msgid "Unpublish" msgstr "Despublicar" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publicar" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Ver en la página" @@ -1552,30 +1697,40 @@ msgstr "Puede cambiar los permisos" msgid "Can move" msgstr "Puede mover" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Puede mover" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(actual)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Todo" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "La página no hereda ningún permiso." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" -msgstr "¡Una versión antigüa de un \"plugin\" no puede ser guardada!" +msgstr "¡Una versión antigüa de un 'plugin' no puede ser guardada!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." -msgstr "\"Plugin\" guardado con éxito." +msgstr "'Plugin' guardado con éxito." #: templates/admin/cms/page/recover_form.html:17 #, python-format @@ -1585,8 +1740,7 @@ msgstr "Recuperar %(verbose_name)s eliminado" #: templates/admin/cms/page/recover_form.html:24 msgid "Press the save button below to recover this version of the object." msgstr "" -"Presione el botón de guardar de abajo para recuperar esta versión del " -"objeto." +"Presione el botón de guardar de abajo para recuperar esta versión del objeto." #: templates/admin/cms/page/revision_form.html:11 #, python-format @@ -1596,8 +1750,7 @@ msgstr "Revertir %(verbose_name)s" #: templates/admin/cms/page/revision_form.html:24 msgid "Press the save button below to revert to this version of the object." msgstr "" -"Presione el botón de guardar de abajo para revertir esta versión del " -"objeto." +"Presione el botón de guardar de abajo para revertir esta versión del objeto." #: templates/admin/cms/page/dialog/copy.html:4 msgid "Copy options" @@ -1609,12 +1762,11 @@ msgstr "Elija las opciones de copia" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:7 msgid "Generic" -msgstr "" +msgstr "Genérico" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" -msgstr "Añadir un \"Plugin\"" +msgstr "Añadir un 'Plugin'" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:18 msgid "From Language" @@ -1622,7 +1774,7 @@ msgstr "Desde el idioma" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:25 msgid "Copy Plugins" -msgstr "Copiar \"Plugins\"" +msgstr "Copiar 'Plugins'" #: templates/admin/cms/page/widgets/plugin_editor.html:12 msgid "You must save the page first to add plugins." @@ -1630,246 +1782,198 @@ msgstr "Debe guardar la página antes de añadir plugins." #: templates/admin/cms/page/widgets/plugin_editor.html:15 msgid "No Plugin selected. Selected one on the left side" -msgstr "No ha seleccionado ningún Plugin. Seleccione uno de la izquierda" +msgstr "No ha seleccionado ningún 'Plugin'. Seleccione uno de la izquierda" #: templates/admin/cms/page/widgets/plugin_editor.html:17 msgid "No Plugins present. Add a plugin to this placeholder-slot." -msgstr "No hay Plugins presentes. Añada un plugin en el slot del placeholder." +msgstr "" +"No hay 'Plugins' presentes. Añada un 'plugin' en el slot del placeholder." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" -msgstr "" +msgstr "Pluigns dispobibles" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Mover a %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" -msgstr "¿Seguro que desea eliminar este \"plugin\"?" +msgstr "¿Seguro que desea eliminar este 'plugin'?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Modo edición" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "Subir" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Estado" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "Bajar" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Nombre de usuario" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "Entrar" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Plantilla" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "mover" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Mover/añadir páginas" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "Añadir hijo" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Añadir página hijo" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "añadir hermano" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Añadir página hermana" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Eliminar página" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Administración del sitio" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Configuración de la página" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "Historia" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Ver Historia" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Salir" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Bloquear" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Cerrar" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "Subir" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "Bajar" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Estado" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Configuración" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Eliminar \"Plugin\"" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Desligar moderación de la página" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Desligar moderación del hijo" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Desligar moderación de los descendientes" #: templatetags/cms_tags.py:78 #, python-format msgid "Page not found on %(domain)s" -msgstr "" +msgstr "Página no encontrada en %(domain)s" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" +"Una etiqueta en la plantilla no puedo encontrar la página con estos " +"argumentos de lookup `%(page_lookup)s\n" +"`. La URL de la petición era: http://%(host)s%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - su cuenta de usuario ha sido creada." -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - su cuenta de usuario ha cambiado." -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" +#: utils/moderator.py:83 +msgid "parent first" +msgstr "Padre primero" -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" +#: utils/moderator.py:90 +msgid "approve" +msgstr "aprobar" -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - La página %s necesita aprovación." -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" +#~ msgid "Missing flash plugin." +#~ msgstr "Plugin de flash no encontrado." -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" +#~ msgid "Login url: %(login_url)s" +#~ msgstr "URL de entrada: %(login_url)s" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" +#~ msgid "Move to %(name)s" +#~ msgstr "Mover a %(name)s" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" +#~ msgid "move" +#~ msgstr "mover" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" +#~ msgid "add child" +#~ msgstr "Añadir hijo" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" +#~ msgid "add sibling" +#~ msgstr "añadir hermano" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" +#~ msgid "history" +#~ msgstr "Historia" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" +#~ msgid "Lock" +#~ msgstr "Bloquear" -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" +#~ msgid "Close" +#~ msgstr "Cerrar" -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" +#~ msgid "Settings" +#~ msgstr "Configuración" -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "Eliminar 'Plugin'" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" +#~ msgid "English" +#~ msgstr "Inglés" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#~ msgid "French" +#~ msgstr "Francés" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#~ msgid "German" +#~ msgstr "Alemán" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "Padre primero" +#~ msgid "Brazil" +#~ msgstr "Brasileño" -#: utils/moderator.py:90 -msgid "approve" -msgstr "aprobar" +#~ msgid "Dutch" +#~ msgstr "Holandés" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - La página %s necesita aprovación." +#~ msgid "two columns" +#~ msgstr "dos columnas" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - su cuenta de usuario ha sido creada." +#~ msgid "three columns" +#~ msgstr "tres columnas" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - su cuenta de usuario ha cambiado." +#~ msgid "navigation examples" +#~ msgstr "ejemplos de navegación" + +#~ msgid "sidebar column" +#~ msgstr "columna lateral" + +#~ msgid "left column" +#~ msgstr "columna izquierda" + +#~ msgid "right column" +#~ msgstr "columna derecha" + +#~ msgid "Articles" +#~ msgstr "Artículos" + +#~ msgid "Sample App" +#~ msgstr "Aplicación de ejemplo" + +#~ msgid "sample root page" +#~ msgstr "página raiz de ejemplo" + +#~ msgid "sample settings page" +#~ msgstr "página de configuración de ejemplo" + +#~ msgid "sample account page" +#~ msgstr "página de cuenta de ejemplo" + +#~ msgid "sample my profile page" +#~ msgstr "página de perfil de ejemplo" + +#~ msgid "Static Menu" +#~ msgstr "Menú Estático" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Static Menu2" +#~ msgstr "Menú Estático2" #~ msgid "Wanted language has not been translated yet." #~ msgstr "No ha sido traducido aun al idioma deseado." diff --git a/cms/locale/es/LC_MESSAGES/djangojs.mo b/cms/locale/es/LC_MESSAGES/djangojs.mo index c30e52daf75..cc9f21f4e12 100644 Binary files a/cms/locale/es/LC_MESSAGES/djangojs.mo and b/cms/locale/es/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/es/LC_MESSAGES/djangojs.po b/cms/locale/es/LC_MESSAGES/djangojs.po index 63e15982308..6fff9eb11bd 100644 --- a/cms/locale/es/LC_MESSAGES/djangojs.po +++ b/cms/locale/es/LC_MESSAGES/djangojs.po @@ -1,42 +1,39 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"¿Está seguro de que desea cambiar %(field_name)s sin guardar antes la " -"página?" +"¿Está seguro de que desea cambiar %(field_name)s sin guardar antes la página?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"¿Estás seguro de que desea cambiar de pestañas sin guardar antes la " -"página?" +"¿Estás seguro de que desea cambiar de pestañas sin guardar antes la página?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "¿Está seguro de que quiere borrar este plugin?" diff --git a/cms/locale/es_AR/LC_MESSAGES/django.mo b/cms/locale/es_AR/LC_MESSAGES/django.mo index 8e33304752a..fe2f421eac7 100644 Binary files a/cms/locale/es_AR/LC_MESSAGES/django.mo and b/cms/locale/es_AR/LC_MESSAGES/django.mo differ diff --git a/cms/locale/es_AR/LC_MESSAGES/django.po b/cms/locale/es_AR/LC_MESSAGES/django.po index 3391ff9bb5d..fbbafbca613 100644 --- a/cms/locale/es_AR/LC_MESSAGES/django.po +++ b/cms/locale/es_AR/LC_MESSAGES/django.po @@ -1,338 +1,450 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Opciones avanzadas" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Título" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Título por defecto" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "La parte del título que se utilizará en la URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Idioma" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "El idioma actual de los campos de contenidos" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Una página con el mismo slug ya existe" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Título del menú" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Sobreescribe lo que se muestra en el menú" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Título de la página" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Sobreescribe lo que se muestra en la barra de título del navegador o " -"en los marcadores" +"Sobreescribe lo que se muestra en la barra de título del navegador o en los " +"marcadores" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplicación" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Enlaza una aplicación a esta página" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Sobreescribe la URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Deja este campo vacío si se va a usar el camino estándard." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Redirecciona" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Redirecciona a esta URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "La descripción de la página se utiliza habitualmente en los buscadores" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Una lista de palabras clave separadas por coma se utiliza " -"habitualmente en los buscadores" +"Una lista de palabras clave separadas por coma se utiliza habitualmente en " +"los buscadores" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Una página con una URL que se corresponde a este id ya existe" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "URL inválida, utiliza el formato /mi/url" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Una página con el mismo slug ya existe" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "usuario" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"El permiso para añadir una página implica también el acceso a los " -"hijos y descendientes, en caso contrario la página añadida no podría " -"ser cambiada por su creador." +"El permiso para añadir una página implica también el acceso a los hijos y " +"descendientes, en caso contrario la página añadida no podría ser cambiada " +"por su creador." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "El permiso para añadir una página implica también permisos de edición." -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Por favor selecciona primero un usuario o un grupo." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Añadir" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Cambiar" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Borrar" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Recuperar (cualquier) pagina" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Avisiar al usuario" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Envia un aviso al usuario ante cambios del nombre de usuario o la " -"clave. Requiere el e-mail del usuario." +"Envia un aviso al usuario ante cambios del nombre de usuario o la clave. " +"Requiere el e-mail del usuario." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nueva clave" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Confimación de la nueva clave" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "La notificación por e-mail requiere una dirección de correo válida" -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"¡El permiso para añadir páginas necesita del permiso para modificar " -"páginas!" +"¡El permiso para añadir páginas necesita del permiso para modificar páginas!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"¡El permiso para añadir nuevos usuarios necesita del permiso para " -"modificar usuario!" +"¡El permiso para añadir nuevos usuarios necesita del permiso para modificar " +"usuario!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Para añadir permisos también necesitas poder editarlos" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Oculto" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Configuración básica." -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Nota: Esta página se recargará si cambias la selección. Guárdala " -"primero." +"Nota: Esta página se recargará si cambias la selección. Guárdala primero." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Oculto" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Configuración avanzada" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Configuración para SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "más alto" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Error de la base de datos" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "página" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "La página ha sido aprobada." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "El objeto %(name)s con clave primaria %(key)s no existe." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Sólo existe una traducción para esta página." -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "El título y los plugins del idioma %(language)s han sido borrados." -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "¿Estás seguro?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "No tienes permisos para publicar esta página" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -"No tienes permisos para cambiar el estado de navegación de esta " -"página." +"No tienes permisos para cambiar el estado de navegación de esta página." -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "No tienes permisos para cambiar esta página" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "El idioma debe ser uno de los soportados!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "El plugin %(plugin_name)s se añadió a %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "El idioma debe ser distinto de idioma copiado!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "Se copiaron los plugins %(language)s a %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" "Plugin %(plugin_name)s modificado en la posición %(position)s de " "%(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugins movidos" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "No tienes permisos para cambiar esta página" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "No tienes permisos para cambiar esta página" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -344,7 +456,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -364,27 +476,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "página" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -409,15 +531,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -455,28 +577,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -486,7 +608,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -523,26 +645,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -550,189 +667,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -740,28 +864,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -786,6 +910,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -799,8 +927,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -859,19 +993,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -897,7 +1031,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -918,40 +1052,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -971,8 +1109,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -992,6 +1129,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -1009,51 +1147,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1088,6 +1227,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1110,8 +1273,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1173,15 +1336,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1199,20 +1356,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1221,28 +1375,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1250,79 +1397,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1330,41 +1477,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1388,7 +1535,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1402,8 +1553,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1459,7 +1609,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1473,11 +1622,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1522,28 +1666,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1578,7 +1731,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1602,126 +1754,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1733,84 +1820,17 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1825,17 +1845,3 @@ msgstr "" #, python-format msgid "CMS - Page %s requires approvement." msgstr "" - -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" - -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" - -#~ msgid "fgcolor" -#~ msgstr "" - -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" diff --git a/cms/locale/es_AR/LC_MESSAGES/djangojs.mo b/cms/locale/es_AR/LC_MESSAGES/djangojs.mo index d5349f3e609..69a907a1b64 100644 Binary files a/cms/locale/es_AR/LC_MESSAGES/djangojs.mo and b/cms/locale/es_AR/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/es_AR/LC_MESSAGES/djangojs.po b/cms/locale/es_AR/LC_MESSAGES/djangojs.po index a007b8fdd74..ea120532e60 100644 --- a/cms/locale/es_AR/LC_MESSAGES/djangojs.po +++ b/cms/locale/es_AR/LC_MESSAGES/djangojs.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -17,22 +17,24 @@ msgstr "" "Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" + + diff --git a/cms/locale/et/LC_MESSAGES/django.mo b/cms/locale/et/LC_MESSAGES/django.mo index 4a3b531b7cb..534356439cd 100644 Binary files a/cms/locale/et/LC_MESSAGES/django.mo and b/cms/locale/et/LC_MESSAGES/django.mo differ diff --git a/cms/locale/et/LC_MESSAGES/django.po b/cms/locale/et/LC_MESSAGES/django.po index 4082dc575e8..1db6f022a48 100644 --- a/cms/locale/et/LC_MESSAGES/django.po +++ b/cms/locale/et/LC_MESSAGES/django.po @@ -1,327 +1,431 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Täpsemad valikud" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Pealkiri" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Vaikimisi pealkiri" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Aadressi komponent" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Osa pealkirjast, mida kasutatakse internetiaadressi koostamiseks" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Keel" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Sisu väljade aktiivne keel." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Selle aadressi komponendiga lehekülg on juba olemas" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Pealkiri menüüs" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Kirjuta üle menüüs kuvatav" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Lehekülje pealkiri" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "Kirjuta üle veebilehitseja ülaosas või järjehoidjas kuvatav" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Rakendus" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Haagi rakendus selle lehekülje külge." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Kirjuta üle internetiaadress" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Hoia see väli tühjana, et kasutada standardset rada." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Ümbersuunamine" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Suuna ümber sellele internetiaadressile." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Lehekülje kirjeldus mida mõnikord kasutavad otsingumootorid." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" "Komade eraldatud nimekiri märksõnadest mida mõnikord kasutavad " "otsingumootorid." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Sellise pööratud identifikaatoriga lehekülg on juba olemas." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Vigane internetiaadress, kasuta formaati /minu/url ." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Selle aadressi komponendiga lehekülg on juba olemas" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "kasutaja" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Õigus lehekülge lisada nõuab ka ligipääsu alamlehekülgede, vastasel " -"juhul ei saa lehekülje looja lisatud lehekülge muuta." +"Õigus lehekülge lisada nõuab ka ligipääsu alamlehekülgede, vastasel juhul ei " +"saa lehekülje looja lisatud lehekülge muuta." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Õigus lehekülge lisada nõuab ka lehekülje muutmise õigust." -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Palun vali kasutaja või kasutajate grupp." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Lisa" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Muuda" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Kustuta" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Taasta leheküljed." -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Teavita kasutajat" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" "Saada kasutajale märguanne kasutajanime või parooli muutusest. Vajab " "kasutaja e-posti aadressi. " -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Uus parool" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Uue parooli kinnitus" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "E-posti teel teavitamine nõuab kehtivat e-posti aadressi." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "Õigus lisada uusi lehekülgi nõuab õigust lehekülgi muuta!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "Õigus lisada uusi kasutajaid nõuab õigust kasutajaid muuta!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Õiguste lisamiseks pead sa neid ka muutma!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Peidetud" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Põhiseadistused" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Tähelepanu: Valiku muutmisel lehekülg laeb ennast uuesti. Salvesta " -"ennem." +"Tähelepanu: Valiku muutmisel lehekülg laeb ennast uuesti. Salvesta ennem." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Peidetud" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Muud seadistused" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Otsingumootoritele suunatud seadistused" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" +msgstr "" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "kõrgem" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Andmebaasi viga" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "lehekülg" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Leheküljele heakskiit antud." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Objekti %(name)s primaarvõtmega %(key)r ei ole olemas." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Sellel leheküljel on ainult üks tõlge." -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Pealkiri ja pluginad %(language)s keeles kustutatud" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Kas oled kindel?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" +msgstr "" + +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -333,7 +437,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -353,27 +457,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "lehekülg" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -398,15 +512,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -444,28 +558,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -475,7 +589,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -512,26 +626,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -539,189 +648,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -729,28 +845,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -775,6 +891,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -788,8 +908,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -848,19 +974,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -886,7 +1012,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -907,40 +1033,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -960,8 +1090,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -981,6 +1110,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -998,51 +1128,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1077,6 +1208,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1099,8 +1254,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1162,15 +1317,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1188,20 +1337,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1210,28 +1356,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1239,79 +1378,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1319,41 +1458,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1377,7 +1516,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1391,8 +1534,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1448,7 +1590,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1462,11 +1603,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1511,28 +1647,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1567,7 +1712,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1591,126 +1735,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1722,84 +1801,17 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1814,17 +1826,3 @@ msgstr "" #, python-format msgid "CMS - Page %s requires approvement." msgstr "" - -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" - -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" - -#~ msgid "fgcolor" -#~ msgstr "" - -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" diff --git a/cms/locale/et/LC_MESSAGES/djangojs.mo b/cms/locale/et/LC_MESSAGES/djangojs.mo index b4a8f12955d..43634883f61 100644 Binary files a/cms/locale/et/LC_MESSAGES/djangojs.mo and b/cms/locale/et/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/et/LC_MESSAGES/djangojs.po b/cms/locale/et/LC_MESSAGES/djangojs.po index a11fbace246..2353d63849a 100644 --- a/cms/locale/et/LC_MESSAGES/djangojs.po +++ b/cms/locale/et/LC_MESSAGES/djangojs.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -17,22 +17,24 @@ msgstr "" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" + + diff --git a/cms/locale/eu/LC_MESSAGES/django.mo b/cms/locale/eu/LC_MESSAGES/django.mo index 9260c581e30..414119cd7ba 100644 Binary files a/cms/locale/eu/LC_MESSAGES/django.mo and b/cms/locale/eu/LC_MESSAGES/django.mo differ diff --git a/cms/locale/eu/LC_MESSAGES/django.po b/cms/locale/eu/LC_MESSAGES/django.po index 871da413cd8..2e105472df8 100644 --- a/cms/locale/eu/LC_MESSAGES/django.po +++ b/cms/locale/eu/LC_MESSAGES/django.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: Benjamin Wohlwend \n" "Language-Team: divio.ch \n" "MIME-Version: 1.0\n" @@ -20,300 +20,407 @@ msgstr "" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "" -#: admin/forms.py:131 -msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +#: admin/forms.py:138 +msgid "" +"Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:337 -msgid "Email notification requires valid email address." -msgstr "" - #: admin/forms.py:339 -msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +msgid "Email notification requires valid email address." msgstr "" #: admin/forms.py:341 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new pages requires the permission to change pages!" msgstr "" #: admin/forms.py:343 -msgid "To add permissions you also need to edit them!" +msgid "" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:504 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:676 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" +msgstr "" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -325,7 +432,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +452,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +507,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +553,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +584,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -504,26 +621,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +643,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +840,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +886,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +903,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +969,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1007,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1028,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1085,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1105,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1123,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1203,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1249,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: " +"http://www.youtube.com/watch?v=-iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1312,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1180,20 +1332,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1202,28 +1351,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,79 +1373,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1311,41 +1453,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1369,7 +1511,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1383,8 +1529,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1440,7 +1585,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1454,11 +1598,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1503,28 +1642,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1559,7 +1707,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1583,126 +1730,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1718,80 +1800,12 @@ msgid "" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1807,16 +1821,16 @@ msgstr "" msgid "CMS - Page %s requires approvement." msgstr "" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#~ msgid "move" +#~ msgstr "move request" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#~ msgid "sidebar column" +#~ msgstr "background color" #~ msgid "fgcolor" -#~ msgstr "" +#~ msgstr "foreground color" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgstr "Requested language has not been translated yet." + + diff --git a/cms/locale/eu/LC_MESSAGES/djangojs.mo b/cms/locale/eu/LC_MESSAGES/djangojs.mo index 03ac8cf6afa..aec93ad1292 100644 Binary files a/cms/locale/eu/LC_MESSAGES/djangojs.mo and b/cms/locale/eu/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/eu/LC_MESSAGES/djangojs.po b/cms/locale/eu/LC_MESSAGES/djangojs.po index bd1ef1a2723..a36b3822b6f 100644 --- a/cms/locale/eu/LC_MESSAGES/djangojs.po +++ b/cms/locale/eu/LC_MESSAGES/djangojs.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -17,22 +17,24 @@ msgstr "" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" + + diff --git a/cms/locale/fa/LC_MESSAGES/django.mo b/cms/locale/fa/LC_MESSAGES/django.mo index cd6b62016d5..8719d1ca2e9 100644 Binary files a/cms/locale/fa/LC_MESSAGES/django.mo and b/cms/locale/fa/LC_MESSAGES/django.mo differ diff --git a/cms/locale/fa/LC_MESSAGES/django.po b/cms/locale/fa/LC_MESSAGES/django.po index f185e55fd39..2c3406c174b 100644 --- a/cms/locale/fa/LC_MESSAGES/django.po +++ b/cms/locale/fa/LC_MESSAGES/django.po @@ -1,334 +1,447 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:49-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "حالت ویرایش" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "انتشار" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "خروج" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "الگو" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "انتقال/افزودن صفحات" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "صفحه‌ی فرزند اضافه‌کن" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "صفحه‌ی همسایه اضافه‌کن" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "صفحه را پاک‌کن" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "صفحه" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "مدیریت وب‌گاه" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "تنظیمات صفحه" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "مشاهده تاریخچه" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "گزینه های پیشرفته" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "عنوان" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "عنوان پیش فرض" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "نشانک (آدرس کوتاه صفحه)" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "قسمتی از عنوان که در آدرس اینترنتی استفاده می شود" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "زبان" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "زبان جاری فیلدهای محتوا." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "صفحه-ای با همین نشانک موجود است." -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "عنوان منو" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "جاینوشت در منوی نمایش داده شده" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "عنوان صفحه" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr " عنوان مرورگر یا بوک مارک ها جاینوشت می-شوند" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "نرم-افزار" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "اتصال نرم-افزار به این صفحه" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "جاینوشت آدرس اینترنتی" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "اگر از آدرس استاندارد استفاده می-شود، این فیلد خالی گذارده شود." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "تغییر مسیر" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "تغییرمسیر به این آدرس." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "شرح صفحه که توسط موتورهای جستجو استفاده می شود." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"لیست کلمات کلیدی با ویرگول از هم جداشده که توسط موتورهای جستجو استفاده" -" می شود." +"لیست کلمات کلیدی با ویرگول از هم جداشده که توسط موتورهای جستجو استفاده می " +"شود." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "صفحه-ای با شناسه-ی این آدرس معکوس وجود دارد." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "آدرس نامعتبر، از الگوی /my/url استفاده کنید." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "صفحه-ای با همین نشانک موجود است." + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "کاربر" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -" اجازه دسترسی به اضافه کردن صفحه اجازه دسترسی به صفحات زیرین، و یا " -"صفحات فرزند، را نیز نیاز دارد؛ در غیر اینصورت خود ایجادکننده صفحه " -"قابلیت تغییر آن را نخواهد داشت." +" اجازه دسترسی به اضافه کردن صفحه اجازه دسترسی به صفحات زیرین، و یا صفحات " +"فرزند، را نیز نیاز دارد؛ در غیر اینصورت خود ایجادکننده صفحه قابلیت تغییر آن " +"را نخواهد داشت." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"اجازه دسترسی به اضافه کردن صفحه همچنین نیاز به اجازه ویرایش صفحه را " -"دارد." +"اجازه دسترسی به اضافه کردن صفحه همچنین نیاز به اجازه ویرایش صفحه را دارد." + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "مشاهده" -#: admin/forms.py:245 +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "لطفا ابتدا کاربر یا گروه را انتخاب کنید." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "اضافه" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "تغییر" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "حذف" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "بازیابی (هر صفحه)" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "هشدار به کاربر" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"از طریق ایمیل به کاربر در مورد نام کاربری یا تغییر رمز عبور را مطلع " -"کن. نیاز به ایمیل کاربر دارد." +"از طریق ایمیل به کاربر در مورد نام کاربری یا تغییر رمز عبور را مطلع کن. نیاز " +"به ایمیل کاربر دارد." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "رمز عبور جدید" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "تایید رمز عبور جدید" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "هشدار از طریق ایمیل به ایمیل معتبر نیاز دارد." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "اجازه اضافه کردن صفحات جدید نیاز به اجازه ویرایش صفحه دارد!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "اجازه ایجاد کاربران نیاز به اجازه تغییر کاربر دارد." -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "برای اضافه کردن دسترسی شما باید دسترسی ویرایش آنها را نیز داشته باشید." -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "پنهان" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "تنظیمات پایه" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"توجه: اگر انتخابتان را تغییر دهید، این صفحه بارگذاری مجدد می-شود. آن " -"را ابتدا ذخیره کنید." +"توجه: اگر انتخابتان را تغییر دهید، این صفحه بارگذاری مجدد می-شود. آن را " +"ابتدا ذخیره کنید." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "پنهان" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "تنظیمات پیشرفته" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "تنظیمات جستجوگرها" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/pageadmin.py:485 msgid "higher" msgstr "بالاتر" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "خطای پایگاه داده" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "صفحه" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "صفحه با موفقیت به تصویب رسید." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "شی %(name)s با کلید اصلی %(key)r موجود نیست." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "تنها یک ترجمه برای این صفحه موجود است." -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "عنوان و افزونه-ها به زبان %(language)s حذف شدند." -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "آیا مطمئن هستید؟" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "شما اجازه انجام این کار به انتشار این صفحه را ندارید" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "شما اجازه تغییر وضعیت in_navigation این صفحه را ندارید" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "شما اجازه ویرایش این صفحه را ندارید." -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "یکی از زبانهای پشتیبانی شده را انتخاب کنید." -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "افزونه %(plugin_name)s به %(placeholder)s اضافه شد." -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "زبان انتخابی باید غیر از زبان کپی شده باشد." -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "افزونه-های زبان(های) %(language)s به %(placeholder)s کپی شد." -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"افزونه %(plugin_name)s در موقعیت %(position)s در %(placeholder)s تغییر" -" کرد." +"افزونه %(plugin_name)s در موقعیت %(position)s در %(placeholder)s تغییر کرد." + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "شما اجازه ویرایش این صفحه را ندارید." -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "افزونه-ها حذف شدند." -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"افزونه %(plugin_name)s در موقعیت %(position)s در %(placeholder)s حذف " -"شد." +"افزونه %(plugin_name)s در موقعیت %(position)s در %(placeholder)s حذف شد." + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "اختیارات صفحه" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "اختیارات کاربر و گروه" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "مدیریت اختیارات صفحه" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "شما اجازه ویرایش این صفحه را ندارید." + +#: admin/useradmin.py:25 msgid "User details" msgstr "جزئیات کاربر" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "گروهها" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "رمز عبور" @@ -340,7 +453,7 @@ msgstr "اختیارات کپی" msgid "Copy moderation" msgstr "بازرسی کپی" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "الگوی نزدیک-ترین والد را در داشته باش." @@ -360,27 +473,37 @@ msgstr "اضافه کردن یکی دیگر" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "زبان" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "صفحه" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "موقعیت" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "تاریخ ایجاد" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "شیار" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "نام افزونه" @@ -405,15 +528,15 @@ msgstr "نشانک" msgid "everybody" msgstr "همه" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "می-تواند ویرایش کند" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "گروه" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "می-تواند منتشر کند" @@ -451,28 +574,28 @@ msgstr "نویسنده" msgid "reverse url id" msgstr "شناسه آدرس معکوس" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "نیاز به ورود دارد" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "ریشه نرم" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "تاریخ اتمام انتشار" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "الگو" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "تاریخ انتشار" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "در گردش" @@ -482,7 +605,7 @@ msgstr "در گردش" msgid "application" msgstr "نرم افزار" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "شناسه" @@ -519,26 +642,21 @@ msgstr "نوادگان صفحه" msgid "Page and descendants" msgstr "صفحه و نوادگان" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "صفحه" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "کاربر" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "نظارت صفحه" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "نظارت فرزندان" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "نظارت نوادگان" @@ -546,195 +664,201 @@ msgstr "نظارت نوادگان" msgid "PageModerator" msgstr "ناظر صفحه" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "ایجادشده" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "تغییریافته" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "نیاز به حذف" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "نیاز به جابجایی" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "نیاز به انتشار" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "نیاز به پایان انتشار" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "تاییدشده" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "وضعیت ناظر صفحه" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "وضعیتهای ناظر صفحه" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "نرم-افزار مورد نیاز" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "حذف" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "قسمت نرم-افزار" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "ایجادشده به وسیله" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "تغییریافته به وسیله" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"زمانی که صفحه منتشر می-شود. وضعیت صفحه باید «منتشرشده» باشید تا این رخ" -" دهد." +"زمانی که صفحه منتشر می-شود. وضعیت صفحه باید «منتشرشده» باشید تا این رخ دهد." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "زمان انقضای صفحه. خالی بماند اگر هیچ گاه منقضی نمی-شود." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "تمامی اجداد در گردش نمایش داده نمی-شوند." -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"شناسه-ی بکتایی که برای تگ الگوی page_url برای آدرس به این صفحه استفاده" -" می-شود." +"شناسه-ی بکتایی که برای تگ الگوی page_url برای آدرس به این صفحه استفاده می-" +"شود." -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "منتشرشده" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "الگویی که برای پویش محتوا استفاده می‌شود" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "وبگاهی که صفحه در آن در دسترس است." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "وبگاه" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "نظارت وضعیت" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "صفحات" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "صفحه کپی شد." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "پیشفرض" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "می-تواند اضافه کند" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "می-تواند حذف کند" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "می-تواند تنظیمات پیشرفته را تغییر دهد" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "می-تواند اختیارات را تغییر دهد" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "در سطح صفحه" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "می-تواند جابجا کند" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "می-تواند نظارت کند" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "می-تواند صفحات را بازیابی کند" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "می-تواند هر صفحه پاک-شده را بازیابی کند" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"اگر انتخابی صورت نگیرد، کاربر در تمام وبگاه-ها، اختیارات داده-شده را " -"خواهد داشت." +"اگر انتخابی صورت نگیرد، کاربر در تمام وبگاه-ها، اختیارات داده-شده را خواهد " +"داشت." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "وبگاه‌ها" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "اختیار سراسری صفحه" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "اختیارات سراسری صفحه" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "اجازه روی" @@ -742,28 +866,28 @@ msgstr "اجازه روی" msgid "Page permission" msgstr "اختیار صفحه" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "کاربر (صفحه)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "کاربران (صفحه)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "گروه کاربری (صفحه)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "گروه‌های کاربری (صفحه)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "عرض" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -788,6 +912,10 @@ msgstr "فایل" msgid "file" msgstr "فایل" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "فلش" @@ -801,9 +929,18 @@ msgstr "استفاده از فایل swf" msgid "height" msgstr "ارتفاع" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "افزونه فلش موجود نیست." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"افزونه فلش نیست. از اینجا " +"بگیرید." + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -861,19 +998,19 @@ msgstr "برنامه‌ریز مسیر" msgid "Map" msgstr "نقشه" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "محاسبه مسیر" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "افزونه‌ها را از صفحه به ارث ببر." -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "زبان صفحه باید مشخص شود." @@ -882,8 +1019,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"صفحه‌ای را برای دربرداشتن افزونه‌هایش در این placeholder انتخاب کنید. " -"در صورت عدم انتخاب صفحه جاری انتخاب می‌شود." +"صفحه‌ای را برای دربرداشتن افزونه‌هایش در این placeholder انتخاب کنید. در صورت " +"عدم انتخاب صفحه جاری انتخاب می‌شود." #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -901,7 +1038,7 @@ msgid "name" msgstr "نام" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "پیوند" @@ -922,40 +1059,44 @@ msgstr "آدرس ایمیل به پیوند متنی به صفحه اولویت msgid "Picture" msgstr "تصویر" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "چپ" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "راست" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "تصویر" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "اگر تصویر موجود قابل کلیک‌کردن باشد" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "متن جایگزین" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "توصیف متنی تصویر" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "توصیف کامل" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "توصیف تکمیلی تصویر" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "کنار" @@ -975,8 +1116,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "الگویی (مانند \"snippets/plugin_xy.html\") را برای ارزیابی وارد کنید." #: plugins/snippet/models.py:25 @@ -996,6 +1136,7 @@ msgid "If present image will be clickable." msgstr "اگر تصویر حاضر قابل کلیک‌کردن باشد." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "بیشتر" @@ -1013,51 +1154,52 @@ msgstr "افزونه‌ها" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "لطفا نوع افزونه را انتخاب کنید." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "ویرایش افزونه‌ی انتخابی" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "ویرایشگر متنی، ویرایش اشیاء را پشتیبانی نمی‌کند." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "هیچ شیء انتخاب نشده‌است." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "ویرایشگر متنی، درج اشیاء را پشتیبانی نمی‌کند." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "از نوع افزونه نیست" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "افزونه‌های موجود" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "درج افزونه" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "توییتر" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1080,8 +1222,8 @@ msgstr "راهنمایی پیوند" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"در صورت مشخص کردن راهنمایی به عنوان پیوند به صفحه شخصی شما در توییتر " -"نمایش داده می‌شود." +"در صورت مشخص کردن راهنمایی به عنوان پیوند به صفحه شخصی شما در توییتر نمایش " +"داده می‌شود." #: plugins/twitter/models.py:16 msgid "query" @@ -1094,6 +1236,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "در حال بارگذاری" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "ویدیو" @@ -1115,12 +1282,13 @@ msgid "movie url" msgstr "آدرس اینترنتی ویدیو" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"آدرس ویدیو در YouTube یا vimeo. مثال: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"آدرس ویدیو در YouTube یا vimeo. مثال: http://www.youtube.com/watch?v=YFa59lK-" +"kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1181,17 +1349,9 @@ msgstr "رنگ button over" msgid "button highlight color" msgstr "رنگ button highlight" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"افزونه فلش نیست. از اینجا " -"بگیرید." - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "ذخیره" @@ -1209,22 +1369,19 @@ msgid "Save and add another" msgstr "ذخیره و اضافه‌کردن دیگری" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "ذخیره و ادامه ویرایش" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"صفحه %(page)s ممکن است نیاز به تایید شما " -"داشته باشد." +"صفحه %(page)s ممکن است نیاز به تایید شما داشته " +"باشد." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "آخرین تغییرات" @@ -1233,28 +1390,21 @@ msgstr "آخرین تغییرات" msgid "Log in to administration here." msgstr "در اینجا به مدیریت وارد شوید." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "کاربر:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "رمز عبور:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "تغییر یک صفحه" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1262,80 +1412,80 @@ msgstr "تغییر یک صفحه" msgid "Home" msgstr "آغازه" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "تایید حذف صفحه" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(نیاز به تایید در سطح %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr ")شما می‌توانید به طور مستقیم روی این صفحه کار انجام دهید(" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "حذف درخواست حذف" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "تایید حذف" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "تایید" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "پیش‌نویس" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "پیش‌نمایش" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "تاریخچه" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "مشاهده روی وب‌گاه" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "تمامی اختیارات" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "در حال بارگذاری" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "حالت‌های صفحه" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"این صفحه باید در سطح %(moderation_level)s نظارت شود، پیامی برای ناظر " -"آن بفرستید." +"این صفحه باید در سطح %(moderation_level)s نظارت شود، پیامی برای ناظر آن " +"بفرستید." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "درخواست تایید" @@ -1343,41 +1493,41 @@ msgstr "درخواست تایید" msgid "List of pages" msgstr "فهرست صفحات" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "با موفقیت جابجا شد" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "خطایی رخ داد. صفحه با دوباره بارگذاری کنید." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "%(name)s پاک‌شده را بازیابی کن" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "اضافه‌کردن %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "صفحات در:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "فیلتر:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "فعال" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "غیر‌فعال" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "فیلتر" @@ -1401,7 +1551,11 @@ msgstr "شروع" msgid "end" msgstr "پایان" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "آخرین تغییرات" @@ -1415,8 +1569,7 @@ msgid "edit this page" msgstr "ویرایش این صفحه" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "ویرایش" @@ -1472,7 +1625,6 @@ msgid "add" msgstr "افزودن" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "مستقیما تأیید کن" @@ -1486,11 +1638,6 @@ msgstr "مشاهده" msgid "Unpublish" msgstr "عدم انتشار" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "انتشار" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "مشاهده در صفحه" @@ -1535,28 +1682,38 @@ msgstr "می‌تواند اختیارات را تغییر‌دهد" msgid "Can move" msgstr "می‌تواند انتقال دهد" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "می‌تواند انتقال دهد" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr ")سراسری(" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr ")جاری(" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "همه" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "صفحه اختیاراتی به ارث نمی‌برد." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "نمی‌توان نگارش قدیمی یک افزونه را ذخیره کرد." -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "افزونه با موفقیت ذخیره‌شد." @@ -1591,7 +1748,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "اضافه‌کردن افزونه" @@ -1615,126 +1771,62 @@ msgstr "افزونه‌ای انتخاب نشده‌است. مورد انتخا msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "افزونه‌ای موجود نیست. افزونه‌ای به این نگهدارنده اضافه کنید." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "انتقال به %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "آیا شما مطمئن هستید می‌خواهید این افزونه را پاک کنید؟" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "حالت ویرایش" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "بالا" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "وضعیت" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "پایین" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "کاربر" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "ورود" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "الگو" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "انتقال" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "انتقال/افزودن صفحات" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "افزودن فرزند" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "صفحه‌ی فرزند اضافه‌کن" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "افزودن همسایه" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "صفحه‌ی همسایه اضافه‌کن" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "صفحه را پاک‌کن" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "مدیریت وب‌گاه" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "تنظیمات صفحه" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "تاریخچه" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "مشاهده تاریخچه" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "خروج" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "قفل" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "ببند" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "بالا" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "پایین" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "وضعیت" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "تنظیمات" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "افزونه را پاک‌کن" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "نظارت صفحه را لغو کن" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "نظارت فرزندان را لغو کن" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "نظارت نوادگان را لغو کن" @@ -1746,85 +1838,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - کاربر شما ساخته‌شد." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - حساب کاربری شما تغییر کرد." #: utils/moderator.py:83 msgid "parent first" @@ -1839,16 +1864,32 @@ msgstr "تأیید کردن" msgid "CMS - Page %s requires approvement." msgstr "CMS - صفحه %s نیاز به تأیید دارد." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - کاربر شما ساخته‌شد." +#~ msgid "Missing flash plugin." +#~ msgstr "افزونه فلش موجود نیست." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - حساب کاربری شما تغییر کرد." +#~ msgid "Move to %(name)s" +#~ msgstr "انتقال به %(name)s" + +#~ msgid "move" +#~ msgstr "انتقال" + +#~ msgid "add child" +#~ msgstr "افزودن فرزند" + +#~ msgid "add sibling" +#~ msgstr "افزودن همسایه" + +#~ msgid "history" +#~ msgstr "تاریخچه" + +#~ msgid "Lock" +#~ msgstr "قفل" + +#~ msgid "Close" +#~ msgstr "ببند" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Settings" +#~ msgstr "تنظیمات" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "افزونه را پاک‌کن" diff --git a/cms/locale/fa/LC_MESSAGES/djangojs.mo b/cms/locale/fa/LC_MESSAGES/djangojs.mo index 6c707899be6..e0e3c3230ff 100644 Binary files a/cms/locale/fa/LC_MESSAGES/djangojs.mo and b/cms/locale/fa/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/fa/LC_MESSAGES/djangojs.po b/cms/locale/fa/LC_MESSAGES/djangojs.po index 49c424dfb17..96f0b7849ae 100644 --- a/cms/locale/fa/LC_MESSAGES/djangojs.po +++ b/cms/locale/fa/LC_MESSAGES/djangojs.po @@ -1,38 +1,37 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "آیا بدون ذخیره صفحه، %(field_name) تغییر کند؟" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "آیا بدون ذخیره صفحه، تَب تغییر کند؟" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "آیا می-خواهید این افزونه پاک شود؟" diff --git a/cms/locale/fi/LC_MESSAGES/django.mo b/cms/locale/fi/LC_MESSAGES/django.mo index 3e6fd7668e4..e68e438f500 100644 Binary files a/cms/locale/fi/LC_MESSAGES/django.mo and b/cms/locale/fi/LC_MESSAGES/django.mo differ diff --git a/cms/locale/fi/LC_MESSAGES/django.po b/cms/locale/fi/LC_MESSAGES/django.po index 7be0789df3c..ef1ae7b2726 100644 --- a/cms/locale/fi/LC_MESSAGES/django.po +++ b/cms/locale/fi/LC_MESSAGES/django.po @@ -1,331 +1,446 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-05-12 06:22+0000\n" +"Last-Translator: nanook \n" "Language-Team: divio.ch \n" +"Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Muokkaustila" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Julkaise" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Kirjaudu ulos" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Asettelutiedosto" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Siirrä/lisää sivuja" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "lisää lapsisivu" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Lisää sisarsivu" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Poista sivu" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Sivu" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Sivuston hallinta" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Sivun asetukset" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Näytä historia" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Edistyneet valinnat" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Otsikko" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Oletusotsikko" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Osa otsikosta jota käytetään URL:ssa" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Kieli" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Sisältökenttien nykyinen kieli." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Toinen sivu tällä slugilla on jo olemassa" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Valikko-otsikko" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Yliajaa valikossa näytettävän tekstin" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Sivun otsikko" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "Yliajaa selaimen ylälaidassa ja kirjanmerkeissä näytettävän tekstin" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Sovellus" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Kytke sovellus tähän sivuun." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Yliaja URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Jätä tämä kenttä tyhjäksi jos halutaan käyttää oletuspolkua." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Edelleenohjaus" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Edelleenohjaa tähän URL:iin" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Sivun kuvaus jota hakukoneet voivat hyödyntää." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "Pilkuin eroteltu lista joita hakukoneet voivat hyödyntää." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Sivu tällä käänteisellä URL tunnuksella on jo olemassa." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Epäkelpo URL. Ole hyvä ja käytä muotoa /minun/url/" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Toinen sivu tällä slugilla on jo olemassa" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "käyttäjä" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Sivun luontioikeus vaatii pääsyn myös sen jälkeläisiin. Muuten sivun " -"luoja ei voi muokata sitä myöhemmin." +"Sivun luontioikeus vaatii pääsyn myös sen jälkeläisiin. Muuten sivun luoja " +"ei voi muokata sitä myöhemmin." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Sivun luonti vaatii myös oikeuden muokata sivuja." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "näkymä" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Valitse ensin käyttäjä tai käyttäjäryhmä." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Lisää" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Muokkaa" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Poista" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Palauta sivuja" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Huomauta käyttäjää" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Lähetä sähköpostia käyttäjälle käyttäjänimen tai salasanan " -"vaihtumisesta. Vaatii käyttäjän sähköpostiosoitteen." +"Lähetä sähköpostia käyttäjälle käyttäjänimen tai salasanan vaihtumisesta. " +"Vaatii käyttäjän sähköpostiosoitteen." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Uusi salasana" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Uuden salasanan vahvistus" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Sähköpostitiedote vaatii kelvollisen sähköpostiosoitteen." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "Oikeus luoda sivuja vaatii oikeuden muokata sivuja!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "Oikeus luoda käyttäjiä vaatii oikeuden muokata käyttäjä!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Luodaksesi käyttöoikeuksia sinun täytyy myös muokata niitä!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Piilotettu" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Perusasetukset" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Huomautus: Tämä sivu uudelleenladataan mikäli muokkaat valintaa. " -"Tallenna ensin." +"Huomautus: Tämä sivu uudelleenladataan mikäli muokkaat valintaa. Tallenna " +"ensin." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Piilotettu" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Edistyneet asetukset" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Hakukoneiden optimointiasetukset (SEO)" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "korkeammalle" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Tietokantavirhe" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "sivu" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Sivu hyväksytty." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Olio %(name)s perusavaimella %(key)r ei ole olemassa" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Tälle sivulle on vain yksi käännös" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Otsikko ja liitännäiset kielelle %(language)s poistettu" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Oletko varma?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Sinulla ei ole oikeutta julkaista tätä sivua" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "Sinulla ei ole oikeutta vaihtaa tämän sivun valikkonäkyvyyttä" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Sinulla ei ole oikeutta muokata tätä sivua" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Kielen tulee olla tuettu!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "Liitännäinen %(plugin_name)s lisätty sisältöpaikkaan %(placeholder)s." -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Kopioidun kielen tulee poiketa lähdekielestä!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -"Kopioutu lähteen %(language)s liitännäiset sisältöpaikkaan " -"%(placeholder)s." +"Kopioutu lähteen %(language)s liitännäiset sisältöpaikkaan %(placeholder)s." -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"Liitännäistä %(plugin_name)s muokattu kohdassa %(position)s " -"sisältöpaikassa %(placeholder)s." +"Liitännäistä %(plugin_name)s muokattu kohdassa %(position)s sisältöpaikassa " +"%(placeholder)s." -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Liitännäisiä siirrettiin" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"Liitännäinen %(plugin_name)s poistettu kohdasta %(position)s " -"sisältöpaikasta %(placeholder)s." +"Liitännäinen %(plugin_name)s poistettu kohdasta %(position)s sisältöpaikasta " +"%(placeholder)s." + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Sivun oikeudet" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Käyttäjä- & ryhmäoikeudet" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Sivun oikeuksien hallinta" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Sinulla ei ole oikeutta muokata tätä sivua" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Käyttäjätiedot" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Ryhmät" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Salasana" @@ -337,17 +452,17 @@ msgstr "Kopioi oikeudet" msgid "Copy moderation" msgstr "Kopioi valvonta" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Peri lähimmän vanhemman asettelu" #: forms/fields.py:19 msgid "Select a valid site" -msgstr "" +msgstr "Valitse kelvollinen sivusto" #: forms/fields.py:20 msgid "Select a valid page" -msgstr "" +msgstr "Valitse kelvollinen sivu" #: forms/widgets.py:173 msgid "Add Another" @@ -357,27 +472,37 @@ msgstr "Lisää uusi" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "kieli" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "sivu" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "Sijainti" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "Luontipäiväys" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "lovi" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "liitännäisen nimi" @@ -402,15 +527,15 @@ msgstr "slug" msgid "everybody" msgstr "kaikki" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "voi muokata" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "ryhmä" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "voi julkaista" @@ -448,28 +573,28 @@ msgstr "luoja" msgid "reverse url id" msgstr "käänteinen URL-tunniste" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "Sisäänkirjautuminen vaadittu" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "Softroot" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "julkaisun loppupäiväys" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "asettelu" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "julkaisupäiväys" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "navigaatiossa" @@ -479,7 +604,7 @@ msgstr "navigaatiossa" msgid "application" msgstr "sovellus" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -516,26 +641,21 @@ msgstr "Sivun jälkeläiset" msgid "Page and descendants" msgstr "Sivu ja jälkeläiset" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Sivu" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Käyttäjä" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderoi sivua" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderoi sivun lapsia" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderoi sivun jälkeläisiä" @@ -543,195 +663,202 @@ msgstr "Moderoi sivun jälkeläisiä" msgid "PageModerator" msgstr "Sivumoderaattori" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "luotu" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "muokattu" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "poistopyyntö" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "siirtopyyntö" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "julkaisupyyntö" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "piilotuspyyntö" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "hyväksytty" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Sivun moderointitila" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Sivun moderointitilat" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "Hyväksyntäpyyntö" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "poista" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "Hyväksy äitisivu" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" -msgstr "" +msgstr "ja kirjautuneet käyttäjät vain" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "luoja" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "muokkaaja" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Milloin sivun tulisi tulla näkyviin. Sivun tilan tulee olla " -"\"julkaistu\" jotta se tulee näkyviin. " +"Milloin sivun tulisi tulla näkyviin. Sivun tilan tulee olla \"julkaistu\" " +"jotta se tulee näkyviin. " -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Milloin sivu erääntyy. Jätä tyhjäksi jos et halua sivun erääntyvän." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Kaikkia vanhempia ei näytetä navigaatiossa" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Yksilöllinen tunniste jota voidaan käyttää page_url templatetagin " -"kanssa tämän sivun linkittämiseksi asettelutiedostoissa. " +"Yksilöllinen tunniste jota voidaan käyttää page_url templatetagin kanssa " +"tämän sivun linkittämiseksi asettelutiedostoissa. " -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "julkaistu" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Asettelu jota käytetään sisällön tulostukseen ruudulle." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Sivusto jolla sivu on." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "sivusto" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "moderointitila" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "sivut" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Sivu kopioitiin." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "oletus" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "voi lisätä" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "voi poistaa" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "voi muokata edistyneitä asetuksia" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "voi muokata käyttöoikeuksia" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "sivutasolla" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "voi liikuttaa" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "voi moderoida" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "voi palauttaa sivuja" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "voi palauttaa minkä tahansa poistetun sivun" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" "jos mitään ei ole valittu käyttäjälle myönnetään oikeudet kaikkiin " "sivustoihin" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "sivustot" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Sivun globaali käyttöoikeus" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Sivujen globaalit käyttöoikeudet" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Myönnä oikeus" @@ -739,28 +866,28 @@ msgstr "Myönnä oikeus" msgid "Page permission" msgstr "Sivun käyttöoikeus" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Käyttäjä (sivu)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Käyttäjät (sivu)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Käyttäjäryhmä (sivu)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Käyttäjäryhmät (sivu)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "leveys" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -785,6 +912,10 @@ msgstr "Tiedosto" msgid "file" msgstr "tiedosto" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -798,9 +929,18 @@ msgstr "käytä .swf tiedostoa (Flash)" msgid "height" msgstr "korkeus" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Flash-liitännäinen puuttuu." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Flash-laajennus puuttuu. Lataa " +"tästä." + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -858,19 +998,19 @@ msgstr "Reittisuunnittelu" msgid "Map" msgstr "Kartta" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Laske reitti" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Peri liitännäiset sivulta" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Kieli tai sivu pitää olla täytettynä" @@ -879,8 +1019,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Valitse sivu jolta sisällytetään liitännäiset tähän sisältökenttään, " -"tyhjä valitsee nykyisen sivun" +"Valitse sivu jolta sisällytetään liitännäiset tähän sisältökenttään, tyhjä " +"valitsee nykyisen sivun" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -898,7 +1038,7 @@ msgid "name" msgstr "nimi" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "linkki" @@ -919,40 +1059,44 @@ msgstr "Sähköpostiosoite yliajaa tekstilinkin" msgid "Picture" msgstr "Kuva" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "vasen" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "oikea" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "kuva" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "verkko-osoite johon kuva klikkaaminen vie" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "vaihtoehtoinen teksti" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "kuvaus kuvasta" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "pitkä kuvaus" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "laajempi kuvaus kuvasta" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "sivu" @@ -972,11 +1116,10 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Syötä asettelutiedosto (esim. \"snippets/plugin_xy.html\") joka " -"tulostetaan ruudulle." +"Syötä asettelutiedosto (esim. \"snippets/plugin_xy.html\") joka tulostetaan " +"ruudulle." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -995,6 +1138,7 @@ msgid "If present image will be clickable." msgstr "verkko-osoite johon kuva klikkaaminen vie" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "lisää" @@ -1012,51 +1156,52 @@ msgstr "Laajennukset" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Ole hyvä ja valitse laajennuksen tyyppi" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Muokkaa valittua laajennusta" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Tekstieditori ei tue objektien muokkausta." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Mitään ei ole valittu." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Tekstieditori ei tue objektien syöttöä." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Ei ole liitännäinen" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Saatavilla olevat laajennukset" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Lisää laajennus" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1091,6 +1236,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Ladataan…" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Video" @@ -1112,12 +1282,13 @@ msgid "movie url" msgstr "videon osoite" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"Vimeo tai Youtube videon URL. Esimerkiksi: " -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"Vimeo tai Youtube videon URL. Esimerkiksi: http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1178,17 +1349,9 @@ msgstr "napin mousover väri" msgid "button highlight color" msgstr "napin korostusväri" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Flash-laajennus puuttuu. Lataa " -"tästä." - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Tallenna" @@ -1206,22 +1369,19 @@ msgid "Save and add another" msgstr "Tallenna ja lisää uusi" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Tallenna ja jatka muokkausta" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" "Sivu %(page)s saattaa vaatia sinulta " "hyväksyntää." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Viime muutokset" @@ -1230,28 +1390,21 @@ msgstr "Viime muutokset" msgid "Log in to administration here." msgstr "Kirjaudu hallintapaneeliin." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Käyttäjänimi:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Salasana:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Muuta sivua" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1259,81 +1412,81 @@ msgstr "Muuta sivua" msgid "Home" msgstr "Koti" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Hyväksy sivun poisto" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(vaatii hyväksynnän moderointitasolla %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(voit suorittaa toimintoja suoraan tällä sivulla)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Hylkää poistopyyntö" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Hyväksy poisto" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Hyväksy" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "vedos" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Esikatselu" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Historia" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Näytä sivustolla" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Korjaa allaoleva virhe." msgstr[1] "Korjaa allaolevat virheet." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Kaikki oikeudet" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Ladataan…" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Sivun tilat" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Tätä sivua täytyy moderoida tasolla %(moderation_level)s, lähetä " -"viesti moderaattorille." +"Tätä sivua täytyy moderoida tasolla %(moderation_level)s, lähetä viesti " +"moderaattorille." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Hyväksy pyyntö" @@ -1341,41 +1494,41 @@ msgstr "Hyväksy pyyntö" msgid "List of pages" msgstr "Sivulistaus" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Siirretty onnistuneesti" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Virhe tapahtui. Ole hyvä ja lataa sivu uudestaan." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Palauta poistetut %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Lisää %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Sivut:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Rajaus:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "päällä" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "pois" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Rajaus" @@ -1399,7 +1552,11 @@ msgstr "alku" msgid "end" msgstr "loppu" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "viime muutokset" @@ -1413,8 +1570,7 @@ msgid "edit this page" msgstr "muokkaa tätä sivua" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "muokkaa" @@ -1470,7 +1626,6 @@ msgid "add" msgstr "lisää" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Hyväksy suoraan" @@ -1484,11 +1639,6 @@ msgstr "näkymä" msgid "Unpublish" msgstr "Piilota" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Julkaise" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Näytä sivulla" @@ -1533,28 +1683,38 @@ msgstr "Voi muuttaa oikeuksia" msgid "Can move" msgstr "Voi siirtää" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Voi siirtää" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(globaali)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(nykyinen)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Kaikki" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Sivu ei peri mitään käyttöoikeuksia." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Liitännäisen vanhaa versiota ei voi tallentaa!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Liitännäinen tallennettu onnistuneesti." @@ -1589,7 +1749,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Lisää liitännäinen" @@ -1615,126 +1774,62 @@ msgstr "" "Yhtään liitännäistä ei ole asetettu. Lisää liitännäinen tähän " "sisältökenttään." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Siirrä kohtaan %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Haluatko varmasti poistaa tämän liitännäisen?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Muokkaustila" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "ylös" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Tila" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "alas" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Käyttäjänimi" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "kirjaudu sisään" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Asettelutiedosto" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "siirrä" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Siirrä/lisää sivuja" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "lisää lapsi" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "lisää lapsisivu" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "lisää sisar" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Lisää sisarsivu" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Poista sivu" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Sivuston hallinta" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Sivun asetukset" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "historia" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Näytä historia" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Kirjaudu ulos" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Lukitse" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Sulje" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "ylös" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "alas" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Tila" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Asetukset" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Poista liitännäinen" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Pura sivun moderointi" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Pura lasten moderointi" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Pura jälkeläisten moderointi" @@ -1746,85 +1841,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - käyttäjätilisi on luotu." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - käyttäjätiliäsi on muokattu." #: utils/moderator.py:83 msgid "parent first" @@ -1839,16 +1867,38 @@ msgstr "hyväksy" msgid "CMS - Page %s requires approvement." msgstr "CMS - Sivu %s vaatii hyväksynnän." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - käyttäjätilisi on luotu." +#~ msgid "Missing flash plugin." +#~ msgstr "Flash-liitännäinen puuttuu." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - käyttäjätiliäsi on muokattu." +#~ msgid "Move to %(name)s" +#~ msgstr "Siirrä kohtaan %(name)s" + +#~ msgid "move" +#~ msgstr "siirrä" + +#~ msgid "add child" +#~ msgstr "lisää lapsi" + +#~ msgid "add sibling" +#~ msgstr "lisää sisar" + +#~ msgid "history" +#~ msgstr "historia" + +#~ msgid "Lock" +#~ msgstr "Lukitse" + +#~ msgid "Close" +#~ msgstr "Sulje" + +#~ msgid "Settings" +#~ msgstr "Asetukset" + +#~ msgid "Delete Plugin" +#~ msgstr "Poista liitännäinen" #~ msgid "fgcolor" -#~ msgstr "Vordergrundfarbe" +#~ msgstr "etualan väri" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "Die gesuchte Sprache wurde noch nicht übersetzt." +#~ msgstr "Pyydetty kieli ei ole vielä käännetty." diff --git a/cms/locale/fi/LC_MESSAGES/djangojs.mo b/cms/locale/fi/LC_MESSAGES/djangojs.mo index 142fc155c1a..7a5f17b5b03 100644 Binary files a/cms/locale/fi/LC_MESSAGES/djangojs.mo and b/cms/locale/fi/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/fi/LC_MESSAGES/djangojs.po b/cms/locale/fi/LC_MESSAGES/djangojs.po index 5e32e80a359..243bbd25012 100644 --- a/cms/locale/fi/LC_MESSAGES/djangojs.po +++ b/cms/locale/fi/LC_MESSAGES/djangojs.po @@ -1,40 +1,38 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Oletko varma, että haluat muuttaa %(field_name) tallentamatta sivua " -"ensin?" +"Oletko varma, että haluat muuttaa %(field_name) tallentamatta sivua ensin?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "Haluatko varmasti muuttaa välilehtiä tallentamatta sivua ensin?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Haluatko varmasti poistaa tämän liitännäisen?" diff --git a/cms/locale/fr/LC_MESSAGES/django.mo b/cms/locale/fr/LC_MESSAGES/django.mo index 92a67b045dc..c4814023323 100644 Binary files a/cms/locale/fr/LC_MESSAGES/django.mo and b/cms/locale/fr/LC_MESSAGES/django.mo differ diff --git a/cms/locale/fr/LC_MESSAGES/django.po b/cms/locale/fr/LC_MESSAGES/django.po index c8c681366d9..4cb09132deb 100644 --- a/cms/locale/fr/LC_MESSAGES/django.po +++ b/cms/locale/fr/LC_MESSAGES/django.po @@ -1,313 +1,404 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: chrisglass \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" +"Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Mode édition" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publier" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "Demande d'approbation" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Se déconnecter" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Gabarit" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Déplacer/ajouter des pages" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Ajouter page descendante" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Ajouter page \"soeur\"" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Supprimer la page" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Page" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Administration du site" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Propriétés de la page" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Voir l'historique" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Paramètres avancés" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Titre" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Le titre par défaut" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Mots-clés" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Mots-clés pour construire l'URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Langue" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Langue dans laquelle le contenu sera saisi." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Une page avec les mêmes mots-clés pour l'URL existe déjà" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Titre du menu" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Remplace le texte affiché dans le menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Titre de la page" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "Titre de la page (dans votre navigateur, vos favoris...)" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Application" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Associer une application à cette page." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Remplace l'URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Laissez ce champs vide pour utiliser l'adresse par défaut" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Redirection" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Redirige vers cette URL" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Brève description de la page utilisée par les moteurs de recherche." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Entrez une liste de mots clés séparés par des virgules, cela sera " -"utilisé par les moteurs de recherche." +"Entrez une liste de mots clés séparés par des virgules, cela sera utilisé " +"par les moteurs de recherche." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Une page avec cette URL existe déjà." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "L'URL est invalide, utilisez le format /mot-cle/mot-cle" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Une page avec les mêmes mots-clés pour l'URL existe déjà" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "utilisateur" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"La permission \"Ajouter une page\" nécesite aussi l'accès aux " -"descendants, sinon les pages ajoutées ne pourront pas être modifiées " -"par leur créateur." +"La permission \"Ajouter une page\" nécesite aussi l'accès aux descendants, " +"sinon les pages ajoutées ne pourront pas être modifiées par leur créateur." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"La permission \"Ajouter une page\" nécessite la permission \"Editer une " -"page\"" +"La permission \"Ajouter une page\" nécessite la permission \"Editer une page" +"\"" + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "voir" -#: admin/forms.py:245 +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Veuillez d'abord sélectionner un utilisateur ou un groupe." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Ajouter" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Modifier" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Supprimer" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Restaurer des pages" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Notifier l'utilisateur" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Envoyer une notification par courriel du changement de nom " -"d'utilisateur ou mot de passe. Nécessite un courriel valide. " +"Envoyer une notification par courriel du changement de nom d'utilisateur ou " +"mot de passe. Nécessite un courriel valide. " -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nouveau mot de passe" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Nouveau mot de passe (confirmation)" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "La notification par courriel nécessite un courriel valide" -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"La permission d'ajouter des pages nécessite la permission de modifier " -"des pages!" +"La permission d'ajouter des pages nécessite la permission de modifier des " +"pages!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"La permission d'ajouter des utilisateurs nécessite la permission de " -"modifier des utilisateurs!" +"La permission d'ajouter des utilisateurs nécessite la permission de modifier " +"des utilisateurs!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Pour ajouter des permissions, il faut aussi les éditer !" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Caché" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Propriétés" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Note : cette page sera rechargée si vous changez la selection. Pensez " -"à la sauver au préalable." +"Note : cette page sera rechargée si vous changez la selection. Pensez à la " +"sauver au préalable." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Caché" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Paramètres avancés" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Paramètres SEO (Optimisation pour les moteurs de recherche)" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "plus haut" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Erreur de base de données" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "page" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "La page a été approuvée." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "L'objet %(name)s de clé primaire %(key)r n'existe pas." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Il existe une seule traduction pour cette page." -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Les titres et les blocs en %(language)s ont été supprimés" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Êtes-vous sûr(e) ?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Vous n'avez pas la permission d'ajouter cette page" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -"Vous n'avez pas la permission de changer le statut \"Apparaître dans le" -" menu\"" +"Vous n'avez pas la permission de changer le statut \"Apparaître dans le menu" +"\"" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Vous n'avez pas la permission de modifier cette page" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Une langue disponible doit être sélectionnée!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "Le bloc %(plugin_name)s a été ajouté à la zone %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "La langue doit être différente de la langue copiée !" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -"Les greffons pour la langue %(language)s ont été copiés dans " -"%(placeholder)s " +"Les greffons pour la langue %(language)s ont été copiés dans %(placeholder)s " + +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Vous n'avez pas la permission de modifier cette page" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" "Le bloc %(plugin_name)s à la position %(position)s de la zone " "%(placeholder)s a été modifié" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Les blocs ont été déplacés" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " @@ -316,27 +407,50 @@ msgstr "" "Le bloc %(plugin_name)s à la position %(position)s de la zone " "%(placeholder)s a été supprimé." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Permissions relatives à la page" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Permissions relatives aux utilisateurs et groupes" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Gestion des permissions relatives aux pages" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Vous n'avez pas la permission de modifier cette page" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Détails de l'utilisateur" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Groupes" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Mot de passe" @@ -348,7 +462,7 @@ msgstr "Copier les permissions" msgid "Copy moderation" msgstr "Copier la modération" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Hériter du modèle du parent le plus proche" @@ -368,27 +482,37 @@ msgstr "Ajouter un autre" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "langue" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "page" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "position" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "date de création" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "emplacement" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "Nom du bloc" @@ -413,15 +537,15 @@ msgstr "mot-clé" msgid "everybody" msgstr "tout le monde" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "peut modifier" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "groupe" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "peut publier" @@ -459,28 +583,28 @@ msgstr "auteur" msgid "reverse url id" msgstr "identifiant de l'URL" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "identification requise" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "racine" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "date de fin de publication" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "modèle" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "date de publication" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "présent dans la navigation" @@ -490,7 +614,7 @@ msgstr "présent dans la navigation" msgid "application" msgstr "application" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -527,26 +651,21 @@ msgstr "Descendants de la page" msgid "Page and descendants" msgstr "Page et descendants de la page" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Page" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Utilisateur" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Modérer la page" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Modérer les descendants immediats de la page" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Modérer les descendants de la page" @@ -554,197 +673,204 @@ msgstr "Modérer les descendants de la page" msgid "PageModerator" msgstr "PageModerator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "créée" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "Modifiée" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "Dem. de suppression" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "Demande de déplacement" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "Demande de publication" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "Demande de dépublication" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "approuvée" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "État du modérateur de la page" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "États du modérateur de la page" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "Approbation demandée" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "supprimer" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "Approbation des parents" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "uniquement acccessible aux utilisateurs enrregistrés" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "uniquement accessible aux utilisateurs anonymes" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "créée par" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "modifiée par" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Date de publication de la page. Son statut doit être à \"Publié\" pour " -"une publication automatique." +"Date de publication de la page. Son statut doit être à \"Publié\" pour une " +"publication automatique." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" "Pour dépublier automatiquement la page. Laisser vide pour aucune " "dépublication." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Les parents n'appaîtront pas dans le menu" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Identifiant unique utilisé par le modèle page_url pour créer un lien " -"vers cette page" +"Identifiant unique utilisé par le modèle page_url pour créer un lien vers " +"cette page" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "menu attaché" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "Publié" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Le modèle utilisé pour l'affichage du contenu." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Le site correspondant à la page " -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "site" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "état du modérateur" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "Visibilité du menu" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "limite quand cette page est visible dans le menu" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "pages" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "La page a été copiée." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "par défaut" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "peut ajouter" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "peut supprimer" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "peut modifier les paramètres avancés" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "peut modifier les permissions" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "au niveau de la page" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "peut déplacer" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "peut modérer" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "peut restaurer des pages" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "peut restaurer n'importe quelle page supprimée" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"Si aucun n'est selectionné, les permissions de l'utilisateur sont " -"valables sur tous les sites" +"Si aucun n'est selectionné, les permissions de l'utilisateur sont valables " +"sur tous les sites" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "sites" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Permissions globales de la page" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Permissions globales des pages" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "S'applique sur" @@ -752,28 +878,28 @@ msgstr "S'applique sur" msgid "Page permission" msgstr "Permissions de la page" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Utilisateur (page)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Utilisateurs (page)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Groupe d'utilisateur (page)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Groupes d'utilisateur (page)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "largeur" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -798,6 +924,10 @@ msgstr "Fichier" msgid "file" msgstr "fichier" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -811,9 +941,18 @@ msgstr "utiliser un fichier .swf" msgid "height" msgstr "hauteur" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Il manque le bloc Flash." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Le plugin flash n'est pas disponible. Veuillez le télécharger." + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -850,8 +989,8 @@ msgstr "latitude" #: plugins/googlemap/models.py:19 msgid "Use latitude & longitude to fine tune the map possiton." msgstr "" -"Utiliser la longitude et la latitude pour régler finement le " -"positionnement de la carte." +"Utiliser la longitude et la latitude pour régler finement le positionnement " +"de la carte." #: plugins/googlemap/models.py:20 msgid "longitude" @@ -873,19 +1012,19 @@ msgstr "Planificateur de trajets" msgid "Map" msgstr "Carte" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "Votre adresse:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Calculer la route" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Hériter des greffons de la page" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "La langue ou page doivent être renseignés" @@ -894,8 +1033,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Choisissez une page pour inclure ses plugins dans ce placeholder. Ne " -"rien choisir inclus les plugins de la page courante." +"Choisissez une page pour inclure ses plugins dans ce placeholder. Ne rien " +"choisir inclus les plugins de la page courante." #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -913,7 +1052,7 @@ msgid "name" msgstr "nom" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "lien" @@ -934,40 +1073,44 @@ msgstr "Une adresse courriel est prioritaire sur un lien texte" msgid "Picture" msgstr "Image" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "gauche" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "droite" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "image" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "si renseigné, l'image sera cliquable" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "texte alternatif" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "description textuelle de l'image" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "description longue" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "description additionnelle de l'image" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "côté" @@ -987,11 +1130,10 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Veuillez fournir le nom du modèle (par ex.: \"snippets/plugin_xy.html\")" -" qui sera affiché." +"Veuillez fournir le nom du modèle (par ex.: \"snippets/plugin_xy.html\") qui " +"sera affiché." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -1010,6 +1152,7 @@ msgid "If present image will be clickable." msgstr "Si renseigné, l'image sera cliquable." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "plus" @@ -1027,51 +1170,52 @@ msgstr "Blocs" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Veuillez sélectionner un type de bloc." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Modifier le bloc sélectionné" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "L'éditeur de texte ne permet pas l'édition d'objets." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Aucun objet selectionné." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "L'éditeur de texte ne permet pas l'insertion d'objets." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "L'objet selectionné n'est pas un bloc" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Blocs disponibles" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Ajouter un bloc" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "recherche Twitter" @@ -1105,9 +1249,34 @@ msgid "" "from the user \"umbrella\" to the user \"nemesis\" that contain the words " "\"brains\" and \"zombies\"" msgstr "" -"Par example: \"brains AND zombies AND from:umbrella AND to:nemesis\": " -"tweets from the user \"umbrella\" to the user \"nemesis\" that contain the" -" words \"brains\" and \"zombies\"" +"Par example: \"brains AND zombies AND from:umbrella AND to:nemesis\": tweets " +"from the user \"umbrella\" to the user \"nemesis\" that contain the words " +"\"brains\" and \"zombies\"" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Chargement..." #: plugins/video/cms_plugins.py:10 msgid "Video" @@ -1130,12 +1299,13 @@ msgid "movie url" msgstr "URL du fichier video" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"URL du fichier video YouTube ou Vimeo. Par exemple: " -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"URL du fichier video YouTube ou Vimeo. Par exemple: http://www.youtube.com/" +"watch?v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1196,17 +1366,9 @@ msgstr "couleur du bouton (état survolé)" msgid "button highlight color" msgstr "Couleur de surlignage du bouton" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Le plugin flash n'est pas disponible. Veuillez le télécharger." - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Sauvegarder" @@ -1224,20 +1386,17 @@ msgid "Save and add another" msgstr "Enregistrer et créer nouveau" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Sauvegarder et continuer les modifications" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "Vous devez valider la page %(page)s." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Modifications récentes" @@ -1246,28 +1405,21 @@ msgstr "Modifications récentes" msgid "Log in to administration here." msgstr "Identifiez-vous." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "URL de login: %(login_url)s" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Nom d'utilisateur:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Mot de passe:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Modifier une page" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1275,81 +1427,81 @@ msgstr "Modifier une page" msgid "Home" msgstr "Accueil" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Approuver la suppression de page" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(nécessite une validation au niveau %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(vous pouvez exécuter des actions directement dans cette page)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Annuler la demande de suppression" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Approuver la suppression" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Approuver" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "brouillon" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Prévisualisation" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Historique" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Voir sur le site" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Veuillez corriger l'erreur suivante." msgstr[1] "Veuillez corriger les erreurs suivantes." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Toutes les permissions" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Chargement..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "États des pages" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Cette page doit être validée au niveau %(moderation_level)s, contactez" -" les personnes concernées." +"Cette page doit être validée au niveau %(moderation_level)s, contactez les " +"personnes concernées." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Demander l'approbation" @@ -1357,41 +1509,41 @@ msgstr "Demander l'approbation" msgid "List of pages" msgstr "Liste de pages" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Déplacement réussi" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Une erreur est apparue. Merci de recharger la page" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Restaurer des %(name)s supprimé(e)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Ajouter %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Pages de:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtre:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "activé" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "désactivé" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtre" @@ -1415,7 +1567,11 @@ msgstr "début" msgid "end" msgstr "fin" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "modifications récentes" @@ -1429,8 +1585,7 @@ msgid "edit this page" msgstr "modifier cette page" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "Éditer" @@ -1486,7 +1641,6 @@ msgid "add" msgstr "ajouter" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Approuver directement" @@ -1500,11 +1654,6 @@ msgstr "voir" msgid "Unpublish" msgstr "Dépublier" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publier" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Voir sur la page" @@ -1549,28 +1698,38 @@ msgstr "Peut modifier les permissions" msgid "Can move" msgstr "Peut déplacer" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Peut déplacer" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(actuel)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Tout" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "La page n'hérite d'aucune permission" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Une ancienne version d'un bloc ne peut pas être sauvegardée !" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Le bloc a été correctement sauvegardé." @@ -1605,7 +1764,6 @@ msgid "Generic" msgstr "Générique" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Ajouter un bloc" @@ -1629,126 +1787,62 @@ msgstr "Aucun bloc n'est sélectionné. Veuillez en sélectionner un" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Aucun bloc disponible. Veuillez définir des blocs pour cette zone." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "plugins disponibles" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Déplacer vers %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Êtes-vous sûr(e) de vouloir supprimer ce greffon ?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Mode édition" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "haut" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "État" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "bas" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Nom d'utilisateur" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "se connecter" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "Demande d'approbation" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Gabarit" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "déplacer" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Déplacer/ajouter des pages" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "Ajouter descendant" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Ajouter page descendante" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "Ajouter \"soeur\"" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Ajouter page \"soeur\"" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Supprimer la page" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Administration du site" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Propriétés de la page" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "historique" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Voir l'historique" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Se déconnecter" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Vérrouiller" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Fermer" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "haut" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "bas" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "État" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Paramètres" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Supprimer le greffon" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Annuler la modération de la page" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Annuler la modération des descendants immédiats" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Annuler la modération des descendants" @@ -1760,109 +1854,124 @@ msgstr "Page introuvable sur %(domain)s" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" "Un \"template tag\" n'a pas pu trouver la page avec les arguments « " -"%(page_lookup)s ». L'URL de la demande était la suivante: " -"http://%(host)s%(path)s" +"%(page_lookup)s ». L'URL de la demande était la suivante: http://%(host)s" +"%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "Anglais" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - votre compte utilisateur a été créé" -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "Français" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - votre compte utilisateur a été modifié" -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "Allemand" +#: utils/moderator.py:83 +msgid "parent first" +msgstr "Parent d'abord" -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "Brésil" +#: utils/moderator.py:90 +msgid "approve" +msgstr "approuver" -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "Néerlandais" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - la page %s nécessite approbation" -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "deux colonnes" +#~ msgid "Missing flash plugin." +#~ msgstr "Il manque le bloc Flash." -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "trois colonnes" +#~ msgid "Login url: %(login_url)s" +#~ msgstr "URL de login: %(login_url)s" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "Exemples de navigation" +#~ msgid "Move to %(name)s" +#~ msgstr "Déplacer vers %(name)s" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "barre latérale" +#~ msgid "move" +#~ msgstr "déplacer" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "colonne de gauche" +#~ msgid "add child" +#~ msgstr "Ajouter descendant" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "colonne de droite" +#~ msgid "add sibling" +#~ msgstr "Ajouter \"soeur\"" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "Articles" +#~ msgid "history" +#~ msgstr "historique" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "Application exemple" +#~ msgid "Lock" +#~ msgstr "Vérrouiller" -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "page racine d'exemple" +#~ msgid "Close" +#~ msgstr "Fermer" -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "page de paramètres d'exemple" +#~ msgid "Settings" +#~ msgstr "Paramètres" -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "page de compte d'exemple" +#~ msgid "Delete Plugin" +#~ msgstr "Supprimer le greffon" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "échantilloner de ma page de profil" +#~ msgid "English" +#~ msgstr "Anglais" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "Menu statique" +#~ msgid "French" +#~ msgstr "Français" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "Menu statique 2" +#~ msgid "German" +#~ msgstr "Allemand" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "Parent d'abord" +#~ msgid "Brazil" +#~ msgstr "Brésil" -#: utils/moderator.py:90 -msgid "approve" -msgstr "approuver" +#~ msgid "Dutch" +#~ msgstr "Néerlandais" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - la page %s nécessite approbation" +#~ msgid "two columns" +#~ msgstr "deux colonnes" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - votre compte utilisateur a été créé" +#~ msgid "three columns" +#~ msgstr "trois colonnes" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - votre compte utilisateur a été modifié" +#~ msgid "navigation examples" +#~ msgstr "Exemples de navigation" + +#~ msgid "sidebar column" +#~ msgstr "barre latérale" + +#~ msgid "left column" +#~ msgstr "colonne de gauche" + +#~ msgid "right column" +#~ msgstr "colonne de droite" + +#~ msgid "Articles" +#~ msgstr "Articles" + +#~ msgid "Sample App" +#~ msgstr "Application exemple" + +#~ msgid "sample root page" +#~ msgstr "page racine d'exemple" + +#~ msgid "sample settings page" +#~ msgstr "page de paramètres d'exemple" + +#~ msgid "sample account page" +#~ msgstr "page de compte d'exemple" + +#~ msgid "sample my profile page" +#~ msgstr "échantilloner de ma page de profil" + +#~ msgid "Static Menu" +#~ msgstr "Menu statique" + +#~ msgid "Static Menu2" +#~ msgstr "Menu statique 2" #~ msgid "fgcolor" #~ msgstr "fgcolor" diff --git a/cms/locale/fr/LC_MESSAGES/djangojs.mo b/cms/locale/fr/LC_MESSAGES/djangojs.mo index 1307fd24ec3..b2fa372ca14 100644 Binary files a/cms/locale/fr/LC_MESSAGES/djangojs.mo and b/cms/locale/fr/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/fr/LC_MESSAGES/djangojs.po b/cms/locale/fr/LC_MESSAGES/djangojs.po index c9699dc3b64..ce3f5286855 100644 --- a/cms/locale/fr/LC_MESSAGES/djangojs.po +++ b/cms/locale/fr/LC_MESSAGES/djangojs.po @@ -1,42 +1,41 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" -"Last-Translator: chrisglass \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Êtes-vous sûr de vouloir changer le %(field_name)s sans enregistrer " -"la page?" +"Êtes-vous sûr de vouloir changer le %(field_name)s sans enregistrer la page?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" "Certains plugins ne sont pas sauvegardés.\n" -"Êtes-vous sûr de vouloir quitter cette page? Le contenu non-sauvegardé sera perdu!" +"Êtes-vous sûr de vouloir quitter cette page? Le contenu non-sauvegardé sera " +"perdu!" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "Êtes-vous sûr de vouloir changer d'onglet sans enregistrer la page?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Êtes-vous sûr de vouloir supprimer ce bloc ?" diff --git a/cms/locale/gu/LC_MESSAGES/django.mo b/cms/locale/gu/LC_MESSAGES/django.mo index c41342747da..aa4527ab4c6 100644 Binary files a/cms/locale/gu/LC_MESSAGES/django.mo and b/cms/locale/gu/LC_MESSAGES/django.mo differ diff --git a/cms/locale/gu/LC_MESSAGES/django.po b/cms/locale/gu/LC_MESSAGES/django.po index 10831f959ab..68c80360a52 100644 --- a/cms/locale/gu/LC_MESSAGES/django.po +++ b/cms/locale/gu/LC_MESSAGES/django.po @@ -1,319 +1,425 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" -"Language-Team: Gujarati \n" +"Language-Team: Gujarati (http://www.transifex.net/projects/p/django-cms/team/" +"gu/)\n" +"Language: gu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:337 -msgid "Email notification requires valid email address." -msgstr "" - #: admin/forms.py:339 -msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +msgid "Email notification requires valid email address." msgstr "" #: admin/forms.py:341 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new pages requires the permission to change pages!" msgstr "" #: admin/forms.py:343 -msgid "To add permissions you also need to edit them!" +msgid "" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:504 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:676 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" +msgstr "" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -325,7 +431,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +451,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +506,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +552,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +583,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -504,26 +620,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +642,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +839,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +885,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +902,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +968,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1006,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1027,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1084,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1104,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1122,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1202,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1248,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1311,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1180,20 +1331,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1202,28 +1350,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,79 +1372,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1311,41 +1452,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1369,7 +1510,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1383,8 +1528,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1440,7 +1584,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1454,11 +1597,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1503,28 +1641,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1559,7 +1706,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1583,126 +1729,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1714,84 +1795,17 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1806,17 +1820,3 @@ msgstr "" #, python-format msgid "CMS - Page %s requires approvement." msgstr "" - -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" - -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" - -#~ msgid "fgcolor" -#~ msgstr "" - -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" diff --git a/cms/locale/gu/LC_MESSAGES/djangojs.mo b/cms/locale/gu/LC_MESSAGES/djangojs.mo index 9f0cbb37ddc..8f038fdfb82 100644 Binary files a/cms/locale/gu/LC_MESSAGES/djangojs.mo and b/cms/locale/gu/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/gu/LC_MESSAGES/djangojs.po b/cms/locale/gu/LC_MESSAGES/djangojs.po index 48cfed2aa24..96d46b3d058 100644 --- a/cms/locale/gu/LC_MESSAGES/djangojs.po +++ b/cms/locale/gu/LC_MESSAGES/djangojs.po @@ -1,38 +1,38 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" -"Language-Team: Gujarati \n" +"Language-Team: Gujarati (http://www.transifex.net/projects/p/django-cms/team/" +"gu/)\n" +"Language: gu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" diff --git a/cms/locale/he/LC_MESSAGES/django.mo b/cms/locale/he/LC_MESSAGES/django.mo index 3d13384c0fe..c963e63536c 100644 Binary files a/cms/locale/he/LC_MESSAGES/django.mo and b/cms/locale/he/LC_MESSAGES/django.mo differ diff --git a/cms/locale/he/LC_MESSAGES/django.po b/cms/locale/he/LC_MESSAGES/django.po index 06a1b813f80..4d5d20cd4ea 100644 --- a/cms/locale/he/LC_MESSAGES/django.po +++ b/cms/locale/he/LC_MESSAGES/django.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: Benjamin Wohlwend \n" "Language-Team: divio.ch \n" "MIME-Version: 1.0\n" @@ -20,300 +20,407 @@ msgstr "" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "" -#: admin/forms.py:131 -msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +#: admin/forms.py:138 +msgid "" +"Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:337 -msgid "Email notification requires valid email address." -msgstr "" - #: admin/forms.py:339 -msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +msgid "Email notification requires valid email address." msgstr "" #: admin/forms.py:341 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new pages requires the permission to change pages!" msgstr "" #: admin/forms.py:343 -msgid "To add permissions you also need to edit them!" +msgid "" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:504 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:676 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" +msgstr "" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -325,7 +432,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +452,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +507,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +553,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +584,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -504,26 +621,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +643,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +840,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +886,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +903,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +969,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1007,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1028,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1085,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1105,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1123,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1203,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1249,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: " +"http://www.youtube.com/watch?v=-iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1312,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1180,20 +1332,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1202,28 +1351,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,79 +1373,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1311,41 +1453,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1369,7 +1511,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1383,8 +1529,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1440,7 +1585,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1454,11 +1598,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1503,28 +1642,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1559,7 +1707,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1583,126 +1730,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1718,80 +1800,12 @@ msgid "" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1807,16 +1821,16 @@ msgstr "" msgid "CMS - Page %s requires approvement." msgstr "" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#~ msgid "move" +#~ msgstr "move request" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#~ msgid "sidebar column" +#~ msgstr "background color" #~ msgid "fgcolor" -#~ msgstr "" +#~ msgstr "foreground color" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgstr "Requested language has not been translated yet." + + diff --git a/cms/locale/he/LC_MESSAGES/djangojs.mo b/cms/locale/he/LC_MESSAGES/djangojs.mo index fa7e97cc6c3..af12f2d9303 100644 Binary files a/cms/locale/he/LC_MESSAGES/djangojs.mo and b/cms/locale/he/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/he/LC_MESSAGES/djangojs.po b/cms/locale/he/LC_MESSAGES/djangojs.po index 8823203928a..3439cc872b9 100644 --- a/cms/locale/he/LC_MESSAGES/djangojs.po +++ b/cms/locale/he/LC_MESSAGES/djangojs.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -17,22 +17,24 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" + + diff --git a/cms/locale/hi/LC_MESSAGES/django.mo b/cms/locale/hi/LC_MESSAGES/django.mo index 5ac72439601..9855d4ab044 100644 Binary files a/cms/locale/hi/LC_MESSAGES/django.mo and b/cms/locale/hi/LC_MESSAGES/django.mo differ diff --git a/cms/locale/hi/LC_MESSAGES/django.po b/cms/locale/hi/LC_MESSAGES/django.po index 457dd5f4ce9..127fd190011 100644 --- a/cms/locale/hi/LC_MESSAGES/django.po +++ b/cms/locale/hi/LC_MESSAGES/django.po @@ -1,331 +1,443 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" -"Language-Team: Hindi \n" +"Language-Team: Hindi (http://www.transifex.net/projects/p/django-cms/team/" +"hi/)\n" +"Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "संपादित करें मोड" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "प्रकाशित" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "लॉगआउट" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "टेम्पलेट" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "स्थानांतरित / पेज जोड़ें" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "child पृष्ठ जोड़ें" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "sibling पृष्ठ जोड़ें" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "हटाएँ पृष्ठ" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "पृष्ठ" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "साइट प्रशासन" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "पेज सेटिंग्स" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "इतिहास देखें" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "उन्नत विकल्प" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "शीर्षक" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "डिफ़ॉल्ट शीर्षक" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "स्लग" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "शीर्षक है कि URL में प्रयोग किया जाता है का हिस्सा" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "भाषा" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "मौजूदा भाषा की क्षेत्र " -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "इस काउंटर के साथ एक पृष्ठ पहले से मौजूद है" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "मेनू का शीर्षक" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "अधिलेखित मेनू में क्या प्रदर्शित होता है" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "पृष्ठ शीर्षक" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" -msgstr "" -"Overwrites आपके ब्राउज़र या बुकमार्क में के शीर्ष पर प्रदर्शित होता है" -" क्या" +msgstr "Overwrites आपके ब्राउज़र या बुकमार्क में के शीर्ष पर प्रदर्शित होता है क्या" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "आवेदन" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "हुक इस पृष्ठ पर आवेदन." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "अधिलेखित यूआरएल" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "इस क्षेत्र खाली रखें अगर मानक पथ प्रयोग किया जाना चाहिए." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "पुनर्निर्देशन" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "इस URL के लिए पुनर्निर्देश." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "खोज इंजन द्वारा उपयोग पृष्ठ का वर्णन." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "अल्पविराम से अलग कभी कभी खोज इंजन द्वारा उपयोग खोजशब्दों की एक सूची." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "इस रिवर्स यूआरएल आईडी के साथ एक पृष्ठ पहले से ही मौजूद है." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "अवैध यूआरएल का प्रयोग करते हैं / मेरी / url प्रारूप." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "इस काउंटर के साथ एक पृष्ठ पहले से मौजूद है" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "उपयोगकर्ता" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"पृष्ठ अनुमति जोड़ें भी बच्चों, या वंश का उपयोग करने की आवश्यकता है, " -"अन्यथा पृष्ठ जोड़े अपने निर्माता से नहीं बदला जा सकता है." +"पृष्ठ अनुमति जोड़ें भी बच्चों, या वंश का उपयोग करने की आवश्यकता है, अन्यथा पृष्ठ जोड़े अपने " +"निर्माता से नहीं बदला जा सकता है." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "पृष्ठ जोड़ें अनुमति भी पृष्ठ को संपादित करने की अनुमति की आवश्यकता है." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "दृश्य" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "कृपया चुनें उपयोगकर्ता या समूह में पहले." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "जोड़ना" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "बदलना" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "मिटाना" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "स्वस्थ (किसी भी पन्ने)" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "सूचित उपयोगकर्ता" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"उपयोगकर्ता नाम या पासवर्ड को बदलने के बारे में उपयोगकर्ता के लिए ईमेल " -"सूचना भेजें. उपयोगकर्ता ईमेल आवश्यक है." +"उपयोगकर्ता नाम या पासवर्ड को बदलने के बारे में उपयोगकर्ता के लिए ईमेल सूचना भेजें. " +"उपयोगकर्ता ईमेल आवश्यक है." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "नया कूटशब्द" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "नए पासवर्ड की पुष्टि" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "ईमेल अधिसूचना मान्य ईमेल पते की आवश्यकता है." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "नए पृष्ठ जोड़ने की अनुमति के पन्नों को बदलने की अनुमति की आवश्यकता है!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"नए उपयोगकर्ताओं को जोड़ने की अनुमति उपयोगकर्ताओं को बदलने की अनुमति की" -" आवश्यकता है!" +"नए उपयोगकर्ताओं को जोड़ने की अनुमति उपयोगकर्ताओं को बदलने की अनुमति की आवश्यकता है!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "के लिए अनुमति आप भी उन्हें संपादित करने की आवश्यकता जोड़ें!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "छिपा हुआ" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "मूल सेटिंग्स" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "नोट: यह पृष्ठ अगर आप चयन बदल reloads. सहेजें पहले." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "छिपा हुआ" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "उन्नत सेटिंग्स" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "एसईओ सेटिंग्स" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "उच्च" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "डेटाबेस त्रुटि" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "पृष्ठ" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "पेज सफलतापूर्वक मंजूरी दे दी थी." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr " %(name)s प्राथमिक कुंजी वस्तु के साथ एस %(key)r आर मौजूद नहीं है." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "सिर्फ इस पृष्ठ के लिए एक अनुवाद से मौजूद है" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "शीर्षक और plugins भाषा %(language)s के साथ नष्ट कर दिया गया" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "क्या आप सुनिश्चित हैं?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "आप इस पृष्ठ पर प्रकाशित की अनुमति नहीं है" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "आप इस पृष्ठ की in_navigation स्थिति को बदलने की अनुमति नहीं है" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "भाषा एक समर्थित भाषा के लिए सेट किया जाना चाहिए!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s प्लगइन %(placeholder)s जोड़ा " -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "भाषा की नकल की भाषा से अलग किया जाना चाहिए!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "नकल %(language)s के लिए plugins %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" -msgstr "" -"%(plugin_name)s स्थिति %(position)s में संपादित प्लगइन " -"(%(placeholder)s में " +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" +msgstr "%(plugin_name)s स्थिति %(position)s में संपादित प्लगइन (%(placeholder)s में " + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "कहाँ चला गया प्लगइन्स" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"%(plugin_name)s की स्थिति %(position)s में प्लगइन में %(placeholder)s" -" नष्ट किया गया." +"%(plugin_name)s की स्थिति %(position)s में प्लगइन में %(placeholder)s नष्ट किया " +"गया." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "पृष्ठ अनुमति" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "उपयोगकर्ता और समूह की अनुमति" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "पृष्ठ अनुमति प्रबंधन" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "आप इस पृष्ठ को बदलने की अनुमति नहीं है" + +#: admin/useradmin.py:25 msgid "User details" msgstr "प्रयोक्ता जानकारी" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "समूह" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "पासवर्ड" @@ -337,7 +449,7 @@ msgstr "Copy permissions" msgid "Copy moderation" msgstr "कॉपी मॉडरेशन" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "विरासत में निकटतम पूर्वज का खाका" @@ -357,27 +469,37 @@ msgstr "एक और जोड़ें" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "भाषा" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "पृष्ठ" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "स्थिति" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "निर्माण तिथि" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "स्थान" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin_name" @@ -402,15 +524,15 @@ msgstr "slug" msgid "everybody" msgstr "सब" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "संपादित कर सकते हैं" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "समूह" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "प्रकाशित कर सकते हैं" @@ -448,28 +570,28 @@ msgstr "लेखक" msgid "reverse url id" msgstr "रिवर्स url आईडी" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "लॉगिन आवश्यक" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "नरम जड़" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "प्रकाशन समाप्ति तिथि" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "टेम्पलेट" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "प्रकाशन तिथि" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "नेविगेशन में" @@ -479,7 +601,7 @@ msgstr "नेविगेशन में" msgid "application" msgstr "आवेदन" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "आईडी" @@ -516,26 +638,21 @@ msgstr "वंश पृष्ठ" msgid "Page and descendants" msgstr "पृष्ठ और वंश" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "पृष्ठ" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "उपयोगकर्ता" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "मध्यम पृष्ठ" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderate बच्चों" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderate वंश" @@ -543,191 +660,198 @@ msgstr "Moderate वंश" msgid "PageModerator" msgstr "PageModerator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "निर्मित" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "बदला" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "अनुरोध हटा दें" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "अनुरोध बदल दे" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "अनुरोध प्रकाशित." -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "अप्रकाशित अनुरोध." -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "अनुमोदित" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "पृष्ठ moderator state" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "पृष्ठ moderator states" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "अनुरोध. app." -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "मिटाना" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "द्वारा निर्मित" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "बदल द्वारा" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "जब पृष्ठ रह जाना चाहिए. दर्जा \\ \"प्रकाशन चाहिए \" पेज के लिए जीना जाओ." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "जब पृष्ठ समाप्त होने के लिए. खाली छोड़ना कभी नहीं समाप्त होने के लिए." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "सभी पूर्वजों नेविगेशन में प्रदर्शित नहीं किया जाएगा" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"एक अद्वितीय पहचानकर्ता है कि इस पृष्ठ पर जोड़ने के लिए page_url " -"templatetag के साथ प्रयोग किया जाता है" +"एक अद्वितीय पहचानकर्ता है कि इस पृष्ठ पर जोड़ने के लिए page_url templatetag के साथ " +"प्रयोग किया जाता है" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "प्रकाशित है" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "के लिए सामग्री प्रदान करते थे खाके." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "साइट पृष्ठ पर पहुँचा जा सकता है." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "साइट" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "मॉडरेटर state" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "पन्ने" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "पृष्ठ नकल की थी." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "default" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "जोड़ सकते हैं" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "नष्ट कर सकते हैं" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "उन्नत सेटिंग्स बदल सकते हैं" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "अनुमति को बदल सकते हैं" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "पृष्ठ स्तर पर" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "कर सकते हैं हिलना" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "मॉडरेट कर सकते हैं" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "पृष्ठों को ठीक कर सकते हैं" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "किसी भी नष्ट पृष्ठ की वसूली कर सकते हैं" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "अगर नहीं चुना, उपयोगकर्ता के सभी साइटों के लिए अनुमति दी गई अमीर." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "साइटें" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "पृष्ठ वैश्विक अनुमति" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "पेज वैश्विक अनुमति" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "अनुदान पर" @@ -735,28 +859,28 @@ msgstr "अनुदान पर" msgid "Page permission" msgstr "पृष्ठ अनुमति" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "उपयोगकर्ता (पृष्ठ)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "पृष्ठ (उपयोगकर्ता)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "उपयोगकर्ता समूह (पेज)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "उपयोगकर्ता समूहों (पृष्ठ)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "चौड़ाई" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -781,6 +905,10 @@ msgstr "फ़ाइल" msgid "file" msgstr "फ़ाइल" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "फ्लैश" @@ -794,9 +922,17 @@ msgstr "उपयोग swf फ़ाइल" msgid "height" msgstr "ऊँचाई" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "फ़्लैश प्लगइन ग़ैरहाज़िर." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"फ़्लैश प्लगइन गुम. यहाँ डाउनलोड करें" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -854,19 +990,19 @@ msgstr "मार्ग चौरस करने का औज़ार" msgid "Map" msgstr "मानचित्र" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "गणना मार्ग" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "वारिस पृष्ठ से प्लगइन्स" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "भाषा या पृष्ठ से भरा जाना चाहिए" @@ -875,8 +1011,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"एक पृष्ठ का चयन इस placeholder में अपनी plugins शामिल करने के लिए, " -"खाली वर्तमान पृष्ठ का चयन होगा" +"एक पृष्ठ का चयन इस placeholder में अपनी plugins शामिल करने के लिए, खाली वर्तमान पृष्ठ " +"का चयन होगा" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -894,7 +1030,7 @@ msgid "name" msgstr "नाम" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "जोड़ना" @@ -915,40 +1051,44 @@ msgstr "एक ईमेल पता एक पाठ लिंक पर प msgid "Picture" msgstr "चित्र" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "छोड़ा" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "सही" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "छवि" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "यदि वर्तमान छवि क्लिक करने योग्य हो जाएगा" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "वैकल्पिक पाठ" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "छवि का पाठ्य विवरण" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "लंबे विवरण" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "छवि का अतिरिक्त विवरण" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "पार्श्व" @@ -968,11 +1108,9 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"दर्ज करें एक टेम्पलेट (यानी. \"snippets/plugin_xy.html\"), जो प्रदान " -"किया जाएगा." +"दर्ज करें एक टेम्पलेट (यानी. \"snippets/plugin_xy.html\"), जो प्रदान किया जाएगा." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -991,6 +1129,7 @@ msgid "If present image will be clickable." msgstr "यदि वर्तमान छवि क्लिक करने योग्य हो जाएगा." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "अधिक" @@ -1008,51 +1147,52 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "कृपया एक प्लगइन प्रकार का चयन करें." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "संपादित करें प्लगइन का चयन" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "पाठ संपादक संपादन वस्तुओं का समर्थन नहीं करता." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "कोई चयनित वस्तु." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "पाठ संपादक वस्तुओं डालने का समर्थन नहीं करता." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "नहीं एक प्लगइन वस्तु" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "उपलब्ध प्लगइन्स" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "डालें प्लगइन" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "चहचहाना" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1074,9 +1214,7 @@ msgstr "लिंक संकेत" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." -msgstr "" -"अगर दी, इशारा आपके Twitter प्रोफ़ाइल की कड़ी के रूप में प्रदर्शित होता" -" है." +msgstr "अगर दी, इशारा आपके Twitter प्रोफ़ाइल की कड़ी के रूप में प्रदर्शित होता है." #: plugins/twitter/models.py:16 msgid "query" @@ -1089,6 +1227,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "लोड हो रहा है ..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "वीडियो" @@ -1110,12 +1273,13 @@ msgid "movie url" msgstr "फिल्म url" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"vimeo या YouTube वीडियो URL. उदाहरण: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo या YouTube वीडियो URL. उदाहरण: http://www.youtube.com/watch?v=YFa59lK-" +"kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1176,17 +1340,9 @@ msgstr "button over color" msgid "button highlight color" msgstr " button highlight color" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"फ़्लैश प्लगइन गुम. यहाँ " -"डाउनलोड करें" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "बचाना" @@ -1204,22 +1360,19 @@ msgid "Save and add another" msgstr "Save और दूसरा जोड़ें" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Save और संपादन जारी" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"(पृष्ठ) %(page)s आपके द्वारा approvement " -"आवश्यकता हो सकती है." +"(पृष्ठ) %(page)s आपके द्वारा approvement आवश्यकता " +"हो सकती है." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "पिछले परिवर्तन" @@ -1228,28 +1381,21 @@ msgstr "पिछले परिवर्तन" msgid "Log in to administration here." msgstr "प्रशासन में यहाँ प्रवेश करें." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "प्रयोक्ता नाम:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "पासवर्ड:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "एक पृष्ठ को बदलें" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1257,81 +1403,80 @@ msgstr "एक पृष्ठ को बदलें" msgid "Home" msgstr "घर" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "स्वीकृत पृष्ठ विलोपन" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "( %(moderation_level)s स्तर में approvement की आवश्यकता है)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(आप इस पेज पर कार्रवाई सीधे प्रदर्शन कर सकते हैं)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "हटाने के अनुरोध को हटाना" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "स्वीकृत हटाना" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "स्वीकृत" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "प्रारूप" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "पूर्वावलोकन" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "इतिहास" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "देखें साइट पर" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "सभी अनुमतियाँ" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "लोड हो रहा है ..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "पृष्ठ राज्यों" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"इस पृष्ठ स्तर%(moderation_level)s में संचालित होगा , मध्यस्थ के लिए एक" -" संदेश पोस्ट." +"इस पृष्ठ स्तर%(moderation_level)s में संचालित होगा , मध्यस्थ के लिए एक संदेश पोस्ट." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "अनुरोध approvemet" @@ -1339,41 +1484,41 @@ msgstr "अनुरोध approvemet" msgid "List of pages" msgstr "पृष्ठों की सूची" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "सफलतापूर्वक चला गया" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "एक त्रुटि हो गई. कृपया पृष्ठ पुनः लोड" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "ठीक नष्ट %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "%(name)s जोड़ें" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "पन्नों पर:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "फ़िल्टर करें:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr " on" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr " off" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "फ़िल्टर" @@ -1397,7 +1542,11 @@ msgstr "प्रारंभ करना" msgid "end" msgstr "अंत" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "पिछले परिवर्तन" @@ -1411,8 +1560,7 @@ msgid "edit this page" msgstr "इस पृष्ठ को संपादित करें" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "संपादित करें" @@ -1468,7 +1616,6 @@ msgid "add" msgstr "जोड़ना" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "सीधे स्वीकृत" @@ -1482,11 +1629,6 @@ msgstr "दृश्य" msgid "Unpublish" msgstr "अप्रकाशित" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "प्रकाशित" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "देखें पृष्ठ पर" @@ -1531,28 +1673,38 @@ msgstr "अनुमतियाँ बदल सकते हैं" msgid "Can move" msgstr "कर सकते हैं हिलना" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "कर सकते हैं हिलना" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(वैश्विक)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(वर्तमान)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "सब" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "पृष्ठ नहीं किसी अनुमति के वारिस." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "एक प्लगइन का एक पुराना संशोधन नहीं बचाया जा सकता है!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "प्लगइन सफलतापूर्वक बचाया." @@ -1587,7 +1739,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "प्लगइन जोड़ें" @@ -1611,126 +1762,62 @@ msgstr "प्लगइन नहीं चुना है. बाईं ओर msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "नहीं प्लगइन्स उपस्थित. इस placeholder-स्लॉट के लिए एक प्लगइन जोड़ें." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "%(name)s में ले जाएँ" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "क्या आप सुनिश्चित हैं कि आप इस प्लगइन का हटाना चाहते हैं?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "संपादित करें मोड" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "ऊपर" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "स्थिति" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "नीचे" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "उपयोगकर्ता नाम" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "लॉग इन" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "टेम्पलेट" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "चलना" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "स्थानांतरित / पेज जोड़ें" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "child जोड़ें" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "child पृष्ठ जोड़ें" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "sibling जोड़ें" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "sibling पृष्ठ जोड़ें" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "हटाएँ पृष्ठ" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "साइट प्रशासन" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "पेज सेटिंग्स" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "इतिहास" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "इतिहास देखें" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "लॉगआउट" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "ताला" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "बंद करना" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "ऊपर" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "नीचे" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "स्थिति" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "सेटिंग्स" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "हटाएँ प्लगइन" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "छुड़ाना पृष्ठ मॉडरेशन" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "छुड़ाना बच्चों मॉडरेशन" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "छुड़ाना वंश मॉडरेशन" @@ -1742,85 +1829,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "सीएमएस - आपके उपयोगकर्ता खाते में बनाया गया था." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "सीएमएस - आपके उपयोगकर्ता खाते में बदल गया था." #: utils/moderator.py:83 msgid "parent first" @@ -1835,16 +1855,32 @@ msgstr "अनुमोदन" msgid "CMS - Page %s requires approvement." msgstr "सीएमएस -%s पेज approvement की आवश्यकता है." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "सीएमएस - आपके उपयोगकर्ता खाते में बनाया गया था." +#~ msgid "Missing flash plugin." +#~ msgstr "फ़्लैश प्लगइन ग़ैरहाज़िर." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "सीएमएस - आपके उपयोगकर्ता खाते में बदल गया था." +#~ msgid "Move to %(name)s" +#~ msgstr "%(name)s में ले जाएँ" + +#~ msgid "move" +#~ msgstr "चलना" + +#~ msgid "add child" +#~ msgstr "child जोड़ें" + +#~ msgid "add sibling" +#~ msgstr "sibling जोड़ें" + +#~ msgid "history" +#~ msgstr "इतिहास" + +#~ msgid "Lock" +#~ msgstr "ताला" + +#~ msgid "Close" +#~ msgstr "बंद करना" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Settings" +#~ msgstr "सेटिंग्स" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "हटाएँ प्लगइन" diff --git a/cms/locale/hi/LC_MESSAGES/djangojs.mo b/cms/locale/hi/LC_MESSAGES/djangojs.mo index 933bca2f041..db12f127e2d 100644 Binary files a/cms/locale/hi/LC_MESSAGES/djangojs.mo and b/cms/locale/hi/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/hi/LC_MESSAGES/djangojs.po b/cms/locale/hi/LC_MESSAGES/djangojs.po index 01ddf33e95c..4c6c3bf06c0 100644 --- a/cms/locale/hi/LC_MESSAGES/djangojs.po +++ b/cms/locale/hi/LC_MESSAGES/djangojs.po @@ -1,42 +1,39 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" -"Language-Team: Hindi \n" +"Language-Team: Hindi (http://www.transifex.net/projects/p/django-cms/team/" +"hi/)\n" +"Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"पहले क्या आप सुनिश्चित हैं कि आप (% field_name) बदलना चाहते हैं पृष्ठ " -"बचाने के बिना है?" +"पहले क्या आप सुनिश्चित हैं कि आप (% field_name) बदलना चाहते हैं पृष्ठ बचाने के बिना है?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" -msgstr "" -"क्या आप सुनिश्चित हैं कि आप पृष्ठ टैब को बचाने के बिना परिवर्तन पहली " -"करना चाहते हैं?" +msgstr "क्या आप सुनिश्चित हैं कि आप पृष्ठ टैब को बचाने के बिना परिवर्तन पहली करना चाहते हैं?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "क्या आप सुनिश्चित हैं कि आप इस प्लगइन का हटाना चाहते हैं?" diff --git a/cms/locale/hu/LC_MESSAGES/django.mo b/cms/locale/hu/LC_MESSAGES/django.mo index d852f2b8546..6e262310add 100644 Binary files a/cms/locale/hu/LC_MESSAGES/django.mo and b/cms/locale/hu/LC_MESSAGES/django.mo differ diff --git a/cms/locale/hu/LC_MESSAGES/django.po b/cms/locale/hu/LC_MESSAGES/django.po index afa48ce5fc8..7bc7ded27b3 100644 --- a/cms/locale/hu/LC_MESSAGES/django.po +++ b/cms/locale/hu/LC_MESSAGES/django.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: Benjamin Wohlwend \n" "Language-Team: divio.ch \n" "MIME-Version: 1.0\n" @@ -20,300 +20,407 @@ msgstr "" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "" -#: admin/forms.py:131 -msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +#: admin/forms.py:138 +msgid "" +"Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "" -#: admin/forms.py:337 -msgid "Email notification requires valid email address." -msgstr "" - #: admin/forms.py:339 -msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +msgid "Email notification requires valid email address." msgstr "" #: admin/forms.py:341 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new pages requires the permission to change pages!" msgstr "" #: admin/forms.py:343 -msgid "To add permissions you also need to edit them!" +msgid "" +"The permission to add new users requires the permission to change users!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "" -#: admin/pageadmin.py:504 -msgid "higher" +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" msgstr "" -#: admin/pageadmin.py:676 -msgid "Database error" +#: admin/pageadmin.py:485 +msgid "higher" msgstr "" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" +#: admin/pageadmin.py:655 +msgid "Database error" msgstr "" -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" msgstr "" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" +msgstr "" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "" + +#: admin/useradmin.py:25 msgid "User details" msgstr "" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "" @@ -325,7 +432,7 @@ msgstr "" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +452,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "" @@ -390,15 +507,15 @@ msgstr "" msgid "everybody" msgstr "" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "" @@ -436,28 +553,28 @@ msgstr "" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +584,7 @@ msgstr "" msgid "application" msgstr "" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -504,26 +621,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +643,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -721,28 +840,28 @@ msgstr "" msgid "Page permission" msgstr "" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +886,10 @@ msgstr "" msgid "file" msgstr "" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "" @@ -780,8 +903,14 @@ msgstr "" msgid "height" msgstr "" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +969,19 @@ msgstr "" msgid "Map" msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "" @@ -878,7 +1007,7 @@ msgid "name" msgstr "" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "" @@ -899,40 +1028,44 @@ msgstr "" msgid "Picture" msgstr "" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1085,7 @@ msgstr "" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1105,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "" @@ -990,51 +1123,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1203,30 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "" @@ -1091,8 +1249,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: " +"http://www.youtube.com/watch?v=-iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1154,15 +1312,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "" @@ -1180,20 +1332,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "" @@ -1202,28 +1351,21 @@ msgstr "" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,79 +1373,79 @@ msgstr "" msgid "Home" msgstr "" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1311,41 +1453,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1369,7 +1511,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1383,8 +1529,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1440,7 +1585,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1454,11 +1598,6 @@ msgstr "" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1503,28 +1642,37 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1559,7 +1707,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "" @@ -1583,126 +1730,61 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1718,80 +1800,12 @@ msgid "" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" +#: utils/mail.py:38 +msgid "CMS - your user account was created." msgstr "" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." msgstr "" #: utils/moderator.py:83 @@ -1807,16 +1821,16 @@ msgstr "" msgid "CMS - Page %s requires approvement." msgstr "" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "" +#~ msgid "move" +#~ msgstr "move request" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "" +#~ msgid "sidebar column" +#~ msgstr "background color" #~ msgid "fgcolor" -#~ msgstr "" +#~ msgstr "foreground color" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgstr "Requested language has not been translated yet." + + diff --git a/cms/locale/hu/LC_MESSAGES/djangojs.mo b/cms/locale/hu/LC_MESSAGES/djangojs.mo index 172f0aa0f85..524ab16e6eb 100644 Binary files a/cms/locale/hu/LC_MESSAGES/djangojs.mo and b/cms/locale/hu/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/hu/LC_MESSAGES/djangojs.po b/cms/locale/hu/LC_MESSAGES/djangojs.po index bc205194cd0..87e7fee5ba9 100644 --- a/cms/locale/hu/LC_MESSAGES/djangojs.po +++ b/cms/locale/hu/LC_MESSAGES/djangojs.po @@ -1,14 +1,14 @@ # 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 , YEAR. # +# Translators: msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-09-10 19:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -17,22 +17,24 @@ msgstr "" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "" + + diff --git a/cms/locale/it/LC_MESSAGES/django.mo b/cms/locale/it/LC_MESSAGES/django.mo index e18116fb929..49020a6c2d1 100644 Binary files a/cms/locale/it/LC_MESSAGES/django.mo and b/cms/locale/it/LC_MESSAGES/django.mo differ diff --git a/cms/locale/it/LC_MESSAGES/django.po b/cms/locale/it/LC_MESSAGES/django.po index d0d6dd01587..4926686f226 100644 --- a/cms/locale/it/LC_MESSAGES/django.po +++ b/cms/locale/it/LC_MESSAGES/django.po @@ -1,370 +1,481 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" +"Last-Translator: maba \n" "Language-Team: divio.ch \n" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Modalità modifica" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Pubblica" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "Approvazione richiesta" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Logout" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Template" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Sposta/aggiungi pagine" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Aggiungi pagina figlio" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "aggiungi una pagina fratello" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "richiesta di eliminazione" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Pagina" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Amministrazione sito" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Impostazioni pagina" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Visualizza cronologia" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Opzioni avanzate" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Titolo" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Titolo predefinito" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" -msgstr "La parte del titolo che viene utilizzato nell' URL" +msgstr "La parte del titolo che viene utilizzata nell'URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Lingua" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." -msgstr "La lingua corrente dei campi contenuti." +msgstr "La lingua corrente dei campi contenuto." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" -msgstr "Un'altra pagina con questo slug esiste già" +msgstr "Esiste già un'altra pagina che utilizza questo slug" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" -msgstr "Menu Titolo" +msgstr "Titolo menu" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" -msgstr "Sovrascrivere ciò che viene visualizzato nel menu" +msgstr "Sovrascrive ciò che viene visualizzato nel menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Titolo pagina" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Sovrascrive quello che viene visualizzata nella parte superiore del " -"browser o in segnalibri" +"Sovrascrive ciò che viene visualizzato nella parte superiore del browser o " +"nei Preferiti" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Applicazione" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." -msgstr "Aggancia applicazione a questa pagina." +msgstr "Aggancia l'applicazione a questa pagina." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" -msgstr "Sovrascrivere URL" +msgstr "Sovrascrive l'URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." -msgstr "" -"Mantenere questo campo vuoto se il percorso standard dovrebbe essere " -"usato." +msgstr "Lascia questo campo vuoto per utilizzare il percorso standard." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Redirect" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Reindirizza a questo URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." -msgstr "Una descrizione della pagina talvolta usata dai motori di ricerca." +msgstr "Una descrizione della pagina, talvolta usata dai motori di ricerca." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Una lista di parole chiave separate da virgola talvolta usata dai " -"motori di ricerca." +"Una lista di parole chiave separate da virgola, talvolta usata dai motori di " +"ricerca." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." -msgstr "Una pagina con questo id URL inverso esiste già." +msgstr "Una pagina con questo id URL esiste già." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." -msgstr "URL non valido, utilizza il formato /mia/url." +msgstr "URL non valido, utilizza il formato /my/url." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Esiste già un'altra pagina che utilizza questo slug" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "utente" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Il permesso \"Aggiungere pagina\" richiede anche l'accesso ai figli o " -"discendenti, altrimenti la pagina aggiunta non può essere cambiata dal" -" suo creatore." +"Il permesso \"Aggiungi pagina\" richiede anche l'accesso ai figli o " +"discendenti, altrimenti la pagina aggiunta non potrà essere cambiata dal suo " +"creatore." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"Il permesso \"Aggiungere pagina\" richiede anche il permesso \"Modificare" -" pagina\"." +"Il permesso \"Aggiungi pagina\" richiede anche il permesso \"Modificare " +"pagina\"." + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "vedi" -#: admin/forms.py:245 +#: admin/forms.py:260 msgid "Please select user or group first." -msgstr "Si prega di selezionare un utente o un gruppo." +msgstr "Sei pregato di selezionare un utente o un gruppo." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" -msgstr "Aggiungere" +msgstr "Aggiungi" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" -msgstr "Cambiare" +msgstr "Cambia" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" -msgstr "Eliminare" +msgstr "Elimina" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" -msgstr "Recuperare (qualsiasi) pagina" +msgstr "Recupera (qualsiasi) pagina" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" -msgstr "Notifica l'utente" +msgstr "Notifica utente" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Inviare email di notifica all'utente per il cambio del nome utente o della \n" +"Invia all'utente una email di notifica per il cambio del nome utente o " +"della \n" "password. Richiede l'email dell'utente." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nuova password" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" -msgstr "Conferma Nuova password" +msgstr "Conferma nuova password" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." -msgstr "E-mail di notifica richiede un indirizzo e-mail valido." +msgstr "La funziona di notifica email richieda un indirizzo email valido." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"Il permesso di aggiungere nuove pagine richiede l'autorizzazione a " +"Il permesso per aggiungere nuove pagine richiede l'autorizzazione a " "modificare le pagine!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Il permesso di aggiungere nuovi utenti richiede l'autorizzazione a " +"Il permesso per aggiungere nuovi utenti richiede l'autorizzazione a " "modificare gli utenti!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" -msgstr "" -"Per aggiungere le autorizzazioni è necessario anche poterle " -"modificare!" - -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Nascosto" +msgstr "Per aggiungere le autorizzazioni è necessario poterle modificare!" -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" -msgstr "Impostazioni di base" +msgstr "Impostazioni base" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Nota: Questa pagina viene ricaricata se si cambia la selezione. " -"Salvare la pagina prima." +"Nota: questa pagina viene ricaricata se viene cambiata la selezione. Salva " +"la pagina prima." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Nascosto" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Impostazioni avanzate" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Impostazioni SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "superiore" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Errore del database" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "pagina" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "La pagina è stata approvata con successo." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." -msgstr "%(name)s oggetto con chiave primaria %(key)r non esiste." +msgstr "L'oggetto %(name)s con chiave primaria %(key)r non esiste." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Esiste solo una traduzione per questa pagina" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Il titolo e i plugin con lingua %(language)s sono stati eliminati" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Sei sicuro?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" -msgstr "Non hai il permesso di pubblicare questa pagina" +msgstr "Non hai il permesso per pubblicare questa pagina" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -"Non si dispone dell'autorizzazione per modificare lo status di " -"in_navigation per questa pagina" +"Non disponi dell'autorizzazione per modificare lo status di in_navigation " +"per questa pagina" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" -msgstr "Non si dispone dell'autorizzazione per modificare questa pagina" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" -msgstr "La lingua deve essere selezionata tra lingue supportate!" +msgstr "La lingua deve essere scelta tra le lingue supportate!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" -msgstr "%(plugin_name)s plugin aggiunto a %(placeholder)s " +msgstr "Plugin %(plugin_name)s aggiunto a %(placeholder)s " -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" -msgstr "" -"La lingua scelta deve essere differente dalla lingua della pagina " -"copiata!" +msgstr "La lingua deve essere diversa da quella duplicata!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" -msgstr "" +msgstr "Plugin %(language)s copiato in %(placeholder)s" + +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"%(plugin_name)s plugin modificato alla posizione %(position)s in " +"Il plugin %(plugin_name)s è stato modificato nella posizione %(position)s in " "%(placeholder)s " -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" -msgstr "I plugins sono stati spostati" +msgstr "I plugin sono stati spostati" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"%(plugin_name)s plugin alla posizione %(position)s in %(placeholder)s " -"è stato eliminato." +"Il plugin %(plugin_name)s nella posizione %(position)s in %(placeholder)s è " +"stato eliminato." + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Pagina autorizzazioni" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" -msgstr "Autorizzazioni Utenti e Gruppi" +msgstr "Autorizzazioni utenti e gruppi" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Pagina di gestione delle autorizzazioni" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Non disponi dell'autorizzazione per modificare questa pagina" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Dettagli utente" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Gruppi" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Password" #: admin/dialog/forms.py:9 msgid "Copy permissions" -msgstr "Copia delle autorizzazioni" +msgstr "Copia le autorizzazioni" #: admin/dialog/forms.py:16 msgid "Copy moderation" msgstr "Copia moderazione" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" -msgstr "Ereditano il modello dell'antenato più vicino" +msgstr "Eredita il modello dell'antenato più vicino" #: forms/fields.py:19 msgid "Select a valid site" -msgstr "" +msgstr "Seleziona un sito valido" #: forms/fields.py:20 msgid "Select a valid page" -msgstr "" +msgstr "Seleziona una pagina valida" #: forms/widgets.py:173 msgid "Add Another" @@ -374,29 +485,39 @@ msgstr "Aggiungi un altro" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "lingua" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "pagina" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "posizione" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "data di creazione" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "slot" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" -msgstr "nome_plugin" +msgstr "nome plugin" #: migrations/0001_initial.py:25 migrations/0011_title_overwrites.py:12 #: migrations/0011_title_overwrites.py:15 models/titlemodels.py:11 @@ -419,15 +540,15 @@ msgstr "slug" msgid "everybody" msgstr "tutti" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "può modificare" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "gruppo" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "può pubblicare" @@ -451,11 +572,11 @@ msgstr "estensori di navigazione" #: migrations/0001_initial.py:54 migrations/0006_apphook.py:12 #: migrations/0006_apphook.py:46 models/titlemodels.py:15 msgid "has url overwrite" -msgstr "può sovrascrivere URL" +msgstr "può sovrascrivere l'URL" #: migrations/0001_initial.py:55 migrations/0006_apphook.py:49 msgid "url overwrite" -msgstr "sovrascrivere URL " +msgstr "sovrascrive l'URL " #: migrations/0001_initial.py:57 msgid "author" @@ -465,28 +586,28 @@ msgstr "autore" msgid "reverse url id" msgstr "id url inverso" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "è richiesto il login" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "soft root" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "data fine pubblicazione" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "template" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "data di pubblicazione" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "in navigazione" @@ -496,7 +617,7 @@ msgstr "in navigazione" msgid "application" msgstr "applicazione" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -519,11 +640,11 @@ msgstr "Pagina corrente" #: models/moderatormodels.py:26 msgid "Page children (immediate)" -msgstr "Pagina figlia (immediato)" +msgstr "Pagina figlio (immediato)" #: models/moderatormodels.py:27 msgid "Page and children (immediate)" -msgstr "Pagina e figli (immediato)" +msgstr "Pagina e figli (immediati)" #: models/moderatormodels.py:28 msgid "Page descendants" @@ -533,26 +654,21 @@ msgstr "Pagina discendente" msgid "Page and descendants" msgstr "Pagina e discendenti" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Pagina" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Utente" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Modera pagina" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Modera figli" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Modera discendenti" @@ -560,228 +676,232 @@ msgstr "Modera discendenti" msgid "PageModerator" msgstr "Moderatore" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "creato" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" -msgstr "cambiato" +msgstr "modificato" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." -msgstr "rich. eliminazione" +msgstr "richiesta di eliminazione" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." -msgstr "rich. spostamento" +msgstr "richiesta di spostamento" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." -msgstr "rich. pubblicazione" +msgstr "richiesta di pubblicazione" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." -msgstr "rich. sospensione" +msgstr "richiesta di sospensione" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "approvato" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" -msgstr "stato del moderatore" +msgstr "stato di moderazione" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" -msgstr "stati del moderatore" +msgstr "stati di moderazione" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." -msgstr "rich. app." +msgstr "richiesta di approvazione" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" -msgstr "eliminare" +msgstr "elimina" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" -msgstr "" +msgstr "solo per utenti che hanno eseguito il login" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" -msgstr "" +msgstr "solo per utenti anonimi" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "creato da" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" -msgstr "cambiato da" +msgstr "modificato da" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Quando la pagina dovrebbe andare online. Lo stato deve essere \\ " -"\"Pubblicato \" per la pagina per essere online." +"Quando la pagina dovrebbe andare online. Lo stato della pagina deve essere " +"\\ \"Pubblicato \" per far si che la pagina possa andare online." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." -msgstr "Quando scade la pagina. Lasciare vuoto per non farla mai scadere." +msgstr "Quando far scadere la pagina. Lascia vuoto per non farla mai scadere." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -"Tutti gli antenati non verranno visualizzati nella barra di " -"navigazione" +"Tutti gli antenati non verranno visualizzati nella barra di navigazione" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Un identificativo univoco, che viene utilizzato con il templatetag " -"page_url per riferirsi a questa pagina" +"Un identificativo univoco che viene utilizzato con il templatetag page_url " +"per riferirsi a questa pagina" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" -msgstr "" +msgstr "menu allegato" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "è pubblicato" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." -msgstr "Il modello utilizzato per il rendering del contenuto." +msgstr "Il template utilizzato per il rendering del contenuto." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." -msgstr "Il sito a cui la pagina è accessibile." +msgstr "Il sito da cui la pagina è accessibile." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "sito" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "stato del moderatore" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" -msgstr "" +msgstr "visibilità menu" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" -msgstr "" +msgstr "limita visibilità della pagina nel menu" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "pagine" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "La pagina è stata copiata." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "predefinito" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "può aggiungere" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "può eliminare" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "può modificare le impostazioni avanzate" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "può cambiare i permessi" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "il livello di pagina" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" -msgstr "può muovere" +msgstr "può spostare" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "può moderare" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "può recuperare le pagine" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "può recuperare qualsiasi pagina cancellata" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." -msgstr "" -"Se nessuno selezionato, l'utente ha concesse le autorizzazioni per " -"tutti i siti." +msgstr "Se non selezionato, l'utente ha i permessi estesi a tutti i siti." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "siti" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Permesso globale per la pagina" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Permessi globali per le pagine" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" -msgstr "Grant su" +msgstr "Concesso su" #: models/permissionmodels.py:74 msgid "Page permission" msgstr "Permesso della pagina" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Utente (pagina)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Utenti (pagina)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" -msgstr "Gruppo di Utenti (pagina)" +msgstr "Gruppo utenti (pagina)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" -msgstr "Gruppi di Utenti (pagina)" +msgstr "Gruppi utenti (pagina)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" -msgstr "ampiezza" +msgstr "larghezza" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" -msgstr "" +msgstr "" #: models/titlemodels.py:12 msgid "overwrite the title in the menu" @@ -793,7 +913,7 @@ msgstr "Percorso" #: models/titlemodels.py:20 msgid "overwrite the title (html title tag)" -msgstr "sovrascrivere il titolo (tag title)" +msgstr "sovrascrivere il titolo (tag html title)" #: plugins/file/cms_plugins.py:9 msgid "File" @@ -804,22 +924,35 @@ msgstr "File" msgid "file" msgstr "file" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" #: plugins/flash/models.py:8 msgid "use swf file" -msgstr "l'uso del file swf" +msgstr "usa il file swf" #: plugins/flash/models.py:10 plugins/flash/migrations/0001_initial.py:19 #: plugins/video/models.py:14 msgid "height" msgstr "altezza" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Il plugin Flash non è installato." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Plugin Flash mancante. Scaricalo da qui" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -856,8 +989,7 @@ msgstr "latitudine" #: plugins/googlemap/models.py:19 msgid "Use latitude & longitude to fine tune the map possiton." msgstr "" -"Usa latitudine e longitudine per perfezionare la posizione della " -"mappa." +"Usa latitudine e longitudine per perfezionare la posizione sulla mappa." #: plugins/googlemap/models.py:20 msgid "longitude" @@ -869,7 +1001,7 @@ msgstr "titolo del route planer" #: plugins/googlemap/models.py:22 msgid "Calculate your fastest way to here" -msgstr "Calcola il tuo percorso più veloce fino a qui" +msgstr "Calcola il percorso più veloce fino a qui" #: plugins/googlemap/models.py:23 msgid "route planer" @@ -879,33 +1011,33 @@ msgstr "route planer" msgid "Map" msgstr "Mappa" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " -msgstr "" +msgstr "Il tuo indirizzo:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" -msgstr "Calcolare il percorso" +msgstr "Calcola il percorso" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" -msgstr "Eredita Plugins dalla Pagina" +msgstr "Eredita i plugin dalla pagina" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" -msgstr "La Lingua o la Pagina deve essere compilata" +msgstr "La lingua o la pagina devono essere compilate" #: plugins/inherit/models.py:10 msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Scegli una pagina da cui includere i plugin in questo segnaposto, " -"vuota sceglierà la pagina corrente" +"Scegli una pagina in cui includere i suoi plugin in questo segnaposto, se " +"vuoto verrà scelta la pagina corrente" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" -msgstr "Opzionale: il linguaggio dei plugins che si desidera" +msgstr "Opzionale: la lingua dei plugin che desideri" #: plugins/link/cms_plugins.py:12 msgid "Link" @@ -919,14 +1051,14 @@ msgid "name" msgstr "nome" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "link" #: plugins/link/models.py:12 msgid "A link to a page has priority over a text link." -msgstr "Un link ad una pagina ha priorità rispetto ad un link testuale." +msgstr "Un link a una pagina ha priorità rispetto a un link testuale." #: plugins/link/models.py:13 msgid "mailto" @@ -934,58 +1066,62 @@ msgstr "mailto" #: plugins/link/models.py:13 msgid "An email adress has priority over a text link." -msgstr "An indirizzo email ha priorità rispetto ad un link testuale." +msgstr "Un indirizzo email ha priorità rispetto a un link testuale." #: plugins/picture/cms_plugins.py:9 msgid "Picture" msgstr "Immagine" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "sinistra" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "destra" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "immagine" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "se presente, l’immagine sarà cliccabile" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "testo alternativo" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "descrizione testuale dell’immagine" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "descrizione estesa" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "descrizione aggiuntiva dell’immagine" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "lato" #: plugins/snippet/cms_plugins.py:12 plugins/snippet/models.py:24 #: plugins/snippet/models.py:32 msgid "Snippet" -msgstr "Frammento" +msgstr "Snippet" #: plugins/snippet/cms_plugins.py:30 #, python-format msgid "Template %(template)s does not exist." -msgstr "Il modello %(template)s non esiste." +msgstr "Il template %(template)s non esiste." #: plugins/snippet/models.py:13 plugins/snippet/migrations/0001_initial.py:18 msgid "HTML" @@ -993,11 +1129,10 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Inserire un modello (i.e. \"snippets/plugin_xy.html\") che sarà " -"interpretato. " +"Inserire il template (es. \"snippets/plugin_xy.html\") che verrà " +"visualizzato. " #: plugins/snippet/models.py:25 msgid "Snippets" @@ -1016,6 +1151,7 @@ msgid "If present image will be clickable." msgstr "Se presente, l’immagine sarà cliccabile." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "approfondisci" @@ -1029,57 +1165,58 @@ msgstr "corpo" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:30 msgid "Plugins" -msgstr "Plugins" +msgstr "Plugin" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." -msgstr "Selezionare un tipo di plugin." +msgstr "Seleziona un tipo plugin." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" -msgstr "Modifica plugin selezionato" +msgstr "Modifica il plugin selezionato" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "L’editor di testo non supporta la modifica di oggetti." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Nessun oggetto selezionato." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "L'editor di testo non supporta l'inserimento di oggetti." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" -msgstr "Non un plugin" +msgstr "Non è un plugin" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Plugin disponibili" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" -msgstr "Inserisci plugin" +msgstr "Inserisci un plugin" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" -msgstr "" +msgstr "Ricerca Twitter" #: plugins/twitter/models.py:7 msgid "twitter user" @@ -1087,25 +1224,25 @@ msgstr "utente twitter" #: plugins/twitter/models.py:8 plugins/twitter/models.py:17 msgid "count" -msgstr "" +msgstr "conta" #: plugins/twitter/models.py:8 plugins/twitter/models.py:17 msgid "Number of entries to display" -msgstr "Numero di elementi da mostrare" +msgstr "Numero di elementi da visualizzare" #: plugins/twitter/models.py:9 msgid "link hint" -msgstr "" +msgstr "link suggerimento" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Se dato, il suggerimento viene visualizzato come collegamento verso il" -" tuo profilo Twitter." +"Se presente, il suggerimento viene visualizzato come collegamento verso il " +"tuo profilo Twitter." #: plugins/twitter/models.py:16 msgid "query" -msgstr "" +msgstr "query" #: plugins/twitter/models.py:16 msgid "" @@ -1113,6 +1250,34 @@ msgid "" "from the user \"umbrella\" to the user \"nemesis\" that contain the words " "\"brains\" and \"zombies\"" msgstr "" +"Esempio: \"cervelli AND zombie AND from:ombrello AND to:nemici\": tweet " +"dall'utente \"ombrello\" all'utente \"nemici\" contenente le parole " +"\"cervelli\" e \"zombie\"" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Caricamento in corso..." #: plugins/video/cms_plugins.py:10 msgid "Video" @@ -1124,23 +1289,24 @@ msgstr "Impostazioni colore" #: plugins/video/models.py:9 msgid "movie file" -msgstr "file video" +msgstr "richiesta di spostamento" #: plugins/video/models.py:9 msgid "use .flv file or h264 encoded video file" -msgstr "Usa file video codificato .flv o h264" +msgstr "Usa file un file video .flv o codificato h264" #: plugins/video/models.py:10 msgid "movie url" -msgstr "indirizzo video" +msgstr "richiesta di modifica" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"indirizzo video vimeo o youtube. Esempio: " -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"Indirizzo del video su vimeo o youtube. Esempio: http://www.youtube.com/" +"watch?v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1160,7 +1326,7 @@ msgstr "schermo intero" #: plugins/video/models.py:19 msgid "loop" -msgstr "" +msgstr "ciclo" #: plugins/video/models.py:22 msgid "background color" @@ -1179,39 +1345,31 @@ msgstr "colore testo" #: plugins/video/models.py:24 msgid "seekbar color" -msgstr "colore barra di avanzamento" +msgstr "colore barra avanzamento" #: plugins/video/models.py:25 msgid "seekbar bg color" -msgstr "colore sfondo barra di avanzamento" +msgstr "colore sfondo barra avanzamento" #: plugins/video/models.py:26 msgid "loadingbar color" -msgstr "" +msgstr "colore della barra di loading" #: plugins/video/models.py:27 msgid "button out color" -msgstr "" +msgstr "colore pulsante out" #: plugins/video/models.py:28 msgid "button over color" -msgstr "" +msgstr "colore pulsante over" #: plugins/video/models.py:29 msgid "button highlight color" -msgstr "" - -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Plugin flash mancante. Scaricare qui" +msgstr "colore pulsante highlight" #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Salva" @@ -1229,20 +1387,19 @@ msgid "Save and add another" msgstr "Salva e aggiungi un altro" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Salva e continua le modifiche" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" +"La pagina %(page)s può richiedere la tua " +"approvazione." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Ultime modifiche" @@ -1250,31 +1407,23 @@ msgstr "Ultime modifiche" #, python-format msgid "Log in to administration here." msgstr "" -"Accedi alla pagina d'amministrazione da qui." - -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" +"Accedi alla pagina d'amministrazione da qui." #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Nome utente:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Password:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Modifica una pagina" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1282,121 +1431,123 @@ msgstr "Modifica una pagina" msgid "Home" msgstr "Home" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Approva eliminazione pagina" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(richiede approvazione al livello %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(puoi effettuare direttamente operazioni su questa pagina)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Rimuovi richiesta di eliminazione" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Approva eliminazione" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Approva" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "bozza" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Anteprima" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Cronologia" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Vedi sul sito" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Per favore correggi l'errore sottostante." -msgstr[1] "Per favore correggi gli errori sottostanti" +msgstr[1] "Per favore correggi gli errori sottostanti." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Tutti i permessi" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Caricamento in corso..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" -msgstr "" +msgstr "Stati pagina" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" +"Questa pagina deve essere moderata al livello %(moderation_level)s, manda un " +"messaggio al moderatore." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Richiedi approvazione" #: templates/admin/cms/page/change_list.html:3 msgid "List of pages" -msgstr "Lista pagina" +msgstr "Elenco pagine" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Spostato con successo" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" -msgstr "Si è verificato un errore. Si prega di ricaricare la pagina" +msgstr "Si è verificato un errore. Sei pregato di ricaricare la pagina" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Recupera %(name)s eliminato" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Aggiungi %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" -msgstr "" +msgstr "Pagina su:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtro:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "on" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "off" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtro" @@ -1420,7 +1571,11 @@ msgstr "inizio" msgid "end" msgstr "fine" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "ultime modifiche" @@ -1434,8 +1589,7 @@ msgid "edit this page" msgstr "modifica questa pagina" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "modifica" @@ -1453,11 +1607,11 @@ msgstr "inserisci all'interno" #: templates/admin/cms/page/menu_item.html:23 msgid "softroot" -msgstr "" +msgstr "softroot" #: templates/admin/cms/page/menu_item.html:23 msgid "home" -msgstr "Home" +msgstr "home" #: templates/admin/cms/page/menu_item.html:26 #, python-format @@ -1491,7 +1645,6 @@ msgid "add" msgstr "aggiungi" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Approva direttamente" @@ -1505,14 +1658,9 @@ msgstr "vedi" msgid "Unpublish" msgstr "Sospendi la pubblicazione" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Pubblica" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" -msgstr "Vedi sulla pagina" +msgstr "Visualizza sulla pagina" #: templates/admin/cms/page/moderation_messages.html:4 msgid "Action" @@ -1554,28 +1702,38 @@ msgstr "Può cambiare i permessi" msgid "Can move" msgstr "Può spostare" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Può spostare" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(globale)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(corrente)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Tutti" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "La pagina non eredita permessi." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Una versione precedente di un plugin non può essere salvata!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Plugin salvato con successo." @@ -1598,8 +1756,8 @@ msgstr "Ripristina %(verbose_name)s" #: templates/admin/cms/page/revision_form.html:24 msgid "Press the save button below to revert to this version of the object." msgstr "" -"Premi il pulsante salva qui sotto per ripristinare questa versione " -"dell'oggetto" +"Premi il pulsante 'salva' sottostante per ripristinare questa versione " +"dell'oggetto." #: templates/admin/cms/page/dialog/copy.html:4 msgid "Copy options" @@ -1611,10 +1769,9 @@ msgstr "Seleziona opzioni di copia" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:7 msgid "Generic" -msgstr "" +msgstr "Generico" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Aggiungi plugin" @@ -1624,7 +1781,7 @@ msgstr "Dalla lingua" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:25 msgid "Copy Plugins" -msgstr "Copia Plugins" +msgstr "Copia plugin" #: templates/admin/cms/page/widgets/plugin_editor.html:12 msgid "You must save the page first to add plugins." @@ -1636,242 +1793,196 @@ msgstr "Nessun plugin selezionato. Seleziona un plugin sulla sinistra" #: templates/admin/cms/page/widgets/plugin_editor.html:17 msgid "No Plugins present. Add a plugin to this placeholder-slot." -msgstr "" +msgstr "Non è presente un plugin. Aggiungi un plugin in questo placeholder." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" -msgstr "" +msgstr "Plugin disponibili" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Muovi verso %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Sei sicuro di voler eliminare questo plugin?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Modalità di modifca" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "su" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Stato" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "giù" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Nome utente" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "login" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Modello" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "muovi" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Muovi/aggiungi pagina" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "aggiungi figlio" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Aggiungi pagina figlio" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Stato" -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Elimina pagina" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Amministrazione sito" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Impostazioni pagina" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "cronologia" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Visualizza cronologia" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Logout" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Blocca" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Chiudi" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "su" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "giù" - -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Impostazioni" - -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Elimina plugin" - -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" -msgstr "" +msgstr "Slega moderazione pagina" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" -msgstr "" +msgstr "Slega moderazione figli" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" -msgstr "" +msgstr "Slega moderazione discendenti" #: templatetags/cms_tags.py:78 #, python-format msgid "Page not found on %(domain)s" -msgstr "" +msgstr "Pagina non trovata su %(domain)s" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" +"Un template tag non può trovare la pagina con argomenti di lookup `" +"%(page_lookup)s `. \n" +"L'URL della richiesta era: http://%(host)s%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - Il tuo account utente è stato creato." -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - Il tuo account utente è stato modificato." -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" +#: utils/moderator.py:83 +msgid "parent first" +msgstr "prima il genitore" -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" +#: utils/moderator.py:90 +msgid "approve" +msgstr "approva" -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - La pagina %s richiede l'approvazione." -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" +#~ msgid "Missing flash plugin." +#~ msgstr "Il plugin Flash non è installato." -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" +#~ msgid "Login url: %(login_url)s" +#~ msgstr "URL login: %(login_url)s" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" +#~ msgid "Move to %(name)s" +#~ msgstr "Muovi verso %(name)s" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" +#~ msgid "move" +#~ msgstr "richiesta di spostamento" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" +#~ msgid "add child" +#~ msgstr "aggiungi figlio" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" +#~ msgid "add sibling" +#~ msgstr "aggiungi fratello" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" +#~ msgid "history" +#~ msgstr "cronologia" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" +#~ msgid "Lock" +#~ msgstr "Blocca" -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" +#~ msgid "Close" +#~ msgstr "Chiudi" -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" +#~ msgid "Settings" +#~ msgstr "Impostazioni" -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "Elimina plugin" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" +#~ msgid "English" +#~ msgstr "Inglese" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#~ msgid "French" +#~ msgstr "Francese" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#~ msgid "German" +#~ msgstr "Tedesco" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "genitore prima" +#~ msgid "Brazil" +#~ msgstr "Brasiliano" -#: utils/moderator.py:90 -msgid "approve" -msgstr "approva" +#~ msgid "Dutch" +#~ msgstr "Olandese" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - La pagina %s richiede l'approvazione" +#~ msgid "two columns" +#~ msgstr "due colonne" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - il tuo account utente è stato creato" +#~ msgid "three columns" +#~ msgstr "tre colonne" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - il tuo account utente è stato modificato" +#~ msgid "navigation examples" +#~ msgstr "Esempio navigazione" + +#~ msgid "sidebar column" +#~ msgstr "colore di sfondo" + +#~ msgid "left column" +#~ msgstr "colonna a sinistra" + +#~ msgid "right column" +#~ msgstr "colonna a destra" + +#~ msgid "Articles" +#~ msgstr "Articoli" + +#~ msgid "Sample App" +#~ msgstr "App d'esempio" + +#~ msgid "sample root page" +#~ msgstr "Pagina root d'esempio" + +#~ msgid "sample settings page" +#~ msgstr "Pagina impostazioni d'esempio" + +#~ msgid "sample account page" +#~ msgstr "Pagina account d'esempio" + +#~ msgid "sample my profile page" +#~ msgstr "Pagina profilo d'esempio" + +#~ msgid "Static Menu" +#~ msgstr "Menu statico" + +#~ msgid "Static Menu2" +#~ msgstr "Menu2 statico" #~ msgid "fgcolor" -#~ msgstr "" +#~ msgstr "colore primo piano" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgstr "La lingua richiesta non è ancora stata tradotta." diff --git a/cms/locale/it/LC_MESSAGES/djangojs.mo b/cms/locale/it/LC_MESSAGES/djangojs.mo index e09411514d8..29d7fc7a2e2 100644 Binary files a/cms/locale/it/LC_MESSAGES/djangojs.mo and b/cms/locale/it/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/it/LC_MESSAGES/djangojs.po b/cms/locale/it/LC_MESSAGES/djangojs.po index fd0c1d2c1aa..0bf75aea46a 100644 --- a/cms/locale/it/LC_MESSAGES/djangojs.po +++ b/cms/locale/it/LC_MESSAGES/djangojs.po @@ -1,42 +1,43 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: maba \n" "Language-Team: LANGUAGE \n" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Sei sicuro di voler modificare il campo %(field_name)s senza salvare " -"prima la pagina?" +"Sei sicuro di voler modificare il campo %(field_name)s senza salvare prima " +"la pagina?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" +"Non tutti i plugin sono stati salvati. Sei sicuro di voler salvare la " +"pagina?\n" +"Verrà tentato il salvataggio del contenuto dei plugin non salvati." -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Sei sicuro di voler modificare le schede senza salvare prima la " -"pagina?" +"Sei sicuro di voler modificare le schede senza salvare prima la pagina?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Sei sicuro di voler eliminare questo plugin?" diff --git a/cms/locale/ja/LC_MESSAGES/django.mo b/cms/locale/ja/LC_MESSAGES/django.mo index 3f8857fe6f0..4ab2236610a 100644 Binary files a/cms/locale/ja/LC_MESSAGES/django.mo and b/cms/locale/ja/LC_MESSAGES/django.mo differ diff --git a/cms/locale/ja/LC_MESSAGES/django.po b/cms/locale/ja/LC_MESSAGES/django.po index 7523185f3a4..a2d2e7eca4f 100644 --- a/cms/locale/ja/LC_MESSAGES/django.po +++ b/cms/locale/ja/LC_MESSAGES/django.po @@ -1,319 +1,439 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "編集モード" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "ログアウト" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "テンプレート" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "子ページを追加" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "ページを削除して" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "ページ" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "サイト管理" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "ページ設定" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "詳細設定" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "タイトル" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "デフォルトタイトル" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "スラグ" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "URLに使うタイトルの一部" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "言語" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "現在のコンテンツの言語" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "このスラグを使っているページが存在します。" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "メニュータイトル" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "メニューに表示されているテキストを上書きします。" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "ページタイトル" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" -msgstr "ブラウザのタイトルやブックマークに表示されているタイトルを上書きします。" +msgstr "" +"ブラウザのタイトルやブックマークに表示されているタイトルを上書きします。" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "アプリケーション" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "このページとアプリケーションを関連付ける。" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "URLを上書き" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "標準のパスを使う場合は、このフィールドを空のままにしてください。" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "リダイレクト" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "このURLにリダイレクトします。" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "検索エンジンが使うメモ" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "検索エンジンが使う、カンマ区切りのキーワード" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "この逆URLを持っているページが存在します。" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "無効なURLです。 /my/url のように入力してください。" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "このスラグを使っているページが存在します。" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "ユーザ" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "ページの権限を設定するには、子ページのアクセス権限も必要です。" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "ページ追加権限は編集権限も必要です。" -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "見る" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "ユーザかグループを選択してください。" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "追加" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "変更" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "変更" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "ページを復元" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "ユーザに通知" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." -msgstr "パスワードや、ユーザ名が変更された時に、ユーザに通知メールを送信する。ユーザメールが必要です。" +"Send email notification to user about username or password change. Requires " +"user email." +msgstr "" +"パスワードや、ユーザ名が変更された時に、ユーザに通知メールを送信する。ユーザ" +"メールが必要です。" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "新しいパスワード" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "パスワード入力確認" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "メール通知はメールアドレスが必要です。" -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "新しいページの権限はページ変更の権限が必要です。" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "新しいユーザの権限はページ変更の権限が必要です。" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "非表示" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "基本設定" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "非表示" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "詳細設定" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "SEO設定" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "このページを変更する権限がありません。" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "データベースエラー" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "ページ" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "ページを承認しました。" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." -msgstr "プライマリキー %(key)r を持って「%(name)s」というオブジェクトが存在しません。" +msgstr "" +"プライマリキー %(key)r を持って「%(name)s」というオブジェクトが存在しません。" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "このページは一つの翻訳しかありません。" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "続けてもよろしいですか?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "このページを発表する権限がありません。" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "メニューステータスを変更する権限がありません。" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "このページを変更する権限がありません。" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "このページを変更する権限がありません。" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "このページを変更する権限がありません。" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "このページを変更する権限がありません。" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "このページを変更する権限がありません。" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "このページを変更する権限がありません。" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "このページを変更する権限がありません。" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "ページ権限" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "ユーザとグループ権限" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "ページ権限管理" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "このページを変更する権限がありません。" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "このページを変更する権限がありません。" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "このページを変更する権限がありません。" + +#: admin/useradmin.py:25 msgid "User details" msgstr "ユーザ詳細" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "グループ" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "パスワード" @@ -325,7 +445,7 @@ msgstr "コピー権限" msgid "Copy moderation" msgstr "" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "" @@ -345,27 +465,37 @@ msgstr "" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "言語" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "ページ" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "位置" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "作成日" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "スロット" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "プラグイン名" @@ -390,15 +520,15 @@ msgstr "スラグ" msgid "everybody" msgstr "全員" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "編集可能" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "グループ" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "発表可能" @@ -436,28 +566,28 @@ msgstr "作者" msgid "reverse url id" msgstr "" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "ログインが必要" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "ソフト ルート" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "テンプレート" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "公開日時" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -467,7 +597,7 @@ msgstr "" msgid "application" msgstr "アプリケーション" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "ID" @@ -504,26 +634,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "ページ" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "ユーザ" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -531,189 +656,196 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "作った" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "変更済み" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "承認" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "削除" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "作成者" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "変更者" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "公開" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "サイト" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "ページ" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "ページをコピーしました。" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "デフォルト" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "追加可能" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "削除可能" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "上級設定変更可能" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "権限変更可能" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "移動可能" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "サイト" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "ページグロバール権限" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "ページグロバール権限" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "権限を付与" @@ -721,28 +853,28 @@ msgstr "権限を付与" msgid "Page permission" msgstr "ページ権限" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "ユーザ (ページ)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "ユーザ (ページ)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "ユーザ グループ(ページ)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "ユーザ グループ(ページ)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "幅" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +899,10 @@ msgstr "ファイル" msgid "file" msgstr "ファイル" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -780,8 +916,14 @@ msgstr "swf ファイルを使う" msgid "height" msgstr "高さ" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" msgstr "" #: plugins/googlemap/cms_plugins.py:10 @@ -840,19 +982,19 @@ msgstr "" msgid "Map" msgstr "地図" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "あなたの住所" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "言語かページを入力してください。" @@ -878,7 +1020,7 @@ msgid "name" msgstr "名" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "リンク" @@ -899,40 +1041,44 @@ msgstr "" msgid "Picture" msgstr "絵" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "左" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "右" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "絵" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "" @@ -952,8 +1098,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" #: plugins/snippet/models.py:25 @@ -973,6 +1118,7 @@ msgid "If present image will be clickable." msgstr "" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "もと" @@ -990,51 +1136,52 @@ msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "TWITTER" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "TWITTER検索" @@ -1069,6 +1216,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "ちょっと待って下さい" + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "ビデオ" @@ -1090,12 +1262,13 @@ msgid "movie url" msgstr "ムービーのURL" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"VIMEOやYOUTUBEのURLを使って下さい。例えば:http://www.youtube.com/watch?v=YFa59lK-" -"kpo" +"VIMEOやYOUTUBEのURLを使って下さい。例えば:http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1156,15 +1329,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "セーブして" @@ -1182,20 +1349,17 @@ msgid "Save and add another" msgstr "" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "さいごの変更" @@ -1204,28 +1368,21 @@ msgstr "さいごの変更" msgid "Log in to administration here." msgstr "管理ページ.にログインして下さい" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "ユーザ名" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "パスワード" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1233,78 +1390,78 @@ msgstr "" msgid "Home" msgstr "ホーム" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "プレビュー" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "ちょっと待って下さい" -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "" @@ -1312,41 +1469,41 @@ msgstr "" msgid "List of pages" msgstr "" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "" @@ -1370,7 +1527,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "" @@ -1384,8 +1545,7 @@ msgid "edit this page" msgstr "" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "" @@ -1441,7 +1601,6 @@ msgid "add" msgstr "" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1455,11 +1614,6 @@ msgstr "見る" msgid "Unpublish" msgstr "" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "" @@ -1504,28 +1658,38 @@ msgstr "" msgid "Can move" msgstr "" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "見る" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "すべて" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "" @@ -1560,7 +1724,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "プラグインを追加" @@ -1584,126 +1747,62 @@ msgstr "" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "%(name)s へ移動" - -#: templates/cms/toolbar/toolbar.html:34 -msgid "Are you sure you want to delete this plugin?" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "編集モード" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "状態" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "ユーザ名" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "ログイン" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "テンプレート" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "移動" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" +#: templates/cms/toolbar/toolbar.html:23 +msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "子ページを追加" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "下へ" -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "ページを削除して" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "サイト管理" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" +msgstr "ユーザ名" -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "ページ設定" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" +msgstr "ログイン" -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "履歴" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "状態" -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "ログアウト" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "ロック" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "閉める" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "下へ" - -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "設定" - -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "プラグイン削除" - -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1715,109 +1814,73 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "英語" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "フランス語" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "ドイツ語" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "オランダ語" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "二つ列" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - アカウントが作成されました。" -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "三つ列" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - アカウントが変更されました。" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" +#: utils/moderator.py:83 +msgid "parent first" msgstr "" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" +#: utils/moderator.py:90 +msgid "approve" +msgstr "承認" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "左列" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - Page %s は承認が必要です。" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "右列" +#~ msgid "Move to %(name)s" +#~ msgstr "%(name)s へ移動" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" +#~ msgid "move" +#~ msgstr "移動" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" +#~ msgid "history" +#~ msgstr "履歴" -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" +#~ msgid "Lock" +#~ msgstr "ロック" -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" +#~ msgid "Close" +#~ msgstr "閉める" -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" +#~ msgid "Settings" +#~ msgstr "設定" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "プラグイン削除" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#~ msgid "English" +#~ msgstr "英語" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#~ msgid "French" +#~ msgstr "フランス語" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "" +#~ msgid "German" +#~ msgstr "ドイツ語" -#: utils/moderator.py:90 -msgid "approve" -msgstr "承認" +#~ msgid "Dutch" +#~ msgstr "オランダ語" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - Page %s は承認が必要です。" +#~ msgid "two columns" +#~ msgstr "二つ列" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - アカウントが作成されました。" - -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - アカウントが変更されました。" +#~ msgid "three columns" +#~ msgstr "三つ列" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "left column" +#~ msgstr "左列" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "right column" +#~ msgstr "右列" diff --git a/cms/locale/ja/LC_MESSAGES/djangojs.mo b/cms/locale/ja/LC_MESSAGES/djangojs.mo index 6cdaf0a88c6..1f0f7bd0ffb 100644 Binary files a/cms/locale/ja/LC_MESSAGES/djangojs.mo and b/cms/locale/ja/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/ja/LC_MESSAGES/djangojs.po b/cms/locale/ja/LC_MESSAGES/djangojs.po index 15e48d3a29e..41aa8b4d05e 100644 --- a/cms/locale/ja/LC_MESSAGES/djangojs.po +++ b/cms/locale/ja/LC_MESSAGES/djangojs.po @@ -1,38 +1,37 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" "Plural-Forms: nplurals=1; plural=0\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "保存せずに、本当に %(field_name)s を変更しますか?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "このページを先に保存せずに、タブを変更しますか?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "本当にこのプラグインを削除しますか?" diff --git a/cms/locale/km/LC_MESSAGES/django.mo b/cms/locale/km/LC_MESSAGES/django.mo new file mode 100644 index 00000000000..c1006f04fef Binary files /dev/null and b/cms/locale/km/LC_MESSAGES/django.mo differ diff --git a/cms/locale/km/LC_MESSAGES/django.po b/cms/locale/km/LC_MESSAGES/django.po new file mode 100644 index 00000000000..b7861f3778c --- /dev/null +++ b/cms/locale/km/LC_MESSAGES/django.po @@ -0,0 +1,1869 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# vireax , 2011. +# pykhmer , 2011. +# សុវិចិត្រ Sovichet ទេព Tep , 2011. +msgid "" +msgstr "" +"Project-Id-Version: django-cms\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" +"Last-Translator: ojii \n" +"Language-Team: divio.ch \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" +"X-Poedit-Country: SWITZERLAND\n" +"X-Poedit-Language: English\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "របៀប​កែ​ប្រែ" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "ផ្សាយ" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "ចាក​ចេញ" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "ពុម្ព​រូប​រាង" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "ផ្លាស់​ទី/បន្ថែម ទំព័រ" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "បន្ថែម​កូន​ទំព័រ" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "លុប​ទំព័រ" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "ទំព័រ" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "ការ​គ្រប់​គ្រង​បណ្ដាញ" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "ការ​កំណត់​ទំព័រ" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "មើល​ប្រវត្តិ" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 +msgid "Advanced options" +msgstr "ជម្រើស​កម្រិត​ខ្ពស់" + +#: admin/forms.py:59 +msgid "Title" +msgstr "ចំណង​ជើង" + +#: admin/forms.py:60 +msgid "The default title" +msgstr "ចំណង​ជើង​លំនាំ​ដើម" + +#: admin/forms.py:61 +msgid "Slug" +msgstr "" + +#: admin/forms.py:62 +msgid "The part of the title that is used in the URL" +msgstr "" + +#: admin/forms.py:63 +msgid "Language" +msgstr "ភាសា" + +#: admin/forms.py:64 +msgid "The current language of the content fields." +msgstr "ភាសា​បច្ចុប្បន្ន​នៃ ផ្នែក​មាតិកានេះ។" + +#: admin/forms.py:117 +msgid "Another page with this slug already exists" +msgstr "" + +#: admin/forms.py:135 +msgid "Menu Title" +msgstr "ចំណង​ជើង​ម៉ឺនុយ" + +#: admin/forms.py:136 +msgid "Overwrite what is displayed in the menu" +msgstr "ជំនួស​ពី​លើ ឯកសារ​ដែល​បាន​បង្ហាញ​នៅ​ក្នុង​ម៉ឺនុយ" + +#: admin/forms.py:137 +msgid "Page Title" +msgstr "ចំណង​ជើង​ទំព័រ" + +#: admin/forms.py:138 +msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +msgstr "ជំនួស​ពី​លើ អ្វី​ដែល​បាន​បង្ហាញ​នៅ​ផ្នែក​កំពូល​នៃ​កម្មវិធី​រុក​រក​របស់​អ្នក ឬ នៅ​ក្នុង​សៀវភៅ​កត់​ចំណាំ" + +#: admin/forms.py:139 +msgid "Application" +msgstr "កម្មវិធី" + +#: admin/forms.py:141 +msgid "Hook application to this page." +msgstr "ភ្ជាប់​កម្មវិធី​ទៅ​កាន់​ទំព័រ​នេះ។" + +#: admin/forms.py:142 +msgid "Overwrite URL" +msgstr "ជំនួស​ពី​លើ URL" + +#: admin/forms.py:143 +msgid "Keep this field empty if standard path should be used." +msgstr "" + +#: admin/forms.py:149 +msgid "Redirect" +msgstr "ប្ដូរ​ទិស​ដៅ" + +#: admin/forms.py:150 +msgid "Redirects to this URL." +msgstr "ប្ដូរ​ទិស​ដៅ​ទៅ​កាន់ URL មួយ​នេះ។" + +#: admin/forms.py:152 +msgid "A description of the page sometimes used by search engines." +msgstr "" + +#: admin/forms.py:154 +msgid "A list of comma seperated keywords sometimes used by search engines." +msgstr "" + +#: admin/forms.py:170 +msgid "A page with this reverse URL id exists already." +msgstr "" + +#: admin/forms.py:178 +msgid "Invalid URL, use /my/url format." +msgstr "URL មិន​ត្រឹម​ត្រូវ, ប្រើ​ទ្រង់​ទ្រាយ /my/url ។" + +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 +msgid "user" +msgstr "អ្ន​ក​ប្រើ" + +#: admin/forms.py:216 +msgid "" +"Add page permission requires also access to children, or descendants, " +"otherwise added page can't be changed by its creator." +msgstr "" + +#: admin/forms.py:221 +msgid "Add page permission also requires edit page permission." +msgstr "" + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "មើល" + +#: admin/forms.py:260 +msgid "Please select user or group first." +msgstr "សូម​រើស​អ្នក​ប្រើ ឬ ក្រុម ជា​មុន​សិន។" + +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 +#: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 +msgid "Add" +msgstr "បន្ថែម" + +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 +msgid "Change" +msgstr "ផ្លាស់​ប្ដូរ" + +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 +#: templates/admin/page_submit_line.html:5 +#: templates/admin/cms/page/menu_item.html:44 +msgid "Delete" +msgstr "លុប" + +#: admin/forms.py:270 +msgid "Recover (any) pages" +msgstr "ស្ដារទំព័រ (និមួយៗ) ឡើង​វិញ" + +#: admin/forms.py:297 +msgid "Notify user" +msgstr "ឲ្យ​ដំណឹង​ទៅ​កាន់​អ្នក​ប្រើ" + +#: admin/forms.py:298 +msgid "" +"Send email notification to user about username or password change. Requires " +"user email." +msgstr "" +"ផ្ញើ​ការ​ជូន​ដំណឹង​តាម​អ៊ីមែល​ទៅ​កាន់​អ្នក​ប្រើ អំពី​ការ​ប្ដូរ​ឈ្មោះ​ប្រើ​ប្រាស់ ឬ ពាក្យ​សម្ងាត់។ គឺស្នើ​អោយ​មាន​អាសយ​" +"ដ្ឋាន​មែល​របស់​អ្នក​ប្រើ។" + +#: admin/forms.py:318 +msgid "New password" +msgstr "ពាក្យ​សម្ងាត់​ថ្មី" + +#: admin/forms.py:320 +msgid "New password confirmation" +msgstr "ការ​អះអាង​ពាក្យ​សម្ងាត់​ថ្មី" + +#: admin/forms.py:339 +msgid "Email notification requires valid email address." +msgstr "ការ​ជូន​ដំណឹង​តាម​អ៊ីមែល គឺ​ត្រូវ​ការ​មាន​អាសយដ្ឋាន​មែល​ដែល​ត្រឹម​ត្រូវ។" + +#: admin/forms.py:341 +msgid "" +"The permission to add new pages requires the permission to change pages!" +msgstr "" + +#: admin/forms.py:343 +msgid "" +"The permission to add new users requires the permission to change users!" +msgstr "" + +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" +msgstr "" + +#: admin/pageadmin.py:97 +msgid "Basic Settings" +msgstr "ការ​កំណត់​ដំបូង" + +#: admin/pageadmin.py:100 +msgid "Note: This page reloads if you change the selection. Save it first." +msgstr "" + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "ដែល​លាក់" + +#: admin/pageadmin.py:106 +msgid "Advanced Settings" +msgstr "ការ​កំណត់​កម្រិត​ខ្ពស់" + +#: admin/pageadmin.py:113 +msgid "SEO Settings" +msgstr "ការ​កំណត់ SEO" + +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:485 +msgid "higher" +msgstr "ខ្ពស់​ជាង​គេ" + +#: admin/pageadmin.py:655 +msgid "Database error" +msgstr "បណ្ដុំ​ទិន្នន័យ មាន​បញ្ហា" + +#: admin/pageadmin.py:855 +msgid "Page was successfully approved." +msgstr "ទំព័រ ត្រូវ​បាន​យល់​ព្រម​ហើយ។" + +#: admin/pageadmin.py:927 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: admin/pageadmin.py:933 +msgid "There only exists one translation for this page" +msgstr "" + +#: admin/pageadmin.py:969 +#, python-format +msgid "Title and plugins with language %(language)s was deleted" +msgstr "" + +#: admin/pageadmin.py:991 +msgid "Are you sure?" +msgstr "តើ​អ្នក​ប្រាកដ​ហើយឬ?" + +#: admin/pageadmin.py:1052 +msgid "You do not have permission to publish this page" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​ផ្សាយ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1066 +msgid "You do not have permission to change this page's in_navigation status" +msgstr "" + +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 +msgid "Language must be set to a supported language!" +msgstr "ភាសា ត្រូវ​តែ​បាន​កំណត់​ទៅ​ជា​ភាសា​ដែល​បាន​គាំទ្រ!" + +#: admin/pageadmin.py:1138 +#, python-format +msgid "%(plugin_name)s plugin added to %(placeholder)s" +msgstr "កម្មវិធី​បន្ថែម​ឈ្មោះ %(plugin_name)s បាន​បន្ថែម​ទៅ​ក្នុង %(placeholder)s ហើយ" + +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1160 +msgid "Language must be different than the copied language!" +msgstr "" + +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1173 +#, python-format +msgid "Copied %(language)s plugins to %(placeholder)s" +msgstr "" + +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1256 +#, python-format +msgid "" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" +msgstr "" + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1329 +msgid "Plugins where moved" +msgstr "" + +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 +#, python-format +msgid "" +"%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " +"deleted." +msgstr "" + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 +msgid "Page permissions" +msgstr "សិទ្ធិ​ទំព័រ" + +#: admin/permissionadmin.py:134 +msgid "User & Group permissions" +msgstr "សិទ្ធិ​របស់ អ្នក​ប្រើ​ប្រាស់ និង ក្រុម​អ្នក​ប្រើ​ប្រាស់" + +#: admin/permissionadmin.py:135 +msgid "Page permissions management" +msgstr "ការ​គ្រប់​គ្រង​សិទ្ធិ​របស់​ទំព័រ" + +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "អ្នក​ពុំ​មាន​សិទ្ធិ​ក្នុង​ការ​កែ​ប្រែ​ទំព័រ​នេះ​ទេ" + +#: admin/useradmin.py:25 +msgid "User details" +msgstr "លម្អិត​ពី​អ្នក​ប្រើ​ប្រាស់" + +#: admin/useradmin.py:26 +msgid "Groups" +msgstr "ក្រុម​អ្នក​ប្រើ​ប្រាស់" + +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 +msgid "Password" +msgstr "ពាក្យ​សម្ងាត់" + +#: admin/dialog/forms.py:9 +msgid "Copy permissions" +msgstr "ចម្លង​សិទ្ធិ" + +#: admin/dialog/forms.py:16 +msgid "Copy moderation" +msgstr "" + +#: conf/patch.py:28 +msgid "Inherit the template of the nearest ancestor" +msgstr "" + +#: forms/fields.py:19 +msgid "Select a valid site" +msgstr "" + +#: forms/fields.py:20 +msgid "Select a valid page" +msgstr "" + +#: forms/widgets.py:173 +msgid "Add Another" +msgstr "បន្ថែម​មួយ​ផ្សេង​ទៀត" + +#: migrations/0001_initial.py:12 migrations/0001_initial.py:24 +#: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 +#: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 +#: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 +#: models/pluginmodel.py:79 models/titlemodels.py:10 +#: plugins/inherit/models.py:11 +msgid "language" +msgstr "ភាសា" + +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "ទំព័រ" + +#: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 +msgid "position" +msgstr "ទី​តាំង" + +#: migrations/0001_initial.py:15 migrations/0001_initial.py:29 +#: models/pluginmodel.py:81 models/titlemodels.py:22 +msgid "creation date" +msgstr "កាល​បរិច្ឆេទ​នៃ​ការ​បង្កើត" + +#: migrations/0001_initial.py:16 migrations/0001_initial.py:77 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 +msgid "slot" +msgstr "ចន្លោះ" + +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 +msgid "plugin_name" +msgstr "" + +#: migrations/0001_initial.py:25 migrations/0011_title_overwrites.py:12 +#: migrations/0011_title_overwrites.py:15 models/titlemodels.py:11 +#: models/titlemodels.py:12 models/titlemodels.py:20 plugins/file/models.py:25 +#: plugins/file/migrations/0001_initial.py:18 plugins/teaser/models.py:9 +#: plugins/twitter/models.py:6 plugins/twitter/models.py:15 +#: templates/admin/cms/page/change_list_tree.html:6 +msgid "title" +msgstr "ចំណង​ជើង" + +#: migrations/0001_initial.py:28 +msgid "path" +msgstr "" + +#: migrations/0001_initial.py:30 models/titlemodels.py:13 +msgid "slug" +msgstr "" + +#: migrations/0001_initial.py:36 +msgid "everybody" +msgstr "គ្រប់​គ្នា" + +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 +msgid "can edit" +msgstr "អាច​កែ​បាន" + +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 +msgid "group" +msgstr "ក្រុម" + +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 +msgid "can publish" +msgstr "អាច​ផ្សាយ" + +#: migrations/0001_initial.py:42 +msgid "type" +msgstr "ប្រភេទ" + +#: migrations/0001_initial.py:44 +msgid "can change soft-root" +msgstr "" + +#: migrations/0001_initial.py:50 migrations/0006_apphook.py:34 +#: migrations/0006_apphook.py:62 +msgid "status" +msgstr "ស្ថាន​ភាព" + +#: migrations/0001_initial.py:53 +msgid "navigation extenders" +msgstr "" + +#: migrations/0001_initial.py:54 migrations/0006_apphook.py:12 +#: migrations/0006_apphook.py:46 models/titlemodels.py:15 +msgid "has url overwrite" +msgstr "" + +#: migrations/0001_initial.py:55 migrations/0006_apphook.py:49 +msgid "url overwrite" +msgstr "" + +#: migrations/0001_initial.py:57 +msgid "author" +msgstr "អ្នក​និពន្ធ" + +#: migrations/0001_initial.py:58 migrations/0006_apphook.py:37 +msgid "reverse url id" +msgstr "" + +#: migrations/0001_initial.py:59 models/pagemodel.py:84 +msgid "login required" +msgstr "" + +#: migrations/0001_initial.py:60 models/pagemodel.py:69 +msgid "soft root" +msgstr "" + +#: migrations/0001_initial.py:63 models/pagemodel.py:67 +msgid "publication end date" +msgstr "" + +#: migrations/0001_initial.py:64 models/pagemodel.py:74 +#: plugins/snippet/models.py:14 +msgid "template" +msgstr "ពុម្ព​រូប​រាង" + +#: migrations/0001_initial.py:66 models/pagemodel.py:66 +msgid "publication date" +msgstr "កាល​បរិច្ឆេទ​ការ​បោះ​ពុម្ព​ផ្សាយ" + +#: migrations/0001_initial.py:67 models/pagemodel.py:68 +#: templates/admin/cms/page/change_list_tree.html:9 +msgid "in navigation" +msgstr "" + +#: migrations/0006_apphook.py:15 migrations/0007_apphook_longer.py:11 +#: migrations/0007_apphook_longer.py:17 models/titlemodels.py:16 +msgid "application" +msgstr "កម្មវិធី" + +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 +msgid "id" +msgstr "id" + +#: migrations/0008_redirects.py:11 models/titlemodels.py:17 +msgid "redirect" +msgstr "" + +#: migrations/0009_added_meta_fields.py:12 models/titlemodels.py:19 +msgid "keywords" +msgstr "ពាក្យ​គន្លឹះ" + +#: migrations/0009_added_meta_fields.py:15 models/titlemodels.py:18 +#: plugins/teaser/models.py:20 +msgid "description" +msgstr "សេចក្ដី​អធិប្បាយ" + +#: models/moderatormodels.py:25 +msgid "Current page" +msgstr "ទំព័រ​បច្ចុប្បន្ន" + +#: models/moderatormodels.py:26 +msgid "Page children (immediate)" +msgstr "កូន​ទំព័រ (ភ្លាមៗ)" + +#: models/moderatormodels.py:27 +msgid "Page and children (immediate)" +msgstr "ទំព័រ និង កូន​ទំព័រ (ភ្លាមៗ)" + +#: models/moderatormodels.py:28 +msgid "Page descendants" +msgstr "តាមលំដាប់ទំព័រចុះ" + +#: models/moderatormodels.py:29 +msgid "Page and descendants" +msgstr "" + +#: models/moderatormodels.py:46 +#: templates/admin/cms/page/moderation_messages.html:6 +#: templates/admin/cms/page/permissions.html:6 +msgid "User" +msgstr "អ្នក​ប្រើ" + +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 +msgid "Moderate page" +msgstr "សម្រប​សម្រួល​ទំព័រ" + +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 +msgid "Moderate children" +msgstr "" + +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 +msgid "Moderate descendants" +msgstr "" + +#: models/moderatormodels.py:55 models/moderatormodels.py:56 +msgid "PageModerator" +msgstr "PageModerator" + +#: models/moderatormodels.py:99 +msgid "created" +msgstr "បាន​បង្កើត" + +#: models/moderatormodels.py:100 models/pagemodel.py:44 +msgid "changed" +msgstr "បាន​ផ្លាស់​ប្ដូរ" + +#: models/moderatormodels.py:101 +msgid "delete req." +msgstr "លុប req." + +#: models/moderatormodels.py:102 +msgid "move req." +msgstr "ផ្លាស់​ទី req." + +#: models/moderatormodels.py:103 +msgid "publish req." +msgstr "ផ្សាយ req." + +#: models/moderatormodels.py:104 +msgid "unpublish req." +msgstr "លែង​ផ្សាយ req." + +#: models/moderatormodels.py:105 models/pagemodel.py:47 +msgid "approved" +msgstr "បាន​យល់​ព្រម" + +#: models/moderatormodels.py:117 +msgid "Page moderator state" +msgstr "" + +#: models/moderatormodels.py:118 +msgid "Page moderator states" +msgstr "" + +#: models/pagemodel.py:45 +msgid "req. app." +msgstr "req. app." + +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 +msgid "delete" +msgstr "លុប" + +#: models/pagemodel.py:48 +msgid "app. par." +msgstr "app. par." + +#: models/pagemodel.py:52 +msgid "for logged in users only" +msgstr "" + +#: models/pagemodel.py:53 +msgid "for anonymous users only" +msgstr "" + +#: models/pagemodel.py:61 +msgid "created by" +msgstr "បាន​បង្កើត​ដោយ" + +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 +msgid "changed by" +msgstr "បាន​ផ្លាស់​ប្ដូរ​ដោយ" + +#: models/pagemodel.py:66 +msgid "" +"When the page should go live. Status must be \"Published\" for page to go " +"live." +msgstr "" + +#: models/pagemodel.py:67 +msgid "When to expire the page. Leave empty to never expire." +msgstr "" + +#: models/pagemodel.py:69 +msgid "All ancestors will not be displayed in the navigation" +msgstr "" + +#: models/pagemodel.py:70 +msgid "" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" +msgstr "" + +#: models/pagemodel.py:71 +msgid "attached menu" +msgstr "" + +#: models/pagemodel.py:72 +msgid "is published" +msgstr "គឺ​បាន​ផ្សាយ​ហើយ" + +#: models/pagemodel.py:74 +msgid "The template used to render the content." +msgstr "" + +#: models/pagemodel.py:75 +msgid "The site the page is accessible at." +msgstr "" + +#: models/pagemodel.py:75 +msgid "site" +msgstr "បណ្ដាញ" + +#: models/pagemodel.py:77 +msgid "moderator state" +msgstr "" + +#: models/pagemodel.py:85 +msgid "menu visibility" +msgstr "" + +#: models/pagemodel.py:85 +msgid "limit when this page is visible in the menu" +msgstr "" + +#: models/pagemodel.py:105 +msgid "pages" +msgstr "ទំព័រ" + +#: models/pagemodel.py:267 +msgid "Page was copied." +msgstr "ទំព័រ​ត្រូវ​បាន​ចម្លង។" + +#: models/pagemodel.py:698 +msgid "default" +msgstr "លំនាំ​ដើម" + +#: models/permissionmodels.py:21 +msgid "can add" +msgstr "អាច​បន្ថែម" + +#: models/permissionmodels.py:22 +msgid "can delete" +msgstr "អាច​លុប" + +#: models/permissionmodels.py:23 +msgid "can change advanced settings" +msgstr "អាច​ប្ដូរ​ការ​កំណត់​កម្រិត​ខ្ពស់" + +#: models/permissionmodels.py:25 +msgid "can change permissions" +msgstr "" + +#: models/permissionmodels.py:25 +msgid "on page level" +msgstr "" + +#: models/permissionmodels.py:26 +msgid "can move" +msgstr "អាច​ផ្លាស់​ទី" + +#: models/permissionmodels.py:27 +msgid "can moderate" +msgstr "អាច​សម្រប​សម្រួល" + +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 +msgid "can recover pages" +msgstr "អាច​ស្ដារ​ទំព័រ" + +#: models/permissionmodels.py:51 +msgid "can recover any deleted page" +msgstr "អាច​ស្ដារ​ទំព័រ​និមួយៗ ដែល​បាន​លុប" + +#: models/permissionmodels.py:52 +msgid "If none selected, user haves granted permissions to all sites." +msgstr "" + +#: models/permissionmodels.py:52 +msgid "sites" +msgstr "បណ្ដាញ" + +#: models/permissionmodels.py:57 +msgid "Page global permission" +msgstr "" + +#: models/permissionmodels.py:58 +msgid "Pages global permissions" +msgstr "" + +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 +msgid "Grant on" +msgstr "" + +#: models/permissionmodels.py:74 +msgid "Page permission" +msgstr "សិទ្ធិ​ទំព័រ" + +#: models/permissionmodels.py:89 +msgid "User (page)" +msgstr "អ្នក​ប្រើ (ទំព័រ)" + +#: models/permissionmodels.py:90 +msgid "Users (page)" +msgstr "អ្នក​ប្រើ (ទំព័រ)" + +#: models/permissionmodels.py:100 +msgid "User group (page)" +msgstr "ក្រុម​អ្នក​ប្រើ (ទំព័រ)" + +#: models/permissionmodels.py:101 +msgid "User groups (page)" +msgstr "ក្រុម​អ្នក​ប្រើ (ទំព័រ)" + +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 +#: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 +msgid "width" +msgstr "ទទឹង" + +#: models/pluginmodel.py:140 +msgid "" +msgstr "" + +#: models/titlemodels.py:12 +msgid "overwrite the title in the menu" +msgstr "" + +#: models/titlemodels.py:14 +msgid "Path" +msgstr "ផ្លូវ" + +#: models/titlemodels.py:20 +msgid "overwrite the title (html title tag)" +msgstr "" + +#: plugins/file/cms_plugins.py:9 +msgid "File" +msgstr "ឯកសារ" + +#: plugins/file/models.py:24 plugins/file/migrations/0001_initial.py:17 +#: plugins/flash/models.py:8 plugins/flash/migrations/0001_initial.py:18 +msgid "file" +msgstr "ឯកសារ" + +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + +#: plugins/flash/cms_plugins.py:9 +msgid "Flash" +msgstr "ហ្វ្លាស់" + +#: plugins/flash/models.py:8 +msgid "use swf file" +msgstr "ប្រើ​ឯកសារ swf" + +#: plugins/flash/models.py:10 plugins/flash/migrations/0001_initial.py:19 +#: plugins/video/models.py:14 +msgid "height" +msgstr "កំពស់" + +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" + +#: plugins/googlemap/cms_plugins.py:10 +msgid "Google Map" +msgstr "ផែន​ទី Google" + +#: plugins/googlemap/models.py:9 +msgid "map title" +msgstr "ចំណង​ជើង​ផែន​ទី" + +#: plugins/googlemap/models.py:11 +msgid "address" +msgstr "អាសយដ្ឋាន" + +#: plugins/googlemap/models.py:12 +msgid "zip code" +msgstr "លេខ​ប្រចាំ​តំបន់" + +#: plugins/googlemap/models.py:13 +msgid "city" +msgstr "ទីក្រុង" + +#: plugins/googlemap/models.py:15 +msgid "additional content" +msgstr "មាតិកា​បន្ថែម" + +#: plugins/googlemap/models.py:16 +msgid "zoom level" +msgstr "កម្រិត​ពង្រីក" + +#: plugins/googlemap/models.py:18 +msgid "latitude" +msgstr "" + +#: plugins/googlemap/models.py:19 +msgid "Use latitude & longitude to fine tune the map possiton." +msgstr "" + +#: plugins/googlemap/models.py:20 +msgid "longitude" +msgstr "" + +#: plugins/googlemap/models.py:22 +msgid "route planer title" +msgstr "" + +#: plugins/googlemap/models.py:22 +msgid "Calculate your fastest way to here" +msgstr "" + +#: plugins/googlemap/models.py:23 +msgid "route planer" +msgstr "" + +#: plugins/googlemap/models.py:30 +msgid "Map" +msgstr "ផែន​ទី" + +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 +msgid "Your address: " +msgstr "" + +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 +msgid "Calculate route" +msgstr "" + +#: plugins/inherit/cms_plugins.py:17 +msgid "Inherit Plugins from Page" +msgstr "" + +#: plugins/inherit/forms.py:23 +msgid "Language or Page must be filled out" +msgstr "" + +#: plugins/inherit/models.py:10 +msgid "" +"Choose a page to include its plugins into this placeholder, empty will " +"choose current page" +msgstr "" + +#: plugins/inherit/models.py:11 +msgid "Optional: the language of the plugins you want" +msgstr "" + +#: plugins/link/cms_plugins.py:12 +msgid "Link" +msgstr "ឈ្នាប់" + +#: plugins/link/models.py:10 plugins/link/migrations/0001_initial.py:18 +#: plugins/link/migrations/0004_larger_link_names.py:11 +#: plugins/link/migrations/0004_larger_link_names.py:17 +#: plugins/snippet/models.py:12 plugins/snippet/migrations/0001_initial.py:17 +msgid "name" +msgstr "ឈ្មោះ" + +#: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 +#: plugins/teaser/models.py:19 +msgid "link" +msgstr "ឈ្នាប់" + +#: plugins/link/models.py:12 +msgid "A link to a page has priority over a text link." +msgstr "" + +#: plugins/link/models.py:13 +msgid "mailto" +msgstr "mailto" + +#: plugins/link/models.py:13 +msgid "An email adress has priority over a text link." +msgstr "" + +#: plugins/picture/cms_plugins.py:9 +msgid "Picture" +msgstr "រូប​ភាព" + +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 +msgid "left" +msgstr "ឆ្វេង" + +#: plugins/picture/models.py:16 +msgid "right" +msgstr "ស្ដាំ" + +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 +#: plugins/teaser/models.py:10 plugins/video/models.py:11 +msgid "image" +msgstr "រូប" + +#: plugins/picture/models.py:21 plugins/picture/models.py:22 +msgid "if present image will be clickable" +msgstr "" + +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 +msgid "alternate text" +msgstr "អក្សរ​ជំនួស" + +#: plugins/picture/models.py:23 +msgid "textual description of the image" +msgstr "" + +#: plugins/picture/models.py:24 +msgid "long description" +msgstr "សេចក្ដី​អធិប្បាយ​វែង" + +#: plugins/picture/models.py:24 +msgid "additional description of the image" +msgstr "ព័ត៌មាន​បន្ថែម​អំពី​រូបភាព" + +#: plugins/picture/models.py:25 +msgid "side" +msgstr "" + +#: plugins/snippet/cms_plugins.py:12 plugins/snippet/models.py:24 +#: plugins/snippet/models.py:32 +msgid "Snippet" +msgstr "" + +#: plugins/snippet/cms_plugins.py:30 +#, python-format +msgid "Template %(template)s does not exist." +msgstr "" + +#: plugins/snippet/models.py:13 plugins/snippet/migrations/0001_initial.py:18 +msgid "HTML" +msgstr "HTML" + +#: plugins/snippet/models.py:15 +msgid "" +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " +msgstr "" + +#: plugins/snippet/models.py:25 +msgid "Snippets" +msgstr "" + +#: plugins/teaser/cms_plugins.py:8 +msgid "Teaser" +msgstr "" + +#: plugins/teaser/models.py:14 +msgid "If present image will be clickable" +msgstr "" + +#: plugins/teaser/models.py:19 +msgid "If present image will be clickable." +msgstr "" + +#: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 +msgid "more" +msgstr "បន្ថែម​ទៀត" + +#: plugins/text/cms_plugins.py:15 +msgid "Text" +msgstr "អក្សរ" + +#: plugins/text/models.py:14 plugins/text/migrations/0001_initial.py:16 +msgid "body" +msgstr "តួ" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:30 +msgid "Plugins" +msgstr "កម្មវិធី​បន្ថែម" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 +msgid "Please select a plugin type." +msgstr "សូម​រើស​ប្រភេទ កម្មវិធី​បន្ថែម មួយ។" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +msgid "Edit selected plugin" +msgstr "កែ​ប្រែ​កម្មវិធី​បន្ថែម​ដែល​បាន​រើស" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 +msgid "Text editor does not support editing objects." +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 +msgid "No object selected." +msgstr "មិន​មាន​វត្ថុ​ដែល​បាន​រើស​ទេ។" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 +msgid "Text editor does not support inserting objects." +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 +msgid "Not a plugin object" +msgstr "មិន​មែន​ជា កម្មវិធី​បន្ថែម​ទេ" + +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 +msgid "Available Plugins" +msgstr "កម្មវិធី​បន្ថែម​ដែល​អាច​រក​បាន" + +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 +msgid "Insert plugin" +msgstr "នាំ​កម្មវិធី​​បន្ថែម​ចូល" + +#: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 +msgid "Twitter" +msgstr "Twitter" + +#: plugins/twitter/cms_plugins.py:23 +msgid "Twitter Search" +msgstr "" + +#: plugins/twitter/models.py:7 +msgid "twitter user" +msgstr "អ្នក​ប្រើ twitter" + +#: plugins/twitter/models.py:8 plugins/twitter/models.py:17 +msgid "count" +msgstr "ចំនួន" + +#: plugins/twitter/models.py:8 plugins/twitter/models.py:17 +msgid "Number of entries to display" +msgstr "ចំនួន​ធាតុ​ដែល​ត្រូវ​បង្ហាញ" + +#: plugins/twitter/models.py:9 +msgid "link hint" +msgstr "" + +#: plugins/twitter/models.py:9 +msgid "If given, the hint is displayed as link to your Twitter profile." +msgstr "" + +#: plugins/twitter/models.py:16 +msgid "query" +msgstr "" + +#: plugins/twitter/models.py:16 +msgid "" +"Example: \"brains AND zombies AND from:umbrella AND to:nemesis\": tweets " +"from the user \"umbrella\" to the user \"nemesis\" that contain the words " +"\"brains\" and \"zombies\"" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "កំពុង​ផ្ទុក..." + +#: plugins/video/cms_plugins.py:10 +msgid "Video" +msgstr "វីដេអូ" + +#: plugins/video/cms_plugins.py:42 +msgid "Color Settings" +msgstr "ការ​កំណត់​ពណ៌" + +#: plugins/video/models.py:9 +msgid "movie file" +msgstr "ផ្លាស់​ទី​ឯកសារ" + +#: plugins/video/models.py:9 +msgid "use .flv file or h264 encoded video file" +msgstr "ប្រើ​ឯកសារ .flv ឬ វីដេអូប្រភេទ h264" + +#: plugins/video/models.py:10 +msgid "movie url" +msgstr "" + +#: plugins/video/models.py:10 +msgid "" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" +msgstr "" + +#: plugins/video/models.py:11 +msgid "preview image file" +msgstr "" + +#: plugins/video/models.py:16 +msgid "auto play" +msgstr "" + +#: plugins/video/models.py:17 +msgid "auto hide" +msgstr "លាក់​ដោយ​ស្វ័យ​ប្រវត្តិ" + +#: plugins/video/models.py:18 +msgid "fullscreen" +msgstr "ពេញ​អេក្រង់" + +#: plugins/video/models.py:19 +msgid "loop" +msgstr "រង្វិល​ជុំ" + +#: plugins/video/models.py:22 +msgid "background color" +msgstr "ពណ៌​ផ្ទៃ​ក្រោយ" + +#: plugins/video/models.py:22 plugins/video/models.py:23 +#: plugins/video/models.py:24 plugins/video/models.py:25 +#: plugins/video/models.py:26 plugins/video/models.py:27 +#: plugins/video/models.py:28 plugins/video/models.py:29 +msgid "Hexadecimal, eg ff00cc" +msgstr "ប្រ​ព័ន្ធ​គោល ១៦ ឧ. FF00CC" + +#: plugins/video/models.py:23 +msgid "text color" +msgstr "ពណ៌​អត្ថបទ" + +#: plugins/video/models.py:24 +msgid "seekbar color" +msgstr "" + +#: plugins/video/models.py:25 +msgid "seekbar bg color" +msgstr "" + +#: plugins/video/models.py:26 +msgid "loadingbar color" +msgstr "" + +#: plugins/video/models.py:27 +msgid "button out color" +msgstr "" + +#: plugins/video/models.py:28 +msgid "button over color" +msgstr "" + +#: plugins/video/models.py:29 +msgid "button highlight color" +msgstr "" + +#: templates/admin/page_submit_line.html:3 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 +msgid "Save" +msgstr "រក្សា​ទុក" + +#: templates/admin/page_submit_line.html:7 +#, python-format +msgid "Delete %(language)s translation" +msgstr "លុប​ការ​បក​ប្រែ​ភាសា %(language)s" + +#: templates/admin/page_submit_line.html:11 +msgid "Save as new" +msgstr "រក្សាទុកថ្មី" + +#: templates/admin/page_submit_line.html:12 +msgid "Save and add another" +msgstr "រក្សាទុករូចបន្ថែមទៀត" + +#: templates/admin/page_submit_line.html:13 +#: templates/admin/cms/page/change_form.html:275 +msgid "Save and continue editing" +msgstr "រក្សាទុករួចបន្តកែប្រែ" + +#: templates/admin/cms/mail/approvement_required.html:5 +#, python-format +msgid "" +"Page %(page)s may require approvement by you." +msgstr "" + +#: templates/admin/cms/mail/approvement_required.html:8 +msgid "Last changes" +msgstr "កំនែ​ប្រែ​ចុង​ក្រោយ" + +#: templates/admin/cms/mail/base.html:55 +#, python-format +msgid "Log in to administration here." +msgstr "" + +#: templates/admin/cms/mail/page_user_change.html:7 +msgid "Username:" +msgstr "ឈ្មោះ​ប្រើ​ប្រាស់៖" + +#: templates/admin/cms/mail/page_user_change.html:11 +msgid "Password:" +msgstr "ពាក្យ​សម្ងាត់៖" + +#: templates/admin/cms/page/change_form.html:3 +#: templates/admin/cms/page/plugin_forms_history.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 +msgid "Change a page" +msgstr "ប្ដូរ​ទំព័រ" + +#: templates/admin/cms/page/change_form.html:64 +#: templates/admin/cms/page/change_list.html:8 +#: templates/admin/cms/page/plugin_change_form.html:67 +#: templates/admin/cms/page/recover_form.html:14 +#: templates/admin/cms/page/revision_form.html:6 +msgid "Home" +msgstr "ទំព័រ​មុខ" + +#: templates/admin/cms/page/change_form.html:73 +msgid "Approve page deletion" +msgstr "យល់​ព្រម​ការ​លុប​ទំព័រ" + +#: templates/admin/cms/page/change_form.html:79 +#, python-format +msgid "(requires approvement at %(moderation_level)s level)" +msgstr "" + +#: templates/admin/cms/page/change_form.html:80 +msgid "(you can perform actions on this page directly)" +msgstr "" + +#: templates/admin/cms/page/change_form.html:93 +msgid "Remove delete request" +msgstr "" + +#: templates/admin/cms/page/change_form.html:95 +msgid "Approve delete" +msgstr "យល់​ព្រម​លុប" + +#: templates/admin/cms/page/change_form.html:95 +msgid "Approve" +msgstr "យល់​ព្រម" + +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 +#: templates/admin/cms/page/change_list_tree.html:12 +msgid "draft" +msgstr "សេចក្ដី​ព្រាង" + +#: templates/admin/cms/page/change_form.html:96 +msgid "Preview" +msgstr "មើល​ជា​មុន" + +#: templates/admin/cms/page/change_form.html:99 +#: templates/admin/cms/page/revision_form.html:10 +msgid "History" +msgstr "ប្រវត្តិ" + +#: templates/admin/cms/page/change_form.html:100 +msgid "View on site" +msgstr "មើល​នៅ​លើ​បណ្ដាញ" + +#: templates/admin/cms/page/change_form.html:130 +#: templates/admin/cms/page/plugin_change_form.html:84 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "សូម​កែ​សម្រួល​បញ្ហា​ខាង​ក្រោម។" + +#: templates/admin/cms/page/change_form.html:150 +msgid "All permissions" +msgstr "សិទ្ធិ​ទាំង​អស់" + +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 +#: templates/admin/cms/page/loading.html:2 +msgid "Loading..." +msgstr "កំពុង​ផ្ទុក..." + +#: templates/admin/cms/page/change_form.html:162 +msgid "Page states" +msgstr "" + +#: templates/admin/cms/page/change_form.html:185 +#, python-format +msgid "" +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." +msgstr "" + +#: templates/admin/cms/page/change_form.html:187 +msgid "Request approvemet" +msgstr "សំណើ​ការ​យល់​ព្រម" + +#: templates/admin/cms/page/change_list.html:3 +msgid "List of pages" +msgstr "បញ្ជី​ទំព័រ" + +#: templates/admin/cms/page/change_list.html:58 +msgid "Successfully moved" +msgstr "បាន​ផ្លាស់​ទី​ដោយ​ជោគ​ជ័យ" + +#: templates/admin/cms/page/change_list.html:63 +msgid "An error occured. Please reload the page" +msgstr "មាន​បញ្ហា​បាន​កើត​ឡើង។ សូម​ផ្ទុក​ទំព័រ​ឡើង​វិញ" + +#: templates/admin/cms/page/change_list.html:84 +#, python-format +msgid "Recover deleted %(name)s" +msgstr "ស្ដារ %(name)s ដែល​បាន​លុប" + +#: templates/admin/cms/page/change_list.html:87 +#, python-format +msgid "Add %(name)s" +msgstr "បន្ថែម %(name)s" + +#: templates/admin/cms/page/change_list.html:99 +msgid "Pages on:" +msgstr "ទំព័រ​នៅ​លើ៖" + +#: templates/admin/cms/page/change_list.html:116 +msgid "Filter:" +msgstr "តម្រង៖" + +#: templates/admin/cms/page/change_list.html:116 +msgid "on" +msgstr "បើក" + +#: templates/admin/cms/page/change_list.html:116 +msgid "off" +msgstr "បិទ" + +#: templates/admin/cms/page/change_list.html:118 +msgid "Filter" +msgstr "តម្រង" + +#: templates/admin/cms/page/change_list_tree.html:8 +msgid "actions" +msgstr "សកម្មភាព" + +#: templates/admin/cms/page/change_list_tree.html:10 +msgid "moderate" +msgstr "សម្រប​សម្រួល" + +#: templates/admin/cms/page/change_list_tree.html:13 +msgid "published" +msgstr "បាន​ផ្សាយ" + +#: templates/admin/cms/page/change_list_tree.html:15 +msgid "start" +msgstr "ចាប់​ផ្ដើម" + +#: templates/admin/cms/page/change_list_tree.html:16 +msgid "end" +msgstr "បញ្ចប់" + +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 +msgid "last changes" +msgstr "ការ​ប្ដូរ​ចុង​ក្រោយ" + +#: templates/admin/cms/page/menu_item.html:5 +msgid "select this page" +msgstr "រើស​ទំព័រ​នេះ" + +#: templates/admin/cms/page/menu_item.html:5 +#: templates/admin/cms/page/menu_item.html:6 +msgid "edit this page" +msgstr "កែ​ប្រែ​ទំព័រ​នេះ" + +#: templates/admin/cms/page/menu_item.html:6 +#: templates/cms/toolbar/toolbar.html:54 +msgid "edit" +msgstr "កែ​ប្រែ" + +#: templates/admin/cms/page/menu_item.html:16 +msgid "insert above" +msgstr "បញ្ចូល​ខាង​លើ" + +#: templates/admin/cms/page/menu_item.html:17 +msgid "insert below" +msgstr "បញ្ចូល​ខាង​ក្រោម" + +#: templates/admin/cms/page/menu_item.html:19 +msgid "insert inside" +msgstr "បញ្ជូល​ទៅ​ក្នុង" + +#: templates/admin/cms/page/menu_item.html:23 +msgid "softroot" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:23 +msgid "home" +msgstr "ទំព័រដើម" + +#: templates/admin/cms/page/menu_item.html:26 +#, python-format +msgid "Edit this page in %(language)s " +msgstr "កែ​ប្រែ​ទំព័រ​នេះ​នៅ​ជា %(language)s" + +#: templates/admin/cms/page/menu_item.html:33 +msgid "Cut" +msgstr "កាត់" + +#: templates/admin/cms/page/menu_item.html:33 +msgid "cut" +msgstr "កាត់" + +#: templates/admin/cms/page/menu_item.html:34 +msgid "Copy" +msgstr "ចម្លង" + +#: templates/admin/cms/page/menu_item.html:34 +msgid "copy" +msgstr "ចម្លង" + +#: templates/admin/cms/page/menu_item.html:37 +#: templates/admin/cms/page/menu_item.html:41 +msgid "Add Child" +msgstr "បន្ថែម​កូន" + +#: templates/admin/cms/page/menu_item.html:37 +#: templates/admin/cms/page/menu_item.html:41 +msgid "add" +msgstr "បន្ថែម" + +#: templates/admin/cms/page/menu_item.html:65 +msgid "Approve directly" +msgstr "យល់​ព្រម​ភ្លាមៗ" + +#: templates/admin/cms/page/menu_item.html:67 +#: templates/admin/cms/page/menu_item.html:79 +#: templates/admin/cms/page/menu_item.html:81 +msgid "view" +msgstr "មើល" + +#: templates/admin/cms/page/menu_item.html:72 +msgid "Unpublish" +msgstr "លែង​ផ្សាយ" + +#: templates/admin/cms/page/menu_item.html:79 +msgid "View on page" +msgstr "មើល​នៅ​លើ​ទំព័រ" + +#: templates/admin/cms/page/moderation_messages.html:4 +msgid "Action" +msgstr "សកម្មភាព" + +#: templates/admin/cms/page/moderation_messages.html:5 +msgid "Created" +msgstr "បាន​បង្កើត" + +#: templates/admin/cms/page/moderation_messages.html:7 +msgid "Message" +msgstr "សារ" + +#: templates/admin/cms/page/permissions.html:7 +msgid "Group" +msgstr "ក្រុម" + +#: templates/admin/cms/page/permissions.html:8 +msgid "Can edit" +msgstr "អាច​កែប្រែ" + +#: templates/admin/cms/page/permissions.html:9 +msgid "Can add" +msgstr "អាច​បន្ថែម" + +#: templates/admin/cms/page/permissions.html:10 +msgid "Can delete" +msgstr "អាច​លុប" + +#: templates/admin/cms/page/permissions.html:11 +msgid "Can publish" +msgstr "អាច​ផ្សាយ" + +#: templates/admin/cms/page/permissions.html:12 +msgid "Can change permissions" +msgstr "អាច​ប្ដូរ​សិទ្ធិ" + +#: templates/admin/cms/page/permissions.html:13 +msgid "Can move" +msgstr "អាច​ផ្លាស់​ទី" + +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "អាច​ផ្លាស់​ទី" + +#: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 +msgid "(global)" +msgstr "(សកល)" + +#: templates/admin/cms/page/permissions.html:26 +msgid "(current)" +msgstr "(បច្ចុប្បន្ន)" + +#: templates/admin/cms/page/permissions.html:43 +msgid "All" +msgstr "ទាំង​អស់" + +#: templates/admin/cms/page/permissions.html:51 +msgid "Page doesn't inherit any permissions." +msgstr "ទំព័រ​មិន​ត្រូវ​បាន​ទទួល​សិទ្ធិ​អ្វី​ទេ។" + +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + +#: templates/admin/cms/page/plugin_forms_history.html:9 +msgid "An old revision of a plugin can not be saved!" +msgstr "" + +#: templates/admin/cms/page/plugin_forms_ok.html:21 +msgid "Plugin saved successfully." +msgstr "បាន​រក្សា កម្មវិធី​បន្ថែម ទុក​ដោយ​ជោគ​ជ័យ។" + +#: templates/admin/cms/page/recover_form.html:17 +#, python-format +msgid "Recover deleted %(verbose_name)s" +msgstr "" + +#: templates/admin/cms/page/recover_form.html:24 +msgid "Press the save button below to recover this version of the object." +msgstr "" + +#: templates/admin/cms/page/revision_form.html:11 +#, python-format +msgid "Revert %(verbose_name)s" +msgstr "" + +#: templates/admin/cms/page/revision_form.html:24 +msgid "Press the save button below to revert to this version of the object." +msgstr "" + +#: templates/admin/cms/page/dialog/copy.html:4 +msgid "Copy options" +msgstr "ជម្រើស​ក្នុង​ការ​ចម្លង" + +#: templates/admin/cms/page/dialog/copy.html:6 +msgid "Choose copy options" +msgstr "រើស​ជម្រើស​នៃ​ការ​ចម្លង" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:7 +msgid "Generic" +msgstr "" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 +msgid "Add Plugin" +msgstr "បន្ថែម កម្មវិធី​បន្ថែម" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:18 +msgid "From Language" +msgstr "មក​ពី​ភាសា" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:25 +msgid "Copy Plugins" +msgstr "ចម្លង​កម្មវិធី​បន្ថែម" + +#: templates/admin/cms/page/widgets/plugin_editor.html:12 +msgid "You must save the page first to add plugins." +msgstr "អ្នក​ត្រូវ​តែ​រក្សា​ទំព័រ​ជា​មុន ដើម្បី​បន្ថែម​កម្មវិធី​បន្ថែម។" + +#: templates/admin/cms/page/widgets/plugin_editor.html:15 +msgid "No Plugin selected. Selected one on the left side" +msgstr "មិន​មាន​កម្មវិធី​បន្ថែម​ដែល​ត្រូវ​បាន​រើស​ទេ។ ជ្រើស​រើស​មួយ​ពី​ផ្នែក​ខាង​ឆ្វេង​នេះ" + +#: templates/admin/cms/page/widgets/plugin_editor.html:17 +msgid "No Plugins present. Add a plugin to this placeholder-slot." +msgstr "" + +#: templates/cms/toolbar/placeholder.html:32 +msgid "Available plugins" +msgstr "" + +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" + +#: templates/cms/toolbar/toolbar.html:23 +msgid "Are you sure you want to delete this plugin?" +msgstr "តើ​អ្នក​ប្រាកដ​ថា​ចង់​លុប កម្មវិធី​បន្ថែម មួយ​នេះ?" + +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "ទៅ​លើ" + +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "ចុះ​ក្រោម" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" +msgstr "ឈ្មោះ​ប្រើ​ប្រាស់" + +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" +msgstr "ភ្ជាប់​ចូល" + +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "ស្ថាន​ភាព" + +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" + +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" + +#: templatetags/cms_admin.py:99 +msgid "Unbind page moderation" +msgstr "" + +#: templatetags/cms_admin.py:100 +msgid "Unbind children moderation" +msgstr "" + +#: templatetags/cms_admin.py:101 +msgid "Unbind descendants moderation" +msgstr "" + +#: templatetags/cms_tags.py:78 +#, python-format +msgid "Page not found on %(domain)s" +msgstr "" + +#: templatetags/cms_tags.py:79 +#, python-format +msgid "" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" +"`. The URL of the request was: http://%(host)s%(path)s" +msgstr "" + +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - គណនី​ប្រើ​ប្រាស់​របស់​អ្នក ត្រូវ​បាន​បង្កើត​ហើយ។" + +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - គណនី​ប្រើ​ប្រាស់​របស់​អ្នក ត្រូវ​បាន​ផ្លាស់​ប្ដូរ​ហើយ។" + +#: utils/moderator.py:83 +msgid "parent first" +msgstr "ឪពុកទីមួយ" + +#: utils/moderator.py:90 +msgid "approve" +msgstr "យល់​ព្រម" + +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - ទំព័រ %s ស្នើ​អោយ​មាន​ការ​យល់​ព្រម។" + +#~ msgid "Missing flash plugin." +#~ msgstr "ខ្វះ​កម្មវិធី​បន្ថែម ហ្វ្លាស់។" + +#~ msgid "Move to %(name)s" +#~ msgstr "ផ្លាស់​ទី​ទៅ %(name)s" + +#~ msgid "move" +#~ msgstr "ផ្លាស់​ទី" + +#~ msgid "add child" +#~ msgstr "បន្ថែម​កូន" + +#~ msgid "history" +#~ msgstr "ប្រវត្តិ" + +#~ msgid "Lock" +#~ msgstr "ចាក់​សោរ" + +#~ msgid "Close" +#~ msgstr "បិទ" + +#~ msgid "Settings" +#~ msgstr "ការ​កំណត់" + +#~ msgid "Delete Plugin" +#~ msgstr "លុប​កម្មវិធី​បន្ថែម" + +#~ msgid "Wanted language has not been translated yet." +#~ msgstr "ភាសា​ដែល​ត្រូវ​ការ​មិន​ទាន់​ត្រូវ​បាន​បក​ប្រែ​ទេ។" diff --git a/cms/locale/km/LC_MESSAGES/djangojs.mo b/cms/locale/km/LC_MESSAGES/djangojs.mo new file mode 100644 index 00000000000..c8db0620548 Binary files /dev/null and b/cms/locale/km/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/km/LC_MESSAGES/djangojs.po b/cms/locale/km/LC_MESSAGES/djangojs.po new file mode 100644 index 00000000000..5a0b3fe7a7f --- /dev/null +++ b/cms/locale/km/LC_MESSAGES/djangojs.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# សុវិចិត្រ Sovichet ទេព Tep , 2011. +msgid "" +msgstr "" +"Project-Id-Version: django-cms\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: ojii \n" +"Language-Team: LANGUAGE \n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: static/cms/js/change_form.js:31 +msgid "" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" +msgstr "តើ​អ្នក​ប្រាកដ​ថា​ចង់​ប្ដូរ %(field_name)s ដោយ​មិនមាន​ការ​រក្សា​ទុក​ទំព័រ​ជា​មុនឬ?" + +#: static/cms/js/change_form.js:69 +msgid "" +"Not all plugins are saved. Are you sure you want to save the page?\n" +"All unsaved plugin content will tried to save." +msgstr "" + +#: static/cms/js/change_form.js:127 +msgid "Are you sure you want to change tabs without saving the page first?" +msgstr "តើ​ប្រាកដ​ថា​ចង់​ប្ដូរ ផ្ទាំង ដោយ​មិន​មាន​ការ​រក្សា​ទុក​ទំព័រ​ជា​មុន​ឬ?" + +#: static/cms/js/plugin_editor.js:132 +msgid "Are you sure you want to delete this plugin?" +msgstr "តើ​ប្រាកដ​ថា​ចង់​លុប កម្មវិធី​បន្ថែម នៃ​ឬ?" diff --git a/cms/locale/nl/LC_MESSAGES/django.mo b/cms/locale/nl/LC_MESSAGES/django.mo index c611a2896bd..e188487dde7 100644 Binary files a/cms/locale/nl/LC_MESSAGES/django.mo and b/cms/locale/nl/LC_MESSAGES/django.mo differ diff --git a/cms/locale/nl/LC_MESSAGES/django.po b/cms/locale/nl/LC_MESSAGES/django.po index f728e9645d1..018f2edf28b 100644 --- a/cms/locale/nl/LC_MESSAGES/django.po +++ b/cms/locale/nl/LC_MESSAGES/django.po @@ -1,316 +1,407 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# Chris Wesseling , 2011. +# +# Chris Wesseling , 2011 msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-05-10 20:54+0200\n" -"Last-Translator: Chris Wesseling \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-05-20 08:37+0000\n" +"Last-Translator: ojii \n" "Language-Team: divio.ch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.6.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Bewerk-modus" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publiceer" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "Verzoek Goedkeuring" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Uitloggen" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Sjabloon" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Pagina's verplaatsen/toevoegen" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Sub-pagina toevoegen" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Voeg pagina in op hetzelfde niveau" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Pagina verwijderen" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Pagina" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Website Administratie" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Paginainstellingen" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Geschiedenis weergeven" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Geavanceerde opties" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Titel" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "De standaard-titel" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Het gedeelte van de titel dat gebruikt wordt voor de URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Taal" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "De huidige taal van de inhoudsvelden." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Er bestaat al een pagina met dezelfde slug" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Menu-titel" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Overschrijf wat wordt weergegeven in het menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Pagina-titel" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Overschrijft wat wordt weergegeven in de titelbalk van de browser of " -"in bladwijzers" +"Overschrijft wat wordt weergegeven in de titelbalk van de browser of in " +"bladwijzers" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Applicatie" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Koppel een applicatie aan deze pagina." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Overschrijf URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Laat dit veld leeg als het standaard-pad gebruikt moet worden." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Doorsturen" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Stuurt door naar deze URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "" -"Een beschrijving van de pagina die soms door zoekmachines wordt " -"gebruikt." +"Een beschrijving van de pagina die soms door zoekmachines wordt gebruikt." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Een door komma's gescheiden lijst van trefwoorden die soms door " -"zoekmachines wordt gebruikt." +"Een door komma's gescheiden lijst van trefwoorden die soms door zoekmachines " +"wordt gebruikt." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Er bestaat al een pagina met dit omgekeerde URL kenmerk." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Ongeldige URL, gebruik het formaat /mijn/url." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Er bestaat al een pagina met dezelfde slug" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "gebruiker" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Om het recht te hebben pagina's toe te voegen, is ook toegang nodig " -"tot de kinderen (of afstammelingen), anders kan de toegevoegde pagina " -"niet door zijn maker worden aangepast." +"Om het recht te hebben pagina's toe te voegen, is ook toegang nodig tot de " +"kinderen (of afstammelingen), anders kan de toegevoegde pagina niet door " +"zijn maker worden aangepast." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"Voor het recht om pagina's toe te voegen is ook het recht nodig " -"pagina's te bewerken." +"Voor het recht om pagina's toe te voegen is ook het recht nodig pagina's te " +"bewerken." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "toon" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Kies a.u.b. eerst de gebruiker of groep." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Toevoegen" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Aanpassen" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Verwijderen" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Pagina's herstellen" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Licht gebruiker in" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Stuur een e-mailnotificatie naar de gebruiker over het aanpassen van " -"de gebruikersnaam of het wachtwoord. Hiervoor is het e-mailadres van " -"de gebruiker nodig." +"Stuur een e-mailnotificatie naar de gebruiker over het aanpassen van de " +"gebruikersnaam of het wachtwoord. Hiervoor is het e-mailadres van de " +"gebruiker nodig." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nieuw wachtwoord" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Nieuw wachtwoord bevestigen" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Voor e-mailnotificatie is een geldig e-mailadres vereist." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"Het recht om pagina's toe te voegen vereist het recht pagina's aan te " -"passen!" +"Het recht om pagina's toe te voegen vereist het recht pagina's aan te passen!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Het recht om gebruikers toe te voegen vereist het recht om gebruikers " -"aan te passen!" +"Het recht om gebruikers toe te voegen vereist het recht om gebruikers aan te " +"passen!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Om rechten toe te voegen moet je ze ook bewerken!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Verborgen" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Basisinstelling" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Opmerking: Deze pagina herlaadt wanneer je de selectie verandert. Sla " -"het eerst op." +"Opmerking: Deze pagina herlaadt wanneer je de selectie verandert. Sla het " +"eerst op." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Verborgen" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Geavanceerde instellingen" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "SEO instellingen" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "hoger" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Database fout" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "pagina" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Pagina is succesvol goedgekeurd." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, 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." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Er bestaat slechts één vertaling voor deze pagina" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Titel en plugins voor de taal %(language)s zijn verwijderd" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Weet je het zeker?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Je bent niet toegestaan deze pagina te publiceren" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -"Je bent niet toegestaan om de in_navigatie toestand van deze pagina " -"aan te passen" +"Je bent niet toegestaan om de in_navigatie toestand van deze pagina aan te " +"passen" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Je bent niet toegestaan deze pagina de bewerken" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "De taal moet worden ingesteld op een ondersteunde taal!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s-plugin toegevoegd aan %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "De taal moet verschillend zijn van de gekopieerde taal!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "%(language)s plugins zijn gekopieerd naar %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"%(plugin_name)s-plugin bewerkt op positie %(position)s in " -"%(placeholder)s" +"%(plugin_name)s-plugin bewerkt op positie %(position)s in %(placeholder)s" + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Je bent niet toegestaan deze pagina de bewerken" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugins zijn verplaatst" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " @@ -319,27 +410,50 @@ msgstr "" "%(plugin_name)s-plugin op positie %(position)s in %(placeholder)s is " "verwijderd." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Pagina-rechten" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Gebruikers- & groepsrechten" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Pagina-rechten beheer" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Je bent niet toegestaan deze pagina de bewerken" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Gebruikersdetails" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Groepen" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Wachtwoord" @@ -351,7 +465,7 @@ msgstr "Kopiëer rechten" msgid "Copy moderation" msgstr "Kopiëer moderatie" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Erf het sjabloon van de dichtstbijzijnde voorouder" @@ -371,27 +485,37 @@ msgstr "Nog één toevoegen" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "taal" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "pagina" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "positie" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "datum aangemaakt" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "plek" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin_naam" @@ -416,15 +540,15 @@ msgstr "slug" msgid "everybody" msgstr "iedereen" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "kan bewerken" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "groep" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "kan publiceren" @@ -462,28 +586,28 @@ msgstr "auteur" msgid "reverse url id" msgstr "omgekeerde URL kenmerk" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "inloggen vereist" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "schijn-oorsprong" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "datum einde publicatie" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "sjabloon" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "publicatiedatum" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "in navigatie" @@ -493,7 +617,7 @@ msgstr "in navigatie" msgid "application" msgstr "applicatie" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -530,26 +654,21 @@ msgstr "Pagina-afstammelingen" msgid "Page and descendants" msgstr "Pagina en afstammelingen" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Pagina" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Gebruiker" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Modereer pagina" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Modereer kinderen" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Modereer afstammelingen" @@ -557,195 +676,200 @@ msgstr "Modereer afstammelingen" msgid "PageModerator" msgstr "PaginaModerator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "aangemaakt" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "aangepast" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "verwijderen vereist" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "verplaatsen vereist" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publiceren vereist" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "depubliceren vereist" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "goedgekeurd" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Pagina moderatie-toestand" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Pagina moderatie-toestanden" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "goedkeuren vereist" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "verwijder" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "ouders goedkeuren vereist" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "alleen voor aangemelde gebruikers" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "alleen voor anonieme gebruikers" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "aangemaakt door" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "bewerkt door" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Wanneer de pagina publiek moet worden. Status moet op \"Gepubliceerd\" " -"staan om publiek te worden." +"Wanneer de pagina publiek moet worden. Status moet op \"Gepubliceerd\" staan " +"om publiek te worden." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Wanneer de pagina verloopt. Laat leeg om nooit te laten verlopen." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Alle ouders zullen niet worden weergegeven in de navigatie" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Een unieke naam die door de 'page_url' sjabloon-tag wordt gebruikt om " -"naar deze pagina te verwijzen." +"Een unieke naam die door de 'page_url' sjabloon-tag wordt gebruikt om naar " +"deze pagina te verwijzen." -#: models/pagemodel.py:69 -#, fuzzy +#: models/pagemodel.py:71 msgid "attached menu" -msgstr "bevestigd menu" +msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "is gepuliceerd" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Het sjabloon dat gebruikt wordt om de inhoud weer te geven." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "De website waarop deze pagina toegankelijk is." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "website" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "moderatie-toestand" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "menu zichtbaarheid" -#: models/pagemodel.py:83 -#, fuzzy +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" -msgstr "limiteer wanneer deze pagina zichtbaar is in het menu" +msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "pagina's" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Pagina is gekopiëerd." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "standaard" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "kan toevoegen" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "kan verwijderen" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "kan geavanceerde instellingen aanpassen" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "kan rechten aanpassen" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "op pagina-niveau" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "kan verplaatsen" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "kan modereren" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "kan pagina's herstellen" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "kan iedere verwijderde pagina herstellen" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "Als niets gekozen is, heeft de gebruiker rechten voor alle websites." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "websites" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Globaal pagina-recht" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Globale pagina-rechten" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Toestemming aan" @@ -753,28 +877,28 @@ msgstr "Toestemming aan" msgid "Page permission" msgstr "Pagina-rechten" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Gebruiker (pagina)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Gebruikers (pagina)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Gebruikersgroep (pagina)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Gebruikersgroepen (pagina)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "breedte" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -799,6 +923,10 @@ msgstr "Bestand" msgid "file" msgstr "bestand" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -812,9 +940,18 @@ msgstr "gebruik swf-bestand" msgid "height" msgstr "hoogte" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Ontbrekende flash-plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Flash plugin niet gevonden. Download hier" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -851,8 +988,8 @@ msgstr "breedtegraad" #: plugins/googlemap/models.py:19 msgid "Use latitude & longitude to fine tune the map possiton." msgstr "" -"Gebruik breedtegraad & lengtegraad om de positie op de kaart " -"nauwkeurig in te stellen." +"Gebruik breedtegraad & lengtegraad om de positie op de kaart nauwkeurig in " +"te stellen." #: plugins/googlemap/models.py:20 msgid "longitude" @@ -874,19 +1011,19 @@ msgstr "routeplanner" msgid "Map" msgstr "Kaart" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "Uw adres:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Bereken route" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Plugins overerfen van de Pagina" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Taal of Pagina moet ingevuld zijn" @@ -895,8 +1032,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Kies een pagina om diens plugins in de 'placeholder' in te voegen, " -"indien leeggelaten wordt de huidige pagina gekozen" +"Kies een pagina om diens plugins in de 'placeholder' in te voegen, indien " +"leeggelaten wordt de huidige pagina gekozen" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -914,7 +1051,7 @@ msgid "name" msgstr "naam" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "link" @@ -935,40 +1072,44 @@ msgstr "Een e-mailadres heeft voorang op een tekst-link." msgid "Picture" msgstr "Afbeelding" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "links" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "rechts" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "afbeelding" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "indien opgegeven zal de afbeelding klikbaar zijn" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "alternatieve tekst" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "een tekstuele omschrijving van de afbeelding" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "lange beschrijving" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "een aanvullende beschrijving van de afbeelding" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "kant" @@ -988,11 +1129,10 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Voer een sjabloon in (bijv. \"knipsels/plugin_xy.html\") dat weergegeven" -" zal worden." +"Voer een sjabloon in (bijv. \"knipsels/plugin_xy.html\") dat weergegeven zal " +"worden." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -1011,6 +1151,7 @@ msgid "If present image will be clickable." msgstr "Indien opgegeven zal de afbeelding klikbaar zijn." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "meer" @@ -1028,55 +1169,54 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Kies a.u.b. een plugin-type." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Geselecteerde plugin bewerken" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "" -"Tekst-bewerker biedt geen ondersteuning voor het bewerken van " -"objecten." +"Tekst-bewerker biedt geen ondersteuning voor het bewerken van objecten." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Geen object geselecteerd." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "" -"Tekst-bewerker biedt geen ondersteuning voor het invoegen van " -"objecten." +"Tekst-bewerker biedt geen ondersteuning voor het invoegen van objecten." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Geen plugin-object" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Beschikbare plugins" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Plugin invoegen" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "Twitter-zoekopdracht" @@ -1099,13 +1239,12 @@ msgstr "link hint" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Indien opgegeven wordt deze hint weergegeven als een link naar je " -"Twitter-profiel." +"Indien opgegeven wordt deze hint weergegeven als een link naar je Twitter-" +"profiel." #: plugins/twitter/models.py:16 -#, fuzzy msgid "query" -msgstr "opdracht" +msgstr "" #: plugins/twitter/models.py:16 msgid "" @@ -1117,6 +1256,31 @@ msgstr "" "van de gebruiker \"umbrella\" aan de gebruiker \"nemesis\" die de woorden " "\"hersenen\" en \"zombies\" bevatten" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Bezig met laden..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Video" @@ -1138,12 +1302,13 @@ msgid "movie url" msgstr "video url" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"Vimeo of YouTube video url. Voorbeeld:\r\n" -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"Vimeo of YouTube video url. Voorbeeld:http://www.youtube.com/watch?v=YFa59lK-" +"kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1204,17 +1369,9 @@ msgstr "knop \"over\" kleur" msgid "button highlight color" msgstr "knop \"oplicht\" kleur" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Flash plugin niet gevonden. Download hier" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Opslaan" @@ -1232,22 +1389,19 @@ msgid "Save and add another" msgstr "Opslaan en nog een toevoegen" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Opslaan en opnieuw bewerken" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"Pagina %(page)s moet mogelijk door jou " -"worden goedgekeurd." +"Pagina %(page)s moet mogelijk door jou worden " +"goedgekeurd." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Laatste aanpassingen" @@ -1256,28 +1410,21 @@ msgstr "Laatste aanpassingen" msgid "Log in to administration here." msgstr "Log hier in op de administratie." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "Login url: %(login_url)s" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Gebruikersnaam:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Wachtwoord:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Bewerk een pagina" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1285,81 +1432,81 @@ msgstr "Bewerk een pagina" msgid "Home" msgstr "Voorpagina" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Pagina verwijderen goedkeuren" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(moet goedgekeurd worden op %(moderation_level)s-niveau)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(je kunt direct acties uitvoeren op deze pagina)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Verwijder verzoek tot verwijderen" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Verwijderen goedkeuren" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Goedkeuren" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "concept" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Voorbeeld" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Geschiedenis" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Toon op website" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Herstel a.u.b. de fout hieronder." msgstr[1] "Herstel a.u.b. de fouten hieronder." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Alle rechten" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Bezig met laden..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Pagina toestanden" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Deze pagina moet gemodereerd worden op %(moderation_level)s-niveau, " -"stuur een bericht naar de moderator." +"Deze pagina moet gemodereerd worden op %(moderation_level)s-niveau, stuur " +"een bericht naar de moderator." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Goedkeuren verzoek" @@ -1367,41 +1514,41 @@ msgstr "Goedkeuren verzoek" msgid "List of pages" msgstr "Lijst van pagina's" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Succesvol verplaatst" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Er is een fout opgetreden. Herlaad a.u.b. de pagina." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Herstel verwijderde %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Voeg %(name)s toe" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Pagina's op:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filter:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "aan" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "uit" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filter" @@ -1425,7 +1572,11 @@ msgstr "start" msgid "end" msgstr "eind" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "laatste aanpassingen" @@ -1439,8 +1590,7 @@ msgid "edit this page" msgstr "bewerk deze pagina" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "bewerken" @@ -1496,7 +1646,6 @@ msgid "add" msgstr "toevoegen" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Direct goedkeuren" @@ -1510,11 +1659,6 @@ msgstr "toon" msgid "Unpublish" msgstr "Depubliceer" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publiceer" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Toon op pagina" @@ -1559,28 +1703,38 @@ msgstr "Kan rechten aanpassen" msgid "Can move" msgstr "Kan verplaatsen" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Kan verplaatsen" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(globaal)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(huidig)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Alle" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Pagina erft geen rechten." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Een oude revisie van een plugin kan niet worden opgeslagen!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Plugin succesvol opgeslagen." @@ -1603,8 +1757,8 @@ msgstr "Stel %(verbose_name)s terug" #: templates/admin/cms/page/revision_form.html:24 msgid "Press the save button below to revert to this version of the object." msgstr "" -"Druk op de Oplaan-knop hieronder om naa deze versie van het object " -"terug te stellen." +"Druk op de Oplaan-knop hieronder om naa deze versie van het object terug te " +"stellen." #: templates/admin/cms/page/dialog/copy.html:4 msgid "Copy options" @@ -1619,7 +1773,6 @@ msgid "Generic" msgstr "Algemeen" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Voeg plugin toe" @@ -1643,126 +1796,62 @@ msgstr "Geen plugin gekozen. Kies er een aan de linker kant" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Geen plugins aanwezig. Voeg een plugin toe aan deze plaatshouder-plek." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "Beschikbare plugins" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Verplaats naar %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Weet je zeker dat je deze plugin wilt verwijderen?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Bewerk-modus" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "omhoog" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Status" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "naar beneden" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Gebruikersnaam" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "inloggen" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "Verzoek Goedkeuring" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Sjabloon" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "verplaats" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Pagina's verplaatsen/toevoegen" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "Kind toevoegen" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Sub-pagina toevoegen" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "voeg in op hetzelfde niveau" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Voeg pagina in op hetzelfde niveau" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Pagina verwijderen" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Website Administratie" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Paginainstellingen" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "geschiedenis" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Geschiedenis weergeven" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Uitloggen" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Op slot" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Sluiten" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "omhoog" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "naar beneden" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Status" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Instellingen" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Plugin verwijderen" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Pagina-moderatie ontbinden" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Kind-moderatie ontbinden" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Afstammelingen-moderatie ontbinden" @@ -1772,116 +1861,117 @@ msgid "Page not found on %(domain)s" msgstr "Pagina niet gevonden in %(domain)s" #: templatetags/cms_tags.py:79 -#, fuzzy, python-format +#, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -"Een sjabloon tag kon de pagina met zoekopdracht `%(page_lookup)s`. De URL " -"van het verzoek was: http://%(host)s%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "Engels" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - je gebruikersaccount is aangemaakt." -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "Frans" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - je gebruikersaccount is veranderd." -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "Duits" +#: utils/moderator.py:83 +msgid "parent first" +msgstr "ouder eerst" -#: test/run_tests.py:140 test/project/settings.py:119 -#, fuzzy -msgid "Brazil" -msgstr "Brazilië" +#: utils/moderator.py:90 +msgid "approve" +msgstr "keur goed" -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "Nederlands" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - Pagina %s moet goedgekeurd worden." -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "twee kolommen" +#~ msgid "Missing flash plugin." +#~ msgstr "Ontbrekende flash-plugin." -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "drie kolommen" +#~ msgid "Login url: %(login_url)s" +#~ msgstr "Login url: %(login_url)s" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "navigatie voorbeelden" +#~ msgid "Move to %(name)s" +#~ msgstr "Verplaats naar %(name)s" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "zijbalk kolom" +#~ msgid "move" +#~ msgstr "verplaats" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "linker kolom" +#~ msgid "add child" +#~ msgstr "Kind toevoegen" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "rechter kolom" +#~ msgid "add sibling" +#~ msgstr "voeg in op hetzelfde niveau" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "Artikelen" +#~ msgid "history" +#~ msgstr "geschiedenis" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "Voorbeeld App" +#~ msgid "Lock" +#~ msgstr "Op slot" -#: test/apps/sampleapp/menu.py:17 -#, fuzzy -msgid "sample root page" -msgstr "voorbeeld root pagina" +#~ msgid "Close" +#~ msgstr "Sluiten" -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "voorbeeld instellingenpagina" +#~ msgid "Settings" +#~ msgstr "Instellingen" -#: test/apps/sampleapp/menu.py:19 -#, fuzzy -msgid "sample account page" -msgstr "voorbeeld account pagina" +#~ msgid "Delete Plugin" +#~ msgstr "Plugin verwijderen" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "voorbeeld mijn profiel pagina" +#~ msgid "English" +#~ msgstr "Engels" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "Statisch Menu" +#~ msgid "French" +#~ msgstr "Frans" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "Statisch Menu2" +#~ msgid "German" +#~ msgstr "Duits" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "ouder eerst" +#~ msgid "Dutch" +#~ msgstr "Nederlands" -#: utils/moderator.py:90 -msgid "approve" -msgstr "keur goed" +#~ msgid "two columns" +#~ msgstr "twee kolommen" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - Pagina %s moet goedgekeurd worden." +#~ msgid "three columns" +#~ msgstr "drie kolommen" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - je gebruikersaccount is aangemaakt." +#~ msgid "navigation examples" +#~ msgstr "navigatie voorbeelden" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - je gebruikersaccount is veranderd." +#~ msgid "sidebar column" +#~ msgstr "zijbalk kolom" + +#~ msgid "left column" +#~ msgstr "linker kolom" + +#~ msgid "right column" +#~ msgstr "rechter kolom" + +#~ msgid "Articles" +#~ msgstr "Artikelen" + +#~ msgid "Sample App" +#~ msgstr "Voorbeeld App" + +#~ msgid "sample settings page" +#~ msgstr "voorbeeld instellingenpagina" + +#~ msgid "sample my profile page" +#~ msgstr "voorbeeld mijn profiel pagina" + +#~ msgid "Static Menu" +#~ msgstr "Statisch Menu" + +#~ msgid "Static Menu2" +#~ msgstr "Statisch Menu2" -#~ msgid "Revisions" -#~ msgstr "Revisies" +#~ msgid "fgcolor" +#~ msgstr "voorgrondkleur" #~ msgid "Wanted language has not been translated yet." #~ msgstr "Er is nog niet naar de gevraagde taal vertaald." diff --git a/cms/locale/nl/LC_MESSAGES/djangojs.mo b/cms/locale/nl/LC_MESSAGES/djangojs.mo index 438aec0c28e..260f7af04cd 100644 Binary files a/cms/locale/nl/LC_MESSAGES/djangojs.mo and b/cms/locale/nl/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/nl/LC_MESSAGES/djangojs.po b/cms/locale/nl/LC_MESSAGES/djangojs.po index bf7d535bdc0..a000e75e7e6 100644 --- a/cms/locale/nl/LC_MESSAGES/djangojs.po +++ b/cms/locale/nl/LC_MESSAGES/djangojs.po @@ -1,46 +1,41 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# Chris Wesseling , 2011. +# +# Chris Wesseling , 2011 msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-05-10 20:58+0200\n" -"Last-Translator: Chris Wesseling \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.6.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" "Weet je zeker dat je het veld %(field_name)s wilt aanpassen zonder de pagina " "eerst op te slaan?" -#: media/cms/js/change_form.js:69 -#, fuzzy +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -"Niet alle plugins zijn opgeslagen. Weet u zeker dat u de pagina wilt " -"opslaan?\n" -"Alle onopgeslagen plugin inhoud zal opgeslagen geprobeerd te worden." -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Weet je zeker dat je van tabblad wilt wisselen zonder de pagina op te " -"slaan?" +"Weet je zeker dat je van tabblad wilt wisselen zonder de pagina op te slaan?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Weet je zeker dat je deze plugin wilt verwijderen?" diff --git a/cms/locale/no/LC_MESSAGES/django.mo b/cms/locale/no/LC_MESSAGES/django.mo index 5e3620196f1..af19537a557 100644 Binary files a/cms/locale/no/LC_MESSAGES/django.mo and b/cms/locale/no/LC_MESSAGES/django.mo differ diff --git a/cms/locale/no/LC_MESSAGES/django.po b/cms/locale/no/LC_MESSAGES/django.po index c909e393671..0ae175631f1 100644 --- a/cms/locale/no/LC_MESSAGES/django.po +++ b/cms/locale/no/LC_MESSAGES/django.po @@ -1,15 +1,17 @@ # 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 , YEAR. # +# Translators: +# , 2011. +# , 2011. msgid "" msgstr "" "Project-Id-Version: django-cms\n" "Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" -"Last-Translator: ojii \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-09-10 18:43+0000\n" +"Last-Translator: fivethreeo \n" "Language-Team: divio.ch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,285 +22,369 @@ msgstr "" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Redigeringsmodus" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "django CMS" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publiser" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "Forespør godkjenning" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Logg ut" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Template" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Flytt/legg til sider" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Legg til underside" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "legg til søsken side" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Slett side" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Side" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Sideadministrasjon" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Sideinstillinger" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "is historie" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "Administrator" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Avanserte valg" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Tittel" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Standard tittel" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Delen av tittelen som brukes i adressen" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Språk" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Det aktive språket for innholdsfeltene." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "En annen side med denne slug finnes allerede" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Menytittel" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Overstyr hva som vises i menyen" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Sidetittel" -#: admin/forms.py:131 -msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +#: admin/forms.py:138 +msgid "" +"Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Overstyrer hva som vises på toppen av nettleseren din eller i " -"bokmerker" +"Overstyrer hva som vises på toppen av nettleseren din eller i bokmerker" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Applikasjon" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Koble applikasjon til denne siden" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Overstyr adresse" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "La dette feltet være tomt hvis standardadresse skal brukes" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Videresend" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Videresendes til denne adressen" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "En beskrivelse som noen ganger brukes av søkemotorer" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "En liste av stikkord noen ganger brukes av søkemotorer" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "En side med denne reversadresse id'en finnes allerede." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Ugyldig adresse, bruk formatet /min/adresse ." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "Side med redireksjonsadresse %r finnes allerede" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "bruker" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Legg til side tillatelse krever også tilgang til barn eller undernivå," -" ellers kan ikke endres av den som opprettet den." +"Legg til side tillatelse krever også tilgang til barn eller undernivå, " +"ellers kan ikke endres av den som opprettet den." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Legg til side tillatelse krever også redigeringstillatelse." -#: admin/forms.py:245 +#: admin/forms.py:248 +msgid "can_view" +msgstr "kan vise" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Vennligst velg en bruker eller gruppe først." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Legg til" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Endre" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Slett" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Gjenopprett sider" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Varsle bruker" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Send epostvarsling til brukeren om brukernavn eller passordendring. " -"Krever epost." +"Send epostvarsling til brukeren om brukernavn eller passordendring. Krever " +"epost." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nytt passord" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Bekreft nytt passord" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Epostvarsling krever en gyldig epostadresse" -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"Rettigheren for å legge til nye sider krever rettigheten til å endre " -"sider!" +"Rettigheren for å legge til nye sider krever rettigheten til å endre sider!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Rettigheten for å legge til nye brukere krever rettigheten til å endre" -" brukere!" +"Rettigheten for å legge til nye brukere krever rettigheten til å endre " +"brukere!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "For å legge til rettigherer må du også endre dem!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Gjemt" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Grunnleggende innstillinger" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "NB: Siden lastes om hvis du endrer valget. Lagre siden først." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Gjemt" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Avanserte instillinger" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Søkemotoroptimaliseringsinstillinger" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +msgid "You have no permission to change the template" +msgstr "Du har ingen rettighet til å endre mal" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "høyere" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Databasefeil" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "side" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Siden ble godkjent" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Objekter %(name)s med primærnøkkel %(key)r finnes ikke." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Det finnes bare en oversettelse for denne siden" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Tittel og plugins med språk %(language)s ble slettet" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Er du sikker?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Du har ikke rettigheter til å publisere denne siden" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "Du har ikke rettigheter til å endre denne sidens \"i navigasjon\" status" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" -msgstr "Du har ikke rettigheter til å endre denne siden" +#: admin/pageadmin.py:1079 +msgid "You have no permission to add a plugin" +msgstr "Du har ingen rettigheter til å legge inn en plugin" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Språket må settes til et støttet språk!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s plugin lagt til %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Du har ikke rettigheter til å endre denne siden" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Språket muå være et annet en det kopierte språket!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +msgid "You do not have permission to add plugins" +msgstr "Du har ingen rettigheter til å legge inn plugins" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "Kopiert plugins med språket %(language)s til %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +msgid "You have no permission to change this page" +msgstr "Du har ingen rettigheter til å endre denne siden" + +#: admin/pageadmin.py:1221 +msgid "You have no permission to edit a plugin" +msgstr "Du har ingen rettigheter til å endre en plugin" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"%(plugin_name)s plugin redigert på posisjon %(position)s i " -"%(placeholder)s" +"%(plugin_name)s plugin redigert på posisjon %(position)s i %(placeholder)s" + +#: admin/pageadmin.py:1311 +msgid "You have no permission to move a plugin" +msgstr "Du har ingen rettigheter til å flytte en plugin" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugins ble flyttet" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +msgid "You have no permission to remove a plugin" +msgstr "Du har ingen rettigheter til å slette en plugin" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " @@ -307,27 +393,47 @@ msgstr "" "%(plugin_name)s plugin på posisjon %(position)s i %(placeholder)s ble " "slettet." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "Vis restriksjon" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "Vis restriksjoner" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Siderettigheter" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Bruker og grupperettigheter" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Kontroll av siderettigheter" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +msgid "You don't have permission to add content here." +msgstr "Du har ikke rettigheter til å legge til innhold her" + +#: admin/placeholderadmin.py:187 +msgid "You don't have permission to add plugins" +msgstr "Du har ikke rettigheter til å legge inn plugins" + +#: admin/placeholderadmin.py:288 +msgid "You don't have permission to delete a plugin" +msgstr "Du har ingen rettigheter til å slette en plugin" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Brukerdetaljer" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Grupper" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Passord" @@ -339,17 +445,17 @@ msgstr "Kopier rettigheter" msgid "Copy moderation" msgstr "Kopier moderering" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Arv mal med nærmeste stamfar" #: forms/fields.py:19 msgid "Select a valid site" -msgstr "" +msgstr "Velg et gyldig nettsted" #: forms/fields.py:20 msgid "Select a valid page" -msgstr "" +msgstr "Velg en gyldig side" #: forms/widgets.py:173 msgid "Add Another" @@ -359,27 +465,37 @@ msgstr "Legg til en side til" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "språk" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "side" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "posisjon" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "opprettelsesdsato" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" -msgstr "" +msgstr "plass" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin_navn" @@ -394,7 +510,7 @@ msgstr "tittel" #: migrations/0001_initial.py:28 msgid "path" -msgstr "" +msgstr "sti" #: migrations/0001_initial.py:30 models/titlemodels.py:13 msgid "slug" @@ -404,15 +520,15 @@ msgstr "slug" msgid "everybody" msgstr "alle" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "kan redigere" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "gruppe" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "kan publisere" @@ -450,28 +566,28 @@ msgstr "forfatter" msgid "reverse url id" msgstr "revers adresse id" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "krever innlogging" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "soft root" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "slutt publiseringsdato" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "template" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "publiseringsdate" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "i navigasjon" @@ -481,7 +597,7 @@ msgstr "i navigasjon" msgid "application" msgstr "applikasjon" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -518,26 +634,21 @@ msgstr "Undernivå av side" msgid "Page and descendants" msgstr "Side og undernivå" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Side" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Bruker" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderer side" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" -msgstr "" +msgstr "Moderer barn" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderer undernivå" @@ -545,193 +656,200 @@ msgstr "Moderer undernivå" msgid "PageModerator" msgstr "SideModerator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "opprettet" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "endret" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "slett rekv." -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "flytt rekv." -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publiser rekv." -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "upubliser rekv." -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "godkjent" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Moderatorstatus for side" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Sidemoderator nivå" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "req. app." -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "slett" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" -msgstr "" +msgstr "kun for innloggede brukere" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" -msgstr "" +msgstr "kun for anonyme brukere" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "opprettet av" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "endret av" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Når sideb skal gjøres offentlig. Status må være \"Publisert\" for at " -"siden skal vises." +"Når sideb skal gjøres offentlig. Status må være \"Publisert\" for at siden " +"skal vises." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Når siden utløper. La stå tom for aldri." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Alle undernivå vil ikke vises i navigasjonen" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"En unik identifikaror sum brukes med page_url templatetag for å linke " -"til en side" +"En unik identifikaror sum brukes med page_url templatetag for å linke til en" +" side" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" -msgstr "" +msgstr "tilknyttet meny" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "er poblisert" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Template brukt for å rendre innholdet." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Nettstedet siden er tilgjengelig på" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "nettsted" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "modererings status" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" -msgstr "" +msgstr "menyvisbarhet" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" -msgstr "" +msgstr "begrens når denne siden er synlig i menyen" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "sider" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Siden ble kopiert." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "standard" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "kan legge til" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "kan slette" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "kan endre avanserte instillinger" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "kan endre rettigheter" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "på sidenivå" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "kan flytte" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "kan moderere" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "visningsrestriktert" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "offentlig visningsrestriksjon" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "kan gjenopprette sider" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "kan gjenopprette hvilken som helst side" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "Hvis ingen er valgt har brukeren rettigheter til alle nettsteder." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "nettsteder" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Globale siderettigheter" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Globale siderettigheter" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Godkjenn på" @@ -739,30 +857,30 @@ msgstr "Godkjenn på" msgid "Page permission" msgstr "Siderettighet" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Bruker (side)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Brukere (side)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Brukergruppe (side)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Brukergrupper (side)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "bredde" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" -msgstr "" +msgstr "" #: models/titlemodels.py:12 msgid "overwrite the title in the menu" @@ -770,7 +888,7 @@ msgstr "overskriv tittelen i menyen" #: models/titlemodels.py:14 msgid "Path" -msgstr "" +msgstr "Sti" #: models/titlemodels.py:20 msgid "overwrite the title (html title tag)" @@ -785,6 +903,10 @@ msgstr "Fil" msgid "file" msgstr "fil" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "fil manlger!" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -798,9 +920,16 @@ msgstr "bruk swf fil" msgid "height" msgstr "høyde" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Mangler flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Manglende flash plugin. Vennligst last ned den siste Adobe Flash Player:" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "Hent Adobe Flash Player" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -858,19 +987,19 @@ msgstr "ruteplanlegger" msgid "Map" msgstr "Kart" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " -msgstr "" +msgstr "Din adresse:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Kalkuler rute" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Arv plugins fra side" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Språk eller side må være fyllt inn" @@ -879,12 +1008,12 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Velg en side som skal inkludere sine plugins inn i denne " -"plassholderen, tomme vil velge denne siden" +"Velg en side som skal inkludere sine plugins inn i denne plassholderen, " +"tomme vil velge denne siden" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" -msgstr "" +msgstr "Valgfritt: språket til de plugins du vil ha" #: plugins/link/cms_plugins.py:12 msgid "Link" @@ -898,7 +1027,7 @@ msgid "name" msgstr "navn" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "link" @@ -919,40 +1048,44 @@ msgstr "En epost hat prioritet oven en tekstlenke" msgid "Picture" msgstr "Bilde" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "midtstilt" + +#: plugins/picture/models.py:15 msgid "left" msgstr "venstre" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "høyre" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "bilde" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "hvis til stede vil bildet være klikkbart" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "alternativ tekst" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "tekstbeskrivelse av bildet" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "lang beskrivelse" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "tilleggsbeskrivelse av bildet" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "side" @@ -972,11 +1105,9 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " #: plugins/snippet/models.py:25 msgid "Snippets" @@ -995,6 +1126,7 @@ msgid "If present image will be clickable." msgstr "Hvis til stede vil bildet være klikkbart" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "mer" @@ -1012,53 +1144,54 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Vennligst velg en plugintype" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Rediger valgt plugin" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Tekteditor støtter ikke redigering av objekter." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Ikke noe objekt valgt" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Teksteditor støtter ikke innsetting av objekter." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Ikke et pluginobjekt" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Tilgjengelige plugins" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Sett inn plugin" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" -msgstr "" +msgstr "Twitter søk" #: plugins/twitter/models.py:7 msgid "twitter user" @@ -1082,7 +1215,7 @@ msgstr "Hvis angitt, hintet ev vist som en link til din Twitterprofil" #: plugins/twitter/models.py:16 msgid "query" -msgstr "" +msgstr "spørring" #: plugins/twitter/models.py:16 msgid "" @@ -1090,6 +1223,33 @@ msgid "" "from the user \"umbrella\" to the user \"nemesis\" that contain the words " "\"brains\" and \"zombies\"" msgstr "" +"Eksempel: \"brains AND zombies AND from:umbrella AND to:nemesis\": tweets " +"fra brukeren \"umbrella\" til brukeren \"nemesis\" som inneholder ordene " +"\"brains\" og \"zombies\"" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "vi sa," + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "vi" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "vi var" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "vi svarte til" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "vi så på" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +msgid "loading tweets..." +msgstr "laster tweets..." #: plugins/video/cms_plugins.py:10 msgid "Video" @@ -1113,11 +1273,11 @@ msgstr "videoadresse" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: " +"http://www.youtube.com/watch?v=-iJ7bs4mTUY" msgstr "" -"vimeo elker youtube video adresse. Eksempel: " -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"vimeo eller youtube video adresse. Eksempel: " +"http://www.youtube.com/watch?v=-iJ7bs4mTUY" #: plugins/video/models.py:11 msgid "preview image file" @@ -1178,17 +1338,9 @@ msgstr "over knapp farge" msgid "button highlight color" msgstr "markeringsfarge for knapp" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Mangler flash plugin. Last ned her" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Lagre" @@ -1206,22 +1358,18 @@ msgid "Save and add another" msgstr "Lagre og legg til en til" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Lagre of fortsett å redigere" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"Siden %(page)s kan behøve godkjenning av " -"deg." +"Siden %(page)s kan behøve godkjenning av deg." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Siste endringer" @@ -1230,28 +1378,21 @@ msgstr "Siste endringer" msgid "Log in to administration here." msgstr "Logg inn til administreringen her here." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Brukernavn" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Passord" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Endre en side" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1259,81 +1400,81 @@ msgstr "Endre en side" msgid "Home" msgstr "Hjem" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Godkjenn sidesletting" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(krever godkjenning på nivået %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(du kan utføre handlinger på denne siden direkte)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Fjern sletteforespørsel" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Godkjenn sletting" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Godkjenn" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "kladd" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Forhåndsvis" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Historikk" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Vis på nettside" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Vennligst rett opp feilen under" msgstr[1] "Vennligst rett opp feilene under" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Anne rettigheter" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Laster...." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Side nivåer" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Denne diden må modereres på nivå %(moderation_level)s, post en beskjed" -" for moderator." +"Denne diden må modereres på nivå %(moderation_level)s, post en beskjed for " +"moderator." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Forespør godkjenning" @@ -1341,41 +1482,41 @@ msgstr "Forespør godkjenning" msgid "List of pages" msgstr "Liste over sider" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" -msgstr "" +msgstr "Flytting vellykket" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "En feil oppstod. Vennligst last om siden" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Gjenopprett slettede %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Legg til %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Sider på:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filter:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "på" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "av" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filter" @@ -1399,7 +1540,11 @@ msgstr "start" msgid "end" msgstr "slutt" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "restriktert" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "siste endringer" @@ -1413,8 +1558,7 @@ msgid "edit this page" msgstr "rediger denne siden" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "rediger" @@ -1470,7 +1614,6 @@ msgid "add" msgstr "legg til" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Godkjenn direkte" @@ -1484,11 +1627,6 @@ msgstr "vis" msgid "Unpublish" msgstr "Upubliser" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publiser" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Vis på side" @@ -1533,28 +1671,37 @@ msgstr "Kan endre rettigheter" msgid "Can move" msgstr "Kan flytte" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "Kan vise" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(aktiv)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Alle" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Siden arver ingen rettigheter" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "Avbryt" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "En gammel versjon av en plugin kan ikke lagres!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Plugin ble lagret." @@ -1566,8 +1713,7 @@ msgstr "Gjenopprett slettede %(verbose_name)s" #: templates/admin/cms/page/recover_form.html:24 msgid "Press the save button below to recover this version of the object." msgstr "" -"Trykk på lagreknappen under for å gjenopprette denne versjonen av " -"objektet." +"Trykk på lagreknappen under for å gjenopprette denne versjonen av objektet." #: templates/admin/cms/page/revision_form.html:11 #, python-format @@ -1577,8 +1723,7 @@ msgstr "Tilmakestill %(verbose_name)s" #: templates/admin/cms/page/revision_form.html:24 msgid "Press the save button below to revert to this version of the object." msgstr "" -"Trykk på save knappen for å tilbakestille til denne versjonen av " -"objektet." +"Trykk på save knappen for å tilbakestille til denne versjonen av objektet." #: templates/admin/cms/page/dialog/copy.html:4 msgid "Copy options" @@ -1590,10 +1735,9 @@ msgstr "Velg kopieringsalternativer" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:7 msgid "Generic" -msgstr "" +msgstr "Generisk" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Legg til plugin" @@ -1617,133 +1761,68 @@ msgstr "Ingen plugin valgt. Velg en på venstre side." msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Ingen plugins. Legg til en plugin til denne plassholderen." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" -msgstr "" +msgstr "Tilgjengelig plugins" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Flytt til %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "Det valgte elementet kan ikke flyttes til den ønskede plasseringen." -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Er du sikker på at du vil slette denne pluginen?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Redigeringsmodus" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "opp" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Status" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "ned" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "Flytt til plassholder" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Brukernavn" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "logg inn" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Template" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "flytt" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Flytt/legg til sider" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "legg till underside" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Legg til underside" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Slett side" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Sideadministrasjon" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Sideinstillinger" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "historie" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "is historie" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Logg ut" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Lås" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Lukk" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "opp" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" +msgstr "Logg inn" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "ned" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Status" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Innstillinger" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "Slå av/på" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Slett pluging" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "%(icon)s" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Slå av sidemoderering" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" -msgstr "" +msgstr "Slå av moderering av barn" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" -msgstr "" +msgstr "Så av moderering av alle etterkommere" #: templatetags/cms_tags.py:78 #, python-format msgid "Page not found on %(domain)s" -msgstr "" +msgstr "Side ikke funnet på %(domain)s " #: templatetags/cms_tags.py:79 #, python-format @@ -1751,82 +1830,16 @@ msgid "" "A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" +"En maltag kunne ikke finne siden med søkeargumenter `%(page_lookup)s\n" +"`. Adressen til forespørselen var: http://%(host)s%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - din brukerkonto ble opprettet." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - din brukerkonto ble endret" #: utils/moderator.py:83 msgid "parent first" @@ -1841,16 +1854,16 @@ msgstr "godkjenn" msgid "CMS - Page %s requires approvement." msgstr "CMS - Siden %s må godkjennes" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - din brukerkonto ble opprettet." +#~ msgid "move" +#~ msgstr "move request" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - din brukerkonto ble endret" +#~ msgid "sidebar column" +#~ msgstr "background color" #~ msgid "fgcolor" -#~ msgstr "" +#~ msgstr "foreground color" #~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgstr "Requested language has not been translated yet." + + diff --git a/cms/locale/no/LC_MESSAGES/djangojs.mo b/cms/locale/no/LC_MESSAGES/djangojs.mo index 4b77b2af11c..9045d97ee18 100644 Binary files a/cms/locale/no/LC_MESSAGES/djangojs.mo and b/cms/locale/no/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/no/LC_MESSAGES/djangojs.po b/cms/locale/no/LC_MESSAGES/djangojs.po index 55be28c3049..a671e1f42b6 100644 --- a/cms/locale/no/LC_MESSAGES/djangojs.po +++ b/cms/locale/no/LC_MESSAGES/djangojs.po @@ -1,40 +1,38 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: no\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: no\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Er du sikker på at du vil endre %(field_name)s uten å lagre siden " -"først?" +"Er du sikker på at du vil endre %(field_name)s uten å lagre siden først?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "Er du sikker på at du vil endre tabs uten å lagre siden først" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Er du sikker på at du vil slette denne pluginen?" diff --git a/cms/locale/pl/LC_MESSAGES/django.mo b/cms/locale/pl/LC_MESSAGES/django.mo index c5c82751990..56e9f009cbd 100644 Binary files a/cms/locale/pl/LC_MESSAGES/django.mo and b/cms/locale/pl/LC_MESSAGES/django.mo differ diff --git a/cms/locale/pl/LC_MESSAGES/django.po b/cms/locale/pl/LC_MESSAGES/django.po index 0adbb59c0a3..667987f5c87 100644 --- a/cms/locale/pl/LC_MESSAGES/django.po +++ b/cms/locale/pl/LC_MESSAGES/django.po @@ -1,338 +1,452 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:49-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"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" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Tryb edycji" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publikuj" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Wyloguj" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Szablon" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Przenieś/dodaj strony" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Dodaj podstronę" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Dodaj stronę" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Usuń stronę" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Strona" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Panel administracyjny" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Ustawienia strony" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Pokaż historię" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Ustawienia zaawansowane" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Tytuł" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Domyślny tytuł" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Skrót" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Fragment tytułu, który jest używany w adresie URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Język" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Aktualny język tłumaczenia treści." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Inna strona z takim skrótem adresu już istnieje." -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Tytuł menu" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Nadpisz nazwę wyświetlaną w menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Tytuł strony" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Nadpisuje to co jest wyświetlane u góry przeglądarki lub w jej " -"zakładkach" +"Nadpisuje to co jest wyświetlane u góry przeglądarki lub w jej zakładkach" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplikacja" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Podepnij aplikację do tej strony" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Nadpisz URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Pozostaw to pole puste jeśli ma zostać użyta standardowa ścieżka" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Przekierowanie" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Przekierowuje do tego adresu URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Opis strony używany niekiedy przez wyszukiwarki." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "Lista słów oddzielonych przecinkami używana czasem przez wyszukiwarki." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Inna strona z takim samym odwrotnym adresem url już istnieje." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Nieprawidłowy URL. Użyj formatu /moj/url." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Inna strona z takim skrótem adresu już istnieje." + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "użytkownik" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Dodanie praw do strony wymaga dostępu do ich dzieci lub potomków, " -"inaczej dodana strona nie może zostać zmieniona przez jego twórcę." +"Dodanie praw do strony wymaga dostępu do ich dzieci lub potomków, inaczej " +"dodana strona nie może zostać zmieniona przez jego twórcę." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Dodanie praw do strony wymaga także uprawnień do ich edycji." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "podgląd" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Proszę najpierw wybrać użytkownika lub grupę." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Dodaj" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Zmień" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Usuń" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Odzyskaj (dowolne) strony" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Powiadom użytkownika" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Wyślij użytkownikowi email z powiadomieniem o zmianie loginu lub " -"hasła. Wymaga emaila użytkownika." +"Wyślij użytkownikowi email z powiadomieniem o zmianie loginu lub hasła. " +"Wymaga emaila użytkownika." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nowe hasło" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Potwierdź hasło" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "" "Powiadomienie email'em wymaga podania poprawnego adresu poczty " "elektronicznej." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"Uprawnienie dodawania nowych stron wymaga uprawnienia do ich " -"modyfikacji!" +"Uprawnienie dodawania nowych stron wymaga uprawnienia do ich modyfikacji!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Uprawnienie dodawania nowych użytkowników wymaga uprawnienia do " -"modyfikacji ich kont." +"Uprawnienie dodawania nowych użytkowników wymaga uprawnienia do modyfikacji " +"ich kont." -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Aby dodać uprawnienia musisz także móc je edytować!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Ukryte" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Ustawienia podstawowe" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Uwaga: gdy zmienione zostanie zaznaczenie wybranego elementu strona " -"zostanie automatycznie przeładowana, aby nie utracić danych najpierw " -"zapisz." +"Uwaga: gdy zmienione zostanie zaznaczenie wybranego elementu strona zostanie " +"automatycznie przeładowana, aby nie utracić danych najpierw zapisz." + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Ukryte" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Ustawienia zaawansowane" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Ustawienia SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "wyższy" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Błąd bazy danych" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "stronę" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Strona została pomyślnie zatwierdzona." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Obiekt %(name)s o kluczu głównym %(key)r nie istnieje." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Jest dostępne tylko jedno tłumaczenie dla tej strony" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Tytuł i pluginy dla języka %(language)s zostały usunięte" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Czy na pewno?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Brak zezwolenia na publikację tej strony" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "Brak zezwolenia na zmianę statusu in_navigation dla tej strony" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Brak zezwolenia na zmianę tej strony" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Język musi być ustawiony na jeden z dostępnych!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "Plugin %(plugin_name)s został dodany do %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Wybrany język musi być inny, niż ten z którego go skopiowano!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "Przekopiowano pluginy %(language)s do %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" "Plugin %(plugin_name)s został zmieniony na pozycji %(position)s w " "%(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugin'y zostały przeniesione" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"Plugin %(plugin_name)s na pozycji %(position)s w %(placeholder)s " -"został usunięty." +"Plugin %(plugin_name)s na pozycji %(position)s w %(placeholder)s został " +"usunięty." + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Uprawnienia strony" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Uprawnienia grup i użytkowników" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Zarządzanie prawami dostępu do stron" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Brak zezwolenia na zmianę tej strony" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Szczegóły konta użytkownika" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Grupy" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Hasło" @@ -344,7 +458,7 @@ msgstr "Uprawnienia do kopiowania" msgid "Copy moderation" msgstr "Kopiuj moderację" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Wykorzystaj ten sam szablon co strona nadrzędna" @@ -364,27 +478,37 @@ msgstr "Dodaj kolejny" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "Język" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "stronę" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "pozycja" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "data utworzenia" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "slot" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "nazwa_wtyczki" @@ -409,15 +533,15 @@ msgstr "skrót" msgid "everybody" msgstr "każdy" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "może edytować" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "grupa" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "może opublikować" @@ -455,28 +579,28 @@ msgstr "autor" msgid "reverse url id" msgstr "odwrotne id adresu url" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "trzeba być zalogowanym" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "softroot" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "czas zakończenia publikacji strony" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "szablon" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "data publikacji" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "w menu" @@ -486,7 +610,7 @@ msgstr "w menu" msgid "application" msgstr "aplikacja" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "identyfikator storny" @@ -523,26 +647,21 @@ msgstr "Wszystkie strony podrzędne" msgid "Page and descendants" msgstr "Bieżąca strona i wszystkie jej podrzędne" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Strona" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Użytkownik" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderacja strony" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderacja strony podrzędnej" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderacja stron podrzędnych" @@ -550,197 +669,204 @@ msgstr "Moderacja stron podrzędnych" msgid "PageModerator" msgstr "ModeratorStrony" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "utworzone" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "zmienione" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "do usunięcia" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "do przeniesienia" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "do publikacji" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "do cofnięcia publikacji" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "zatwierdzone" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Status moderatora strony" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Statusy moderatora strony" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "do zatwierdzenia" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "usuń" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "do zatwierdzenia el. nadrzędnych" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "utworzone przez" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "zmienione przez" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Aby strona była publicznie widoczna w internecie musi zostać " -"\"opublikowana\". W tym celu ustaw status \"opublikowano\"." +"Aby strona była publicznie widoczna w internecie musi zostać \"opublikowana" +"\". W tym celu ustaw status \"opublikowano\"." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" -"Czas kiedy strona ma przestać być publikowana. Pozostaw to pole puste," -" gdy strona zawsze ma być publikowana." +"Czas kiedy strona ma przestać być publikowana. Pozostaw to pole puste, gdy " +"strona zawsze ma być publikowana." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Wszyscy przodkowie nie będą wyświetlani w menu nawigacyjnym" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Unikalny identyfikator używany przez templatetag page_url do tworzenia" -" odnośnika do tej strony" +"Unikalny identyfikator używany przez templatetag page_url do tworzenia " +"odnośnika do tej strony" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "czy opublikowany" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Szablon, który będzie użyty do renderowania treści." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Witryna w której ta strona jest dostępna." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "witryna" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "Status moderatora" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "strony" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Strona została skopiowana." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "domyślny" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "może dodawać" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "może usuwać" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "może zmieniać ustawienia zaawansowane" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "może zmieniać uprawnienia" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "na poziomie strony" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "może przenosić" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "może moderować" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "może odzyskiwać strony" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "może odzyskać każdą usuniętą stronę" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"Jeśli niczego nie zaznaczono użytkownicy mają uprawnienia do " -"wszystkich witryn." +"Jeśli niczego nie zaznaczono użytkownicy mają uprawnienia do wszystkich " +"witryn." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "witryny" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Globalne prawo dostępu do stron" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Globalne prawa dostępu do stron" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Uprawnienia dla" @@ -748,28 +874,28 @@ msgstr "Uprawnienia dla" msgid "Page permission" msgstr "Prawo dostępu do stron" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Użytkownik (strona)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Użytkownicy (strona)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Grupa użytkowników (strona)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Grupy użytkowników (strona)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "szerokość" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -794,6 +920,10 @@ msgstr "Plik" msgid "file" msgstr "plik" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -807,9 +937,18 @@ msgstr "użyj pliku swf" msgid "height" msgstr "wysokość" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Brak pluginu dla Flash'a." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Nie posiadasz zainstalowanego pluginu Adobe Flash Player. Możesz go pobrać " +"tutaj." + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -846,8 +985,8 @@ msgstr "szerokość geograficzna" #: plugins/googlemap/models.py:19 msgid "Use latitude & longitude to fine tune the map possiton." msgstr "" -"Użyj szerokości i długości geograficznej w celu dostosowania " -"współrzędnych na mapie." +"Użyj szerokości i długości geograficznej w celu dostosowania współrzędnych " +"na mapie." #: plugins/googlemap/models.py:20 msgid "longitude" @@ -869,19 +1008,19 @@ msgstr "planowanie trasy" msgid "Map" msgstr "Mapa" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Oblicz trasę" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Odziedzicz pluginy ze strony" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Pola \"język\", bądź \"storna\" muszą zostać wypełnione" @@ -890,9 +1029,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Wybierz stronę z której pluginy mają zostać umierzone w tym " -"placeholderze. Pozostaw to pole puste, by wykorzystana została " -"aktualna strona." +"Wybierz stronę z której pluginy mają zostać umierzone w tym placeholderze. " +"Pozostaw to pole puste, by wykorzystana została aktualna strona." #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -910,7 +1048,7 @@ msgid "name" msgstr "nazwa" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "odnośnik" @@ -931,40 +1069,44 @@ msgstr "Adres email ma priorytet w odniesieniu do odnośnika tekstowego" msgid "Picture" msgstr "Obrazek" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "do lewej" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "do prawej" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "obrazek" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "Jeśli nie jest pusty, obrazek będzie klikalny" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "tekst alternatywny" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "tekstowy opis obrazka" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "długi opis" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "dodatkowy opis obrazka" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "strona" @@ -984,11 +1126,9 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Podaj szablon (np. \"snippets/plugin_xy.html\"), który będzie " -"renderowany. " +"Podaj szablon (np. \"snippets/plugin_xy.html\"), który będzie renderowany. " #: plugins/snippet/models.py:25 msgid "Snippets" @@ -1007,6 +1147,7 @@ msgid "If present image will be clickable." msgstr "Jeśli nie puste, obrazek będzie renderowany." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "więcej" @@ -1024,51 +1165,52 @@ msgstr "Wtyczki" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Proszę wybrać typ pluginu." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Zmień wybrany plugin" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Edytor tekstowy nie obsługuje edycji obiektów." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Nie wybrano obiektu." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Edytor tekstowy nie obsługuje wstawiania obiektów." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Obiekt nie jest pluginem." -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Dostępne Plugin'y" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "wstaw plugin" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1091,8 +1233,8 @@ msgstr "podpowiedź dla odnośnika" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Jeśli podana, wskazówka jest wyświetlana jako link do twojego profilu " -"w Twitterze." +"Jeśli podana, wskazówka jest wyświetlana jako link do twojego profilu w " +"Twitterze." #: plugins/twitter/models.py:16 msgid "query" @@ -1105,6 +1247,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Ładowanie..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Wideo" @@ -1126,12 +1293,13 @@ msgid "movie url" msgstr "url pliku wideo" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"adres filmu na vimeo, bądź youtube np. http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"adres filmu na vimeo, bądź youtube np. http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1192,17 +1360,9 @@ msgstr "" msgid "button highlight color" msgstr "kolor zaznaczonego przycisku" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Nie posiadasz zainstalowanego pluginu Adobe Flash Player. Możesz go " -"pobrać tutaj." - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Zapisz" @@ -1220,22 +1380,19 @@ msgid "Save and add another" msgstr "Zapisz i dodaj inny" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Zapisz i kontynuuj edycję" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"Strona %(page)s może wymagać zatwierdzenia" -" przez ciebie." +"Strona %(page)s może wymagać zatwierdzenia " +"przez ciebie." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Ostatnie zmiany" @@ -1243,31 +1400,23 @@ msgstr "Ostatnie zmiany" #, python-format msgid "Log in to administration here." msgstr "" -"zaloguj się do panelu administracyjnego tutaj." - -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" +"zaloguj się do panelu administracyjnego tutaj." #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Użytkownik:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Hasło:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Zmień stronę" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1275,51 +1424,51 @@ msgstr "Zmień stronę" msgid "Home" msgstr "Start" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Zatwierdź usunięcie strony" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(wymaga zatwierdzenia na poziomie %(moderation_level)s moderacji)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(możesz wykonać akcje bezpośrednio na tej stronie)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Odrzuć żądanie usunięcia" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Zatwierdź usunięcie" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Zatwierdź" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "wersja robocza" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Podgląd" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Historia" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Zobacz na stronie" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." @@ -1327,30 +1476,30 @@ msgstr[0] "Proszę poprawić poniższy błąd" msgstr[1] "Proszę poprawić poniższe błędy." msgstr[2] "Proszę poprawić poniższe błędy." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Wszystkie uprawnienia" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Ładowanie..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Statusy strony" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Ta strona musi być moderowana na poziomie %(moderation_level)s, wyślij" -" wiadomość do moderatora." +"Ta strona musi być moderowana na poziomie %(moderation_level)s, wyślij " +"wiadomość do moderatora." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Prośba o zaakceptowanie." @@ -1358,41 +1507,41 @@ msgstr "Prośba o zaakceptowanie." msgid "List of pages" msgstr "Lista stron" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Przeniesiono." -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Wystąpił błąd. Proszę przeładować stronę." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Napraw usunięte %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Dodaj %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Strony na" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtr:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "aktywny" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "nieaktywny" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtr" @@ -1416,7 +1565,11 @@ msgstr "początek" msgid "end" msgstr "koniec" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "ostatnie zmiany" @@ -1430,8 +1583,7 @@ msgid "edit this page" msgstr "edytuj tą stronę" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "edycja" @@ -1487,7 +1639,6 @@ msgid "add" msgstr "dodaj" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Zatwierdź bezpośrednio" @@ -1501,11 +1652,6 @@ msgstr "podgląd" msgid "Unpublish" msgstr "Anuluj publikowanie" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publikuj" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Zobacz na stronie" @@ -1550,28 +1696,38 @@ msgstr "Może zmieniać uprawnienia" msgid "Can move" msgstr "Może przenosić" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Może przenosić" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(globalne)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(bieżące)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Wszystko" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Strona nie dziedziczy żadnych uprawnień." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Stara wersja pluginu nie może zostać zapisana!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Plugin został zapisany." @@ -1606,7 +1762,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Dodaj Plugin" @@ -1630,126 +1785,62 @@ msgstr "Nie wybrano żadnego Plugin'a. Wybierz jeden z menu po lewej stronie" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Nie dodano jeszcze pluginów. Dodaj plugin dla tego slotu." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Przenieś do %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Czy na pewno chcesz usunąć ten plugin?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Tryb edycji" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "przenieś wyżej" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Status" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "przenieś niżej" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Użytkownik" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "zaloguj się" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Szablon" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "przenieś" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Przenieś/dodaj strony" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "Dodaj podstronę" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Dodaj podstronę" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "dodaj stronę" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Dodaj stronę" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Usuń stronę" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Panel administracyjny" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Ustawienia strony" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "Historia" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Pokaż historię" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Wyloguj" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Zablokuj" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Zamknij" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "przenieś wyżej" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "przenieś niżej" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Status" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Ustawienia" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Usuń plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Wyłącz moderację dla strony" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Wyłącz moderację dla dzieci strony" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Wyłącz moderację dla potomków strony" @@ -1761,85 +1852,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - twoje konto użytkownika zostało utworzone." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - twoje konto użytkownika zostało zmienione." #: utils/moderator.py:83 msgid "parent first" @@ -1854,13 +1878,35 @@ msgstr "zaakceptowania" msgid "CMS - Page %s requires approvement." msgstr "CMS - Strona %s wymaga zaakceptowania." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - twoje konto użytkownika zostało utworzone." +#~ msgid "Missing flash plugin." +#~ msgstr "Brak pluginu dla Flash'a." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - twoje konto użytkownika zostało zmienione." +#~ msgid "Move to %(name)s" +#~ msgstr "Przenieś do %(name)s" + +#~ msgid "move" +#~ msgstr "przenieś" + +#~ msgid "add child" +#~ msgstr "Dodaj podstronę" + +#~ msgid "add sibling" +#~ msgstr "dodaj stronę" + +#~ msgid "history" +#~ msgstr "Historia" + +#~ msgid "Lock" +#~ msgstr "Zablokuj" + +#~ msgid "Close" +#~ msgstr "Zamknij" + +#~ msgid "Settings" +#~ msgstr "Ustawienia" + +#~ msgid "Delete Plugin" +#~ msgstr "Usuń plugin" #~ msgid "fgcolor" #~ msgstr "kolor tła" diff --git a/cms/locale/pl/LC_MESSAGES/djangojs.mo b/cms/locale/pl/LC_MESSAGES/djangojs.mo index 75ca3381f42..398077ff234 100644 Binary files a/cms/locale/pl/LC_MESSAGES/djangojs.mo and b/cms/locale/pl/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/pl/LC_MESSAGES/djangojs.po b/cms/locale/pl/LC_MESSAGES/djangojs.po index 9e5e9a4f3db..a51d13299a8 100644 --- a/cms/locale/pl/LC_MESSAGES/djangojs.po +++ b/cms/locale/pl/LC_MESSAGES/djangojs.po @@ -1,40 +1,39 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"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" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Czy na pewno chcesz zmienić %(field_name)s nie zapisując wcześniej " -"strony?" +"Czy na pewno chcesz zmienić %(field_name)s nie zapisując wcześniej strony?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "Czy na pewno chcesz zmienić zakładkę nie zapisując wcześniej strony?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Czy na pewno usunąć ten plugin?" diff --git a/cms/locale/pt/LC_MESSAGES/django.mo b/cms/locale/pt/LC_MESSAGES/django.mo index 988800cacdd..aae714b89e7 100644 Binary files a/cms/locale/pt/LC_MESSAGES/django.mo and b/cms/locale/pt/LC_MESSAGES/django.mo differ diff --git a/cms/locale/pt/LC_MESSAGES/django.po b/cms/locale/pt/LC_MESSAGES/django.po index 26ec38b3706..968f4cc5c0a 100644 --- a/cms/locale/pt/LC_MESSAGES/django.po +++ b/cms/locale/pt/LC_MESSAGES/django.po @@ -1,313 +1,403 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:49-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" +"Last-Translator: jumpifzero \n" "Language-Team: divio.ch \n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publicar" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Página" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Opções avançadas" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Título" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "O título por defeito" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "A parte do título que é usada na URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Língua" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "A língua actual dos campos de conteúdo." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Já existe outra página com este slug." -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Título do Menu" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Sobrescreva o que será exibido no menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Título da página" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Sobrescreva o que será exibido no topo do seu navegador ou nos " -"favoritos" +"Sobrescreva o que será exibido no topo do seu navegador ou nos favoritos" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplicação" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Associe aplicação para esta página." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Sobrescreva URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Deixe este campo em branco para usar o caminho padrão" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Redirecionar" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Redireciona para este URL" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Uma descrição da página por vezes usada pelos motores de pesquisa." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Uma lista de palavras-chave (separadas por vírgulas). Normalmente " -"usadas por mecanismos de pesquisa." +"Uma lista de palavras-chave (separadas por vírgulas). Normalmente usadas por " +"mecanismos de pesquisa." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Já existe uma página com esta URL reversa." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "URL inválida, use o formato /minha/url" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Já existe outra página com este slug." + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "utilizador" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"A permissão para adicionar páginas requer também acesso aos filhos, ou" -" descendentes, caso contrário a página adicionada não poderá ser " -"modificada pelo seu criador." +"A permissão para adicionar páginas requer também acesso aos filhos, ou " +"descendentes, caso contrário a página adicionada não poderá ser modificada " +"pelo seu criador." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"A permissão para adicionar páginas também requer permissão de edição " -"de páginas" +"A permissão para adicionar páginas também requer permissão de edição de " +"páginas" -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "visualizar" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Por favor, selecione primeiro o utilizador ou grupo" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Adicionar" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Modificar" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Excluir" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Recuperar (qualquer) página" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Notificar utilizador" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Enviar notificação por e-mail ao utilizador sobre modificação no nome " -"de utilizador ou senha. Requere o e-mail do utilizador" +"Enviar notificação por e-mail ao utilizador sobre modificação no nome de " +"utilizador ou senha. Requere o e-mail do utilizador" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nova senha" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Nova confirmação da senha" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Notificações de e-mail requerem um endereço de e-mail válido." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"A permissão para adicionar novas páginas requer a permissão para " -"modificar páginas!" +"A permissão para adicionar novas páginas requer a permissão para modificar " +"páginas!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"A permissão para adicionar utilizadores requer a permissão para " -"modificar utilizadores!" +"A permissão para adicionar utilizadores requer a permissão para modificar " +"utilizadores!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Para adicionar permissões você também precisa editá-las!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Oculto" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Configurações Básicas" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" "Atenção: Esta página é recarregada se você gravar a selecção. Grave-a " "primeiro." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Oculto" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Configurações Avançadas" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Configurações de SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "mais alto" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Erro na base de dados" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "página" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Página aprovada com sucesso." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Não existe nenhum objecto de '%(name)s' com chave primária %(key)s" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Há apenas uma tradução para esta página" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Foram excluídos título e plugins com a língua '%(language)s'" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Tem certeza?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Você não tem permissão para publicar esta página" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -"Você não tem permissão para modificar o status de navegação desta " -"página" +"Você não tem permissão para modificar o status de navegação desta página" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Você não tem permissão para modificar esta página" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "A Língua deve ser definida para uma língua suportada pelo sistema!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "Plugin %(plugin_name)s foi adicionado a %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"Plugin %(plugin_name)s editada na posição %(position)s em " -"%(placeholder)s" +"Plugin %(plugin_name)s editada na posição %(position)s em %(placeholder)s" + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Você não tem permissão para modificar esta página" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugin foi movido" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " @@ -316,27 +406,50 @@ msgstr "" "Plugin %(plugin_name)s na posicão %(position)s em %(placeholder)s foi " "excluído." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Permissões de página" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Permissões de utilizador e grupo" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Gestão de permissões de página" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Você não tem permissão para modificar esta página" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Detalhes do utilizador" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Grupos" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Senha" @@ -348,7 +461,7 @@ msgstr "Copiar permissões" msgid "Copy moderation" msgstr "Copiar moderação" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Herdar o template do ancestral mais próximo" @@ -368,27 +481,37 @@ msgstr "Adicionar outro" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "língua" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "página" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "posição" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "data de criação" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "vaga" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "nome do plugin" @@ -413,15 +536,15 @@ msgstr "slug" msgid "everybody" msgstr "todos" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "pode editar" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "grupo" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "pode publicar" @@ -459,28 +582,28 @@ msgstr "autor" msgid "reverse url id" msgstr "id da url reversa" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "login requerido" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "raiz leve" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "data final de publicação" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "modelo" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "data de publicação" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "na navegação" @@ -490,7 +613,7 @@ msgstr "na navegação" msgid "application" msgstr "aplicação" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -527,26 +650,21 @@ msgstr "Páginas descendentes" msgid "Page and descendants" msgstr "Página e descendentes" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Página" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Utilizador" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderar página" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderar filhos" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderar descendentes" @@ -554,195 +672,201 @@ msgstr "Moderar descendentes" msgid "PageModerator" msgstr "Moderador de Página" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "criado" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "modificado" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "req. para excluir" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "req. para mover" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "req. para publicar" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "req. para despublicar" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "aprovado" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Estado do moderador da página" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Estados do moderador da página" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "req. app." -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "excluir" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "criado por" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "modificado por" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" "Quando a página deve ir para o ar. Status deve ser \"Publicado\" para a " "página ir para o ar." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Quando expirar a página. Deixe em branco para nunca expirar." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Todos os ancestrais não serão exibidos na navegação" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Um identificador único que é usado com a templatetag page_url, para " -"associar a esta página" +"Um identificador único que é usado com a templatetag page_url, para associar " +"a esta página" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "está publicado" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "O template usado para carregar o conteúdo." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "O site à qual a página está acessível." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "site" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "estado do moderador" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "páginas" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Página copiada." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "padrão" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "pode adicionar" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "pode excluir" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "pode modificar configurações avançadas" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "pode modificar permissões" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "a nível de página" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "pode mover" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "pode moderar" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "pode recuperar páginas" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "pode recuperar qualquer página excluída" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"Se nenhum for selecionado, utilizador terá permissões dadas a todos os" -" sites." +"Se nenhum for selecionado, utilizador terá permissões dadas a todos os sites." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "sites" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Permissão global de página" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Permissões globais de página" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Garantir a" @@ -750,28 +874,28 @@ msgstr "Garantir a" msgid "Page permission" msgstr "Permissão de página" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Utilizador (página)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Utilizadores (página)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Grupo de utilizador (página)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Grupos de utilizadores (página)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "largura" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -796,6 +920,10 @@ msgstr "Ficheiro" msgid "file" msgstr "ficheiro" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -809,9 +937,15 @@ msgstr "usar arquivo swf" msgid "height" msgstr "altura" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Falta o plugin do flash." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -848,8 +982,7 @@ msgstr "latitude" #: plugins/googlemap/models.py:19 msgid "Use latitude & longitude to fine tune the map possiton." msgstr "" -"Use latitude e longitude para ajustar precisamente a sua posição no " -"mapa." +"Use latitude e longitude para ajustar precisamente a sua posição no mapa." #: plugins/googlemap/models.py:20 msgid "longitude" @@ -871,21 +1004,21 @@ msgstr "planeamento de rota" msgid "Map" msgstr "Mapa" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Calcular rota" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" -msgstr "" +msgstr "Herdar Plugins de Página" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" -msgstr "" +msgstr "Língua ou Página devem ser preenchidas" #: plugins/inherit/models.py:10 msgid "" @@ -895,7 +1028,7 @@ msgstr "" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" -msgstr "" +msgstr "Opcional: a língua dos plugins que deseja" #: plugins/link/cms_plugins.py:12 msgid "Link" @@ -909,7 +1042,7 @@ msgid "name" msgstr "nome" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "link" @@ -930,40 +1063,44 @@ msgstr "Um endereço de e-mail tem prioridade sobre um link de texto." msgid "Picture" msgstr "Figura" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "esquerda" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "direita" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "image" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "se presente, a imagem será clicável" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "texto alternativo" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "descrição textual da imagem" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "descrição longa" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "descriçao complementar da imagem" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "lado" @@ -983,11 +1120,9 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Coloque um template (ex.: \"snippets/plugin_xy.html\") que será " -"renderizado." +"Coloque um template (ex.: \"snippets/plugin_xy.html\") que será renderizado." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -1006,6 +1141,7 @@ msgid "If present image will be clickable." msgstr "Se presente, a imagem será clicável." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "mais" @@ -1023,51 +1159,52 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Por favor, selecione um tipo de plugin" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Editar o plugin selecionado" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Editor de texto não suporta edição de objectos." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Nenhum objecto selecionado" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Editor de texto não suporta inserção de objectos." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Não é um plugin" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Plugins disponíveis" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Inserir plugin" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" -msgstr "" +msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1102,6 +1239,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Carregando..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Vídeo" @@ -1116,7 +1278,7 @@ msgstr "" #: plugins/video/models.py:9 msgid "use .flv file or h264 encoded video file" -msgstr "" +msgstr "utilize ficheiro .flv ou vídeo codificado em h264" #: plugins/video/models.py:10 msgid "movie url" @@ -1124,8 +1286,8 @@ msgstr "" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1150,7 +1312,7 @@ msgstr "repetir" #: plugins/video/models.py:22 msgid "background color" -msgstr "" +msgstr "cor de fundo" #: plugins/video/models.py:22 plugins/video/models.py:23 #: plugins/video/models.py:24 plugins/video/models.py:25 @@ -1161,11 +1323,11 @@ msgstr "" #: plugins/video/models.py:23 msgid "text color" -msgstr "" +msgstr "cor do texto" #: plugins/video/models.py:24 msgid "seekbar color" -msgstr "" +msgstr "cor de fundo" #: plugins/video/models.py:25 msgid "seekbar bg color" @@ -1187,15 +1349,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Gravar" @@ -1213,22 +1369,18 @@ msgid "Save and add another" msgstr "Gravar e adicionar outro" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Gravar e continuar a editar" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"Página %(page)s pode requerer a sua " -"aprovação." +"Página %(page)s pode requerer a sua aprovação." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Últimas modificações" @@ -1237,28 +1389,21 @@ msgstr "Últimas modificações" msgid "Log in to administration here." msgstr "Entre na interface de administração aqui" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Nome de utilizador:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Senha:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Modificar uma página" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1266,81 +1411,81 @@ msgstr "Modificar uma página" msgid "Home" msgstr "Início" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Aprovar exclusão de página" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(requre aprovação ao nível %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(você pode executar acções diretamente nesta página)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Remover requisição de exclusão" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Aprovar exclusão" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Aprovar" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "rascunho" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Pré-visualizar" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Histórico" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Ver no site" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Por favor, corrija o erro abaixo." msgstr[1] "Por favor, corrija os erros abaixo." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Todas as permissões" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Carregando..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Estados da página" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Esta página precisa ser moderada no nível %(moderation_level)s, envie " -"uma mensagem ao moderador." +"Esta página precisa ser moderada no nível %(moderation_level)s, envie uma " +"mensagem ao moderador." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Requisitar aprovação" @@ -1348,41 +1493,41 @@ msgstr "Requisitar aprovação" msgid "List of pages" msgstr "Lista de páginas" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Movido com sucesso" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Ocorreu um erro. Por favor, recarrege a página" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Recuperar %(name)s excluído" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Adicionar %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Página em:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtro:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "ligado" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "desligado" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtro" @@ -1406,7 +1551,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "últimas modificações" @@ -1420,8 +1569,7 @@ msgid "edit this page" msgstr "editar esta página" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "editar" @@ -1477,7 +1625,6 @@ msgid "add" msgstr "adicionar" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Aprovar directamente" @@ -1491,11 +1638,6 @@ msgstr "visualizar" msgid "Unpublish" msgstr "Retirar publicação" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publicar" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Ver na página" @@ -1540,28 +1682,38 @@ msgstr "Pode modificar permissões" msgid "Can move" msgstr "Pode mover" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Pode mover" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(actual)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Todos" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Página não herda nenhuma permissão." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Uma revisão antiga de um plugin não pode ser gravada!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Plugin gravado com sucesso." @@ -1573,8 +1725,7 @@ msgstr "Recuperar %(verbose_name)s excluído" #: templates/admin/cms/page/recover_form.html:24 msgid "Press the save button below to recover this version of the object." msgstr "" -"Pressione o botão 'gravar' abaixo para recuperar esta versão do " -"objecto." +"Pressione o botão 'gravar' abaixo para recuperar esta versão do objecto." #: templates/admin/cms/page/revision_form.html:11 #, python-format @@ -1584,8 +1735,7 @@ msgstr "Reverter %(verbose_name)s" #: templates/admin/cms/page/revision_form.html:24 msgid "Press the save button below to revert to this version of the object." msgstr "" -"Pressione o botão 'gravar' abaixo para reverter para esta versão do " -"objecto." +"Pressione o botão 'gravar' abaixo para reverter para esta versão do objecto." #: templates/admin/cms/page/dialog/copy.html:4 msgid "Copy options" @@ -1600,7 +1750,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Adicionar Plugin" @@ -1624,126 +1773,61 @@ msgstr "Nenhum plugin selecionado. Selecione um no lado esquerdo" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Não á plugins presentes. Adicione um plugin a este espaço." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:153 -msgid "Username" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" msgstr "" -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" msgstr "" -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" msgstr "" -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" msgstr "" -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" msgstr "" -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" msgstr "" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Desligar moderação de página" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Desligar moderação dos filhos" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Desligar moderação dos descendentes" @@ -1755,85 +1839,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - sua conta de utilizador foi criada." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - sua conta de utilizador foi modificada." #: utils/moderator.py:83 msgid "parent first" @@ -1848,13 +1865,8 @@ msgstr "aprovar" msgid "CMS - Page %s requires approvement." msgstr "CMS - A Página %s requer aprovação." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - sua conta de utilizador foi criada." - -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - sua conta de utilizador foi modificada." +#~ msgid "Missing flash plugin." +#~ msgstr "Falta o plugin do flash." #~ msgid "fgcolor" #~ msgstr "cor de primeiro plano" diff --git a/cms/locale/pt/LC_MESSAGES/djangojs.mo b/cms/locale/pt/LC_MESSAGES/djangojs.mo index 76a1718ee49..08953725ecc 100644 Binary files a/cms/locale/pt/LC_MESSAGES/djangojs.mo and b/cms/locale/pt/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/pt/LC_MESSAGES/djangojs.po b/cms/locale/pt/LC_MESSAGES/djangojs.po index 7d215369fd2..c1db938bb40 100644 --- a/cms/locale/pt/LC_MESSAGES/djangojs.po +++ b/cms/locale/pt/LC_MESSAGES/djangojs.po @@ -1,42 +1,40 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" "Tem a certeza que quer alterar os %(field_name)s sem gravar a página " "primeiro?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Tem a certeza que quer mudar de separador sem gravar a página " -"primeiro?" +"Tem a certeza que quer mudar de separador sem gravar a página primeiro?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Tem a certeza que quer apagar este plugin?" diff --git a/cms/locale/pt_BR/LC_MESSAGES/django.mo b/cms/locale/pt_BR/LC_MESSAGES/django.mo index 53fdd837da3..0d9228dfb3c 100644 Binary files a/cms/locale/pt_BR/LC_MESSAGES/django.mo and b/cms/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/cms/locale/pt_BR/LC_MESSAGES/django.po b/cms/locale/pt_BR/LC_MESSAGES/django.po index 3f1fe209f58..cafae02995e 100644 --- a/cms/locale/pt_BR/LC_MESSAGES/django.po +++ b/cms/locale/pt_BR/LC_MESSAGES/django.po @@ -1,313 +1,404 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" -"Language-Team: Portuguese (Brazilian) \n" +"Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/" +"django-cms/team/pt_BR/)\n" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Modo de edição" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publicar" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Logout" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "modelo" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Mover/adicionar Páginas" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Adicionar Página Filho" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Adicionar página irmã" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Excluir página" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Página" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Administração do site" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Configurações da Página" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Ver Histórico" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Opções avançadas" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Título" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "O título padrão" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Slug" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "A parte do título que é usada na URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Língua" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "A língua atual para os campos de conteúdo." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Já existe outra página com este slug." -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Título de Menu" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Sobrescreva o que será exibido no menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Título da página" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Sobrescreva o que será exibido no topo do seu navegador ou nos " -"favoritos" +"Sobrescreva o que será exibido no topo do seu navegador ou nos favoritos" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplicação" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Associe aplicação para esta página." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Sobrescreva URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Se o caminho padrão deve ser utilizado, deixe este campo em branco." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Redirecionar" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Redireciona para esta URL" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "A descrição de uma página, as vezes utilizada por Sites de busca." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Uma lista de palavras-chave (separadas por vírgula). Normalmente " -"usadas por mecanismos de busca." +"Uma lista de palavras-chave (separadas por vírgula). Normalmente usadas por " +"mecanismos de busca." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Já existe uma página com esta URL reversa." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "URL inválida, use o formato /minha/url" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Já existe outra página com este slug." + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "usuário" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"A permissão para adicionar páginas requer também acesso aos filhos, ou" -" descendentes, caso contrário a página adicionada não poderá ser " -"modificada pelo seu criador." +"A permissão para adicionar páginas requer também acesso aos filhos, ou " +"descendentes, caso contrário a página adicionada não poderá ser modificada " +"pelo seu criador." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"A permissão para adicionar páginas também requer permissão de edição " -"de páginas" +"A permissão para adicionar páginas também requer permissão de edição de " +"páginas" + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "visualizar" -#: admin/forms.py:245 +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Por favor, selecione usuário ou grupo primeiro." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Adicionar" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Modificar" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Excluir" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Recuperar (qualquer) página" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Notificar usuário" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" "Enviar notificação por e-mail ao usuário sobre modificação no nome de " "usuário ou senha. Requere o e-mail do usuário" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nova senha" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Nova confirmação da senha" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Notificações de e-mail requerem um endereço de e-mail válido." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"A permissão para adicionar novas páginas requer a permissão para " -"modificar páginas!" +"A permissão para adicionar novas páginas requer a permissão para modificar " +"páginas!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" "A permissão para adicionar usuários requer a permissão para modificar " "usuários!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Para adicionar permissões você também precisa editá-las!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Oculto" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Configurações Básicas" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" "Atenção: Esta página é recarregada se você salvar a seleção. Salve-a " "primeiro." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Oculto" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Configurações Avançadas" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Configurações de SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "mais alto" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Erro na base de dados" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "página" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Página aprovada com sucesso." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Não existe nenhum objeto de '%(name)s' com chave primária %(key)s" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Há apenas uma tradução para esta página" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Foram excluídos título e plugins com a língua '%(language)s'" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Você tem certeza?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Você não tem permissão para publicar esta página" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -"Você não tem permissão para modificar o status de navegação desta " -"página" +"Você não tem permissão para modificar o status de navegação desta página" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Você não tem permissão para modificar esta página" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "a Língua deve ser definida para uma língua suportada pelo sistema!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "Plugin %(plugin_name)s foi adicionado a %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "a língua definida deve ser diferente da língua copiada!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "Plugin %(language)s foi adicionado a %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"Plugin %(plugin_name)s editad na posição %(position)s em " -"%(placeholder)s" +"Plugin %(plugin_name)s editad na posição %(position)s em %(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugin foi movido" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " @@ -316,27 +407,50 @@ msgstr "" "Plugin %(plugin_name)s na posicão %(position)s em %(placeholder)s foi " "excluído." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Permissões de página" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Permissões de usuário e grupo" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Gerenciament de permissões de página" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Você não tem permissão para modificar esta página" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Você não tem permissão para modificar esta página" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Detalhes do usuário" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Grupos" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Senha" @@ -348,7 +462,7 @@ msgstr "Copiar permissões" msgid "Copy moderation" msgstr "Copiar moderação" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Herdar o template do ancestral mais próximo" @@ -368,27 +482,37 @@ msgstr "Adicionar outro" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "língua" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "página" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "posição" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "data de criação" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "vaga" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "nome do plugin" @@ -413,15 +537,15 @@ msgstr "slug" msgid "everybody" msgstr "todos" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "pode editar" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "grupo" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "pode publicar" @@ -459,28 +583,28 @@ msgstr "autor" msgid "reverse url id" msgstr "id da url reversa" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "login requerido" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "raiz leve" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "data final de publicação" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "modelo" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "data de publicação" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "na navegação" @@ -490,7 +614,7 @@ msgstr "na navegação" msgid "application" msgstr "aplicação" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -527,26 +651,21 @@ msgstr "Páginas descendentes" msgid "Page and descendants" msgstr "Página e descendentes" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Página" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Usuário" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderar página" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderar filhos" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderar descendentes" @@ -554,195 +673,201 @@ msgstr "Moderar descendentes" msgid "PageModerator" msgstr "Moderador de Página" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "criado" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "modificado" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "req. para excluir" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "req. para mover" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "req. para publicar" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "req. para depublicar" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "aprovado" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Estado do moderador da página" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Estados do moderador da página" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "req. app." -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "excluir" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "app. par." -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "criado por" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "modificado por" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Quando a página deve ir ao ar. Status deve ser \"Publicado\" para a " -"página ir para o ar." +"Quando a página deve ir ao ar. Status deve ser \"Publicado\" para a página " +"ir para o ar." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Quando expirar a página. Deixe em branco para nunca expirar." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Todos os ancestrais não serão exibidos na navegação" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Um identificador único que é usado com a templatetag page_url, para " -"associar a esta página" +"Um identificador único que é usado com a templatetag page_url, para associar " +"a esta página" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "está publicado" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "O template usado para carregar o conteúdo." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "O site à qual a página está acessível." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "site" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "estado do moderador" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "páginas" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Página copiada." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "padrão" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "pode adicionar" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "pode excluir" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "pode modificar configurações avançadas" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "pode modificar permissões" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "a nível de página" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "pode mover" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "pode moderar" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "pode recuperar páginas" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "pode recuperar qualquer página excluída" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -"Se nenhum for selecionado, usuário terá permissões dadas a todos os " -"sites." +"Se nenhum for selecionado, usuário terá permissões dadas a todos os sites." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "sites" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Permissão global de página" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Permissões globais de página" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Garantir a" @@ -750,28 +875,28 @@ msgstr "Garantir a" msgid "Page permission" msgstr "Permissão de página" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Usuário (página)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Usuários (página)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Grupo de usuário (peagina)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Grupos de usuário (página)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "largura" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -796,6 +921,10 @@ msgstr "Arquivo" msgid "file" msgstr "arquivo" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -809,9 +938,18 @@ msgstr "usar arquivo swf" msgid "height" msgstr "altura" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Falta o plugin do flash." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Plugin flash não disponível. Faça o download: aqui" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -848,8 +986,7 @@ msgstr "latitude" #: plugins/googlemap/models.py:19 msgid "Use latitude & longitude to fine tune the map possiton." msgstr "" -"Use latitude e longitude para ajustar precisamente sua posição no " -"mapa." +"Use latitude e longitude para ajustar precisamente sua posição no mapa." #: plugins/googlemap/models.py:20 msgid "longitude" @@ -871,19 +1008,19 @@ msgstr "planejamento de rota" msgid "Map" msgstr "Mapa" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Calcular rota" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Herda Plugins da Página" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Idioma or Página devem ser preenchidos" @@ -892,8 +1029,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Escolha uma página para incluir os plugins nos espaços reservados, se " -"ficar vazio escolherá a página atual" +"Escolha uma página para incluir os plugins nos espaços reservados, se ficar " +"vazio escolherá a página atual" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -911,7 +1048,7 @@ msgid "name" msgstr "nome" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "link" @@ -932,40 +1069,44 @@ msgstr "Um endereço de e-mail tem prioridade sobre um link de texto." msgid "Picture" msgstr "Figura" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "esquerda" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "direita" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "image" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "se presente, a imagem será clicável" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "texto alternativo" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "descrição textual da imagem" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "descrição longa" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "descriçao complementar da imagem" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "lado" @@ -985,11 +1126,9 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Coloque um template (ex.: \"snippets/plugin_xy.html\") que será " -"renderizado." +"Coloque um template (ex.: \"snippets/plugin_xy.html\") que será renderizado." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -1008,6 +1147,7 @@ msgid "If present image will be clickable." msgstr "Se presente, a imagem será clicável." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "mais" @@ -1025,51 +1165,52 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Por favor, selecione um tipo de plugin" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Editar plugin selecionado" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Editor de texto não suporta edição de objetos." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Nenhum objeto selecionado" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Editor de texto não suporta inserção de objetos." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Não é um plugin" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Plugins disponíveis" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Inserir plugin" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1104,6 +1245,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Carregando..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Vídeo" @@ -1125,12 +1291,12 @@ msgid "movie url" msgstr "url do filme" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"url do vimeo ou do youtube. Exemplo: " -"http://www.youtube.com/watch?v=YFa59lK-" +"url do vimeo ou do youtube. Exemplo: http://www.youtube.com/watch?v=YFa59lK-" #: plugins/video/models.py:11 msgid "preview image file" @@ -1191,17 +1357,9 @@ msgstr "cor do roll over do botão" msgid "button highlight color" msgstr "cor da seleção do botão" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Plugin flash não disponível. Faça o download: aqui" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Salvar" @@ -1219,22 +1377,19 @@ msgid "Save and add another" msgstr "Salvar e adicionar outro" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Salvar e continuar editando" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"Página %(page)s pode requerer aprovação de" -" você." +"Página %(page)s pode requerer aprovação de " +"você." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Últimas modificações" @@ -1243,28 +1398,21 @@ msgstr "Últimas modificações" msgid "Log in to administration here." msgstr "Entre na interface de administração aqui" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Nome de usuário:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Senha:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Modificar uma página" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1272,81 +1420,81 @@ msgstr "Modificar uma página" msgid "Home" msgstr "Início" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Aprovar exclusão de página" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(requre aprovação ao nível %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(você pode executar ações diretamente nesta página)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Remover requisição de exclusão" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Aprovar exclusão" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Aprovar" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "rascunho" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Pré-visualizar" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Histórico" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Ver no site" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Por favor, corrija o erro abaixo." msgstr[1] "Por favor, corrija os erros abaixo." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Todas as permissões" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Carregando..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Estados da página" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Esta página precsa ser moderada no nível %(moderation_level)s, envie " -"uma mensagem ao moderador." +"Esta página precsa ser moderada no nível %(moderation_level)s, envie uma " +"mensagem ao moderador." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Requisitar aprovação" @@ -1354,41 +1502,41 @@ msgstr "Requisitar aprovação" msgid "List of pages" msgstr "Lista de páginas" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Movido com sucesso" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Um erro ocorreu. Por favor, recarrege a página" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Recuperar %(name)s excluído" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Adicionar %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Página em:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtro:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "ligado" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "desligado" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtro" @@ -1412,7 +1560,11 @@ msgstr "começo" msgid "end" msgstr "fim" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "últimas modificações" @@ -1426,8 +1578,7 @@ msgid "edit this page" msgstr "editar esta página" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "editar" @@ -1483,7 +1634,6 @@ msgid "add" msgstr "adicionar" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Aprovar diretamente" @@ -1497,11 +1647,6 @@ msgstr "visualizar" msgid "Unpublish" msgstr "Despublicar" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publicar" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Ver na página" @@ -1546,28 +1691,38 @@ msgstr "Pode modificar permissões" msgid "Can move" msgstr "Pode mover" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Pode mover" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(atual)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Todos" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Página não herda nenhuma permissão." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Uma revisão antiga de um plugin não pode ser salva!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Plugin salvo com sucesso." @@ -1579,8 +1734,7 @@ msgstr "Recuperar %(verbose_name)s excluído" #: templates/admin/cms/page/recover_form.html:24 msgid "Press the save button below to recover this version of the object." msgstr "" -"Pressione o botão 'salvar' abaixo para recuperar esta versão do " -"objeto." +"Pressione o botão 'salvar' abaixo para recuperar esta versão do objeto." #: templates/admin/cms/page/revision_form.html:11 #, python-format @@ -1590,8 +1744,7 @@ msgstr "Reverter %(verbose_name)s" #: templates/admin/cms/page/revision_form.html:24 msgid "Press the save button below to revert to this version of the object." msgstr "" -"Pressione o botão 'salvar' abaixo para reverter para esta versão do " -"objeto." +"Pressione o botão 'salvar' abaixo para reverter para esta versão do objeto." #: templates/admin/cms/page/dialog/copy.html:4 msgid "Copy options" @@ -1606,7 +1759,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Adicionar Plugin" @@ -1630,126 +1782,62 @@ msgstr "Nenum plugin selecionado. Selecione um no lado esquerdo" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Não há plugins presentes. Adicione um plugin a este espaço." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Mover para %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Tem certeza que deseja remover este plugin?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Modo de edição" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "acima" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "status" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "abaixo" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Nome de usuário:" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "login" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "modelo" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "mover" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Mover/adicionar Páginas" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "adicionar filho" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Adicionar Página Filho" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "adicionar irmã" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Adicionar página irmã" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Excluir página" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Administração do site" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Configurações da Página" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "histórico" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Ver Histórico" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Logout" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Travar" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Fechar" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "acima" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "abaixo" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "status" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Configurações" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Excluir Plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Desligar moderação de página" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Desligar moderação dos filhos" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Desligar moderação dos descendentes" @@ -1761,85 +1849,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - sua conta de usuário foi criada." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - sua conta de usuário foi modificada." #: utils/moderator.py:83 msgid "parent first" @@ -1854,13 +1875,35 @@ msgstr "aprovar" msgid "CMS - Page %s requires approvement." msgstr "CMS - A Página %s requer aprovação." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - sua conta de usuário foi criada." +#~ msgid "Missing flash plugin." +#~ msgstr "Falta o plugin do flash." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - sua conta de usuário foi modificada." +#~ msgid "Move to %(name)s" +#~ msgstr "Mover para %(name)s" + +#~ msgid "move" +#~ msgstr "mover" + +#~ msgid "add child" +#~ msgstr "adicionar filho" + +#~ msgid "add sibling" +#~ msgstr "adicionar irmã" + +#~ msgid "history" +#~ msgstr "histórico" + +#~ msgid "Lock" +#~ msgstr "Travar" + +#~ msgid "Close" +#~ msgstr "Fechar" + +#~ msgid "Settings" +#~ msgstr "Configurações" + +#~ msgid "Delete Plugin" +#~ msgstr "Excluir Plugin" #~ msgid "fgcolor" #~ msgstr "cor de primeiro plano" diff --git a/cms/locale/pt_BR/LC_MESSAGES/djangojs.mo b/cms/locale/pt_BR/LC_MESSAGES/djangojs.mo index a6b11d0215e..deff5f5bf8f 100644 Binary files a/cms/locale/pt_BR/LC_MESSAGES/djangojs.mo and b/cms/locale/pt_BR/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/pt_BR/LC_MESSAGES/djangojs.po b/cms/locale/pt_BR/LC_MESSAGES/djangojs.po index cc6268a1334..19607d033bf 100644 --- a/cms/locale/pt_BR/LC_MESSAGES/djangojs.po +++ b/cms/locale/pt_BR/LC_MESSAGES/djangojs.po @@ -1,42 +1,42 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" -"Language-Team: Portuguese (Brazilian) \n" +"Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/" +"django-cms/team/pt_BR/)\n" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Você tem certeza que quer mudar o conteúdo de %(field_name)s sem " -"salvar a página primeiro?" +"Você tem certeza que quer mudar o conteúdo de %(field_name)s sem salvar a " +"página primeiro?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Você tem certeza que deseja trocar as abas sem salvar o conteúdo da " -"página primeiro?" +"Você tem certeza que deseja trocar as abas sem salvar o conteúdo da página " +"primeiro?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Você tem certeza que quer excluir esse plugin?" diff --git a/cms/locale/ro/LC_MESSAGES/django.mo b/cms/locale/ro/LC_MESSAGES/django.mo new file mode 100644 index 00000000000..f1eb468a824 Binary files /dev/null and b/cms/locale/ro/LC_MESSAGES/django.mo differ diff --git a/cms/locale/ro/LC_MESSAGES/django.po b/cms/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 00000000000..f28c7327db8 --- /dev/null +++ b/cms/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,1847 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +msgid "" +msgstr "" +"Project-Id-Version: django-cms\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" +"Last-Translator: dnx \n" +"Language-Team: divio.ch \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1))\n" +"X-Poedit-Country: SWITZERLAND\n" +"X-Poedit-Language: English\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Pagina" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 +msgid "Advanced options" +msgstr "Opţiuni avansate" + +#: admin/forms.py:59 +msgid "Title" +msgstr "Titlu" + +#: admin/forms.py:60 +msgid "The default title" +msgstr "Titlul predefinit" + +#: admin/forms.py:61 +msgid "Slug" +msgstr "Slug" + +#: admin/forms.py:62 +msgid "The part of the title that is used in the URL" +msgstr "Parte a titlului, care este utilizat în URL" + +#: admin/forms.py:63 +msgid "Language" +msgstr "Limbă" + +#: admin/forms.py:64 +msgid "The current language of the content fields." +msgstr "Limbajul curent a câmpurilor de conţinut." + +#: admin/forms.py:117 +msgid "Another page with this slug already exists" +msgstr "O altă pagină cu acest slug există deja" + +#: admin/forms.py:135 +msgid "Menu Title" +msgstr "Titlu Meniu" + +#: admin/forms.py:136 +msgid "Overwrite what is displayed in the menu" +msgstr "Înlocuește ceea ce este afişat în meniul" + +#: admin/forms.py:137 +msgid "Page Title" +msgstr "Titlul paginii" + +#: admin/forms.py:138 +msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +msgstr "" +"Înlocuește ceea ce este afişat în partea de sus a browser-ului sau în " +"etichete" + +#: admin/forms.py:139 +msgid "Application" +msgstr "Aplicație" + +#: admin/forms.py:141 +msgid "Hook application to this page." +msgstr "Agață aplicația la această pagină." + +#: admin/forms.py:142 +msgid "Overwrite URL" +msgstr "Suprascrie URL" + +#: admin/forms.py:143 +msgid "Keep this field empty if standard path should be used." +msgstr "" +"Păstraţi acest câmp gol dacă percursul standard ar trebui să fie utilizat." + +#: admin/forms.py:149 +msgid "Redirect" +msgstr "Redirecţionare" + +#: admin/forms.py:150 +msgid "Redirects to this URL." +msgstr "Redirecţionează la aceast URL." + +#: admin/forms.py:152 +msgid "A description of the page sometimes used by search engines." +msgstr "O descriere a paginii uneori utilizată de către motoarele de căutare." + +#: admin/forms.py:154 +msgid "A list of comma seperated keywords sometimes used by search engines." +msgstr "" +"O listă de cuvinte cheie separate prin virgula uneori utilizate de către " +"motoarele de căutare." + +#: admin/forms.py:170 +msgid "A page with this reverse URL id exists already." +msgstr "O pagină cu acest URL id există deja." + +#: admin/forms.py:178 +msgid "Invalid URL, use /my/url format." +msgstr "URL invalid, utilizează formatul /calea/mea." + +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "O altă pagină cu acest slug există deja" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 +msgid "user" +msgstr "utilizator" + +#: admin/forms.py:216 +msgid "" +"Add page permission requires also access to children, or descendants, " +"otherwise added page can't be changed by its creator." +msgstr "" +"Pentru a adauga permisie de pagină are nevoie să ai acces, de asemenea, la " +"copiii sau descendenţii ei, altfel paginile adăugate nu vor putea fi " +"schimbate de către creatorii lor." + +#: admin/forms.py:221 +msgid "Add page permission also requires edit page permission." +msgstr "" +"Permisiunea de a adauga pagina, de asemenea, are nevoie de permisiunea de a " +"edita pagina." + +#: admin/forms.py:248 +msgid "can_view" +msgstr "" + +#: admin/forms.py:260 +msgid "Please select user or group first." +msgstr "Vă rugăm mai întîi să selectaţi utilizatorul sau grupul." + +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 +#: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 +msgid "Add" +msgstr "Adaugă" + +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 +msgid "Change" +msgstr "Schimbă" + +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 +#: templates/admin/page_submit_line.html:5 +#: templates/admin/cms/page/menu_item.html:44 +msgid "Delete" +msgstr "Şterge" + +#: admin/forms.py:270 +msgid "Recover (any) pages" +msgstr "Recuperă (orice) pagini" + +#: admin/forms.py:297 +msgid "Notify user" +msgstr "Anunță utilizatorul" + +#: admin/forms.py:298 +msgid "" +"Send email notification to user about username or password change. Requires " +"user email." +msgstr "" + +#: admin/forms.py:318 +msgid "New password" +msgstr "Parolă nouă" + +#: admin/forms.py:320 +msgid "New password confirmation" +msgstr "Confirmarea noii parole" + +#: admin/forms.py:339 +msgid "Email notification requires valid email address." +msgstr "Notificarea prin email necesită adresa de e-mail validă." + +#: admin/forms.py:341 +msgid "" +"The permission to add new pages requires the permission to change pages!" +msgstr "" + +#: admin/forms.py:343 +msgid "" +"The permission to add new users requires the permission to change users!" +msgstr "" + +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" +msgstr "" + +#: admin/pageadmin.py:97 +msgid "Basic Settings" +msgstr "Setări de bază" + +#: admin/pageadmin.py:100 +msgid "Note: This page reloads if you change the selection. Save it first." +msgstr "" + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Ascuns" + +#: admin/pageadmin.py:106 +msgid "Advanced Settings" +msgstr "Setări avansate" + +#: admin/pageadmin.py:113 +msgid "SEO Settings" +msgstr "Setări SEO" + +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:485 +msgid "higher" +msgstr "mai mare" + +#: admin/pageadmin.py:655 +msgid "Database error" +msgstr "Eroare bază de date" + +#: admin/pageadmin.py:855 +msgid "Page was successfully approved." +msgstr "Pagina a fost aprobată cu succes." + +#: admin/pageadmin.py:927 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: admin/pageadmin.py:933 +msgid "There only exists one translation for this page" +msgstr "Există o singură traducere pentru această pagină" + +#: admin/pageadmin.py:969 +#, python-format +msgid "Title and plugins with language %(language)s was deleted" +msgstr "Titlu şi plugin-urile cu limba %(language)s au fost şterse" + +#: admin/pageadmin.py:991 +msgid "Are you sure?" +msgstr "Esti sigur?" + +#: admin/pageadmin.py:1052 +msgid "You do not have permission to publish this page" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:1066 +msgid "You do not have permission to change this page's in_navigation status" +msgstr "" + +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 +msgid "Language must be set to a supported language!" +msgstr "" + +#: admin/pageadmin.py:1138 +#, python-format +msgid "%(plugin_name)s plugin added to %(placeholder)s" +msgstr "" + +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "" + +#: admin/pageadmin.py:1160 +msgid "Language must be different than the copied language!" +msgstr "" + +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:1173 +#, python-format +msgid "Copied %(language)s plugins to %(placeholder)s" +msgstr "" + +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:1256 +#, python-format +msgid "" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" +msgstr "" + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:1329 +msgid "Plugins where moved" +msgstr "" + +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 +#, python-format +msgid "" +"%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " +"deleted." +msgstr "" + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 +msgid "Page permissions" +msgstr "" + +#: admin/permissionadmin.py:134 +msgid "User & Group permissions" +msgstr "Utilizator & Permisii de grup" + +#: admin/permissionadmin.py:135 +msgid "Page permissions management" +msgstr "" + +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Nu aveţi permisiunea de a publica această pagină" + +#: admin/useradmin.py:25 +msgid "User details" +msgstr "Detalii utilizator" + +#: admin/useradmin.py:26 +msgid "Groups" +msgstr "Grupuri" + +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 +msgid "Password" +msgstr "Parolă" + +#: admin/dialog/forms.py:9 +msgid "Copy permissions" +msgstr "Copie permisiunile" + +#: admin/dialog/forms.py:16 +msgid "Copy moderation" +msgstr "Copie moderarea" + +#: conf/patch.py:28 +msgid "Inherit the template of the nearest ancestor" +msgstr "Moştenește şablonul de cel mai apropiat strămoş" + +#: forms/fields.py:19 +msgid "Select a valid site" +msgstr "" + +#: forms/fields.py:20 +msgid "Select a valid page" +msgstr "" + +#: forms/widgets.py:173 +msgid "Add Another" +msgstr "Adaugă altul" + +#: migrations/0001_initial.py:12 migrations/0001_initial.py:24 +#: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 +#: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 +#: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 +#: models/pluginmodel.py:79 models/titlemodels.py:10 +#: plugins/inherit/models.py:11 +msgid "language" +msgstr "limbă" + +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "pagină" + +#: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 +msgid "position" +msgstr "poziţie" + +#: migrations/0001_initial.py:15 migrations/0001_initial.py:29 +#: models/pluginmodel.py:81 models/titlemodels.py:22 +msgid "creation date" +msgstr "data creării" + +#: migrations/0001_initial.py:16 migrations/0001_initial.py:77 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 +msgid "slot" +msgstr "slot" + +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 +msgid "plugin_name" +msgstr "nume plugin" + +#: migrations/0001_initial.py:25 migrations/0011_title_overwrites.py:12 +#: migrations/0011_title_overwrites.py:15 models/titlemodels.py:11 +#: models/titlemodels.py:12 models/titlemodels.py:20 plugins/file/models.py:25 +#: plugins/file/migrations/0001_initial.py:18 plugins/teaser/models.py:9 +#: plugins/twitter/models.py:6 plugins/twitter/models.py:15 +#: templates/admin/cms/page/change_list_tree.html:6 +msgid "title" +msgstr "titlu" + +#: migrations/0001_initial.py:28 +msgid "path" +msgstr "cale" + +#: migrations/0001_initial.py:30 models/titlemodels.py:13 +msgid "slug" +msgstr "slug" + +#: migrations/0001_initial.py:36 +msgid "everybody" +msgstr "toți" + +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 +msgid "can edit" +msgstr "poate edita" + +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 +msgid "group" +msgstr "grup" + +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 +msgid "can publish" +msgstr "poate publica" + +#: migrations/0001_initial.py:42 +msgid "type" +msgstr "tip" + +#: migrations/0001_initial.py:44 +msgid "can change soft-root" +msgstr "poate schimba soft-root" + +#: migrations/0001_initial.py:50 migrations/0006_apphook.py:34 +#: migrations/0006_apphook.py:62 +msgid "status" +msgstr "statut" + +#: migrations/0001_initial.py:53 +msgid "navigation extenders" +msgstr "Prelungitoare de navigare" + +#: migrations/0001_initial.py:54 migrations/0006_apphook.py:12 +#: migrations/0006_apphook.py:46 models/titlemodels.py:15 +msgid "has url overwrite" +msgstr "Are suprascrierea URL-ului" + +#: migrations/0001_initial.py:55 migrations/0006_apphook.py:49 +msgid "url overwrite" +msgstr "Suprascrie URL-ul" + +#: migrations/0001_initial.py:57 +msgid "author" +msgstr "autor" + +#: migrations/0001_initial.py:58 migrations/0006_apphook.py:37 +msgid "reverse url id" +msgstr "reverse url id" + +#: migrations/0001_initial.py:59 models/pagemodel.py:84 +msgid "login required" +msgstr "autentificare cerută" + +#: migrations/0001_initial.py:60 models/pagemodel.py:69 +msgid "soft root" +msgstr "soft root" + +#: migrations/0001_initial.py:63 models/pagemodel.py:67 +msgid "publication end date" +msgstr "data terminării publicării" + +#: migrations/0001_initial.py:64 models/pagemodel.py:74 +#: plugins/snippet/models.py:14 +msgid "template" +msgstr "şablon" + +#: migrations/0001_initial.py:66 models/pagemodel.py:66 +msgid "publication date" +msgstr "data publicării" + +#: migrations/0001_initial.py:67 models/pagemodel.py:68 +#: templates/admin/cms/page/change_list_tree.html:9 +msgid "in navigation" +msgstr "în navigare" + +#: migrations/0006_apphook.py:15 migrations/0007_apphook_longer.py:11 +#: migrations/0007_apphook_longer.py:17 models/titlemodels.py:16 +msgid "application" +msgstr "aplicație" + +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 +msgid "id" +msgstr "id" + +#: migrations/0008_redirects.py:11 models/titlemodels.py:17 +msgid "redirect" +msgstr "" + +#: migrations/0009_added_meta_fields.py:12 models/titlemodels.py:19 +msgid "keywords" +msgstr "" + +#: migrations/0009_added_meta_fields.py:15 models/titlemodels.py:18 +#: plugins/teaser/models.py:20 +msgid "description" +msgstr "" + +#: models/moderatormodels.py:25 +msgid "Current page" +msgstr "" + +#: models/moderatormodels.py:26 +msgid "Page children (immediate)" +msgstr "" + +#: models/moderatormodels.py:27 +msgid "Page and children (immediate)" +msgstr "" + +#: models/moderatormodels.py:28 +msgid "Page descendants" +msgstr "" + +#: models/moderatormodels.py:29 +msgid "Page and descendants" +msgstr "" + +#: models/moderatormodels.py:46 +#: templates/admin/cms/page/moderation_messages.html:6 +#: templates/admin/cms/page/permissions.html:6 +msgid "User" +msgstr "Utilizator" + +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 +msgid "Moderate page" +msgstr "" + +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 +msgid "Moderate children" +msgstr "" + +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 +msgid "Moderate descendants" +msgstr "" + +#: models/moderatormodels.py:55 models/moderatormodels.py:56 +msgid "PageModerator" +msgstr "" + +#: models/moderatormodels.py:99 +msgid "created" +msgstr "creat" + +#: models/moderatormodels.py:100 models/pagemodel.py:44 +msgid "changed" +msgstr "schimbat" + +#: models/moderatormodels.py:101 +msgid "delete req." +msgstr "" + +#: models/moderatormodels.py:102 +msgid "move req." +msgstr "" + +#: models/moderatormodels.py:103 +msgid "publish req." +msgstr "" + +#: models/moderatormodels.py:104 +msgid "unpublish req." +msgstr "cerere de a anula publicarea" + +#: models/moderatormodels.py:105 models/pagemodel.py:47 +msgid "approved" +msgstr "aprobat" + +#: models/moderatormodels.py:117 +msgid "Page moderator state" +msgstr "" + +#: models/moderatormodels.py:118 +msgid "Page moderator states" +msgstr "Pagina status de moderator" + +#: models/pagemodel.py:45 +msgid "req. app." +msgstr "este nevoie de aprovare" + +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 +msgid "delete" +msgstr "şterge" + +#: models/pagemodel.py:48 +msgid "app. par." +msgstr "app. par." + +#: models/pagemodel.py:52 +msgid "for logged in users only" +msgstr "" + +#: models/pagemodel.py:53 +msgid "for anonymous users only" +msgstr "" + +#: models/pagemodel.py:61 +msgid "created by" +msgstr "creat de" + +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 +msgid "changed by" +msgstr "modificat de" + +#: models/pagemodel.py:66 +msgid "" +"When the page should go live. Status must be \"Published\" for page to go " +"live." +msgstr "" + +#: models/pagemodel.py:67 +msgid "When to expire the page. Leave empty to never expire." +msgstr "" + +#: models/pagemodel.py:69 +msgid "All ancestors will not be displayed in the navigation" +msgstr "" + +#: models/pagemodel.py:70 +msgid "" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" +msgstr "" + +#: models/pagemodel.py:71 +msgid "attached menu" +msgstr "" + +#: models/pagemodel.py:72 +msgid "is published" +msgstr "este publicat" + +#: models/pagemodel.py:74 +msgid "The template used to render the content." +msgstr "" + +#: models/pagemodel.py:75 +msgid "The site the page is accessible at." +msgstr "Site-ul este accesibil la pagina." + +#: models/pagemodel.py:75 +msgid "site" +msgstr "site" + +#: models/pagemodel.py:77 +msgid "moderator state" +msgstr "moderator de stat" + +#: models/pagemodel.py:85 +msgid "menu visibility" +msgstr "" + +#: models/pagemodel.py:85 +msgid "limit when this page is visible in the menu" +msgstr "" + +#: models/pagemodel.py:105 +msgid "pages" +msgstr "pagini" + +#: models/pagemodel.py:267 +msgid "Page was copied." +msgstr "Pagina a fost copiată." + +#: models/pagemodel.py:698 +msgid "default" +msgstr "predefinit" + +#: models/permissionmodels.py:21 +msgid "can add" +msgstr "poate adăuga" + +#: models/permissionmodels.py:22 +msgid "can delete" +msgstr "poate şterge" + +#: models/permissionmodels.py:23 +msgid "can change advanced settings" +msgstr "poate schimba setările avansate" + +#: models/permissionmodels.py:25 +msgid "can change permissions" +msgstr "poate schimba permisiunile" + +#: models/permissionmodels.py:25 +msgid "on page level" +msgstr "" + +#: models/permissionmodels.py:26 +msgid "can move" +msgstr "" + +#: models/permissionmodels.py:27 +msgid "can moderate" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 +msgid "can recover pages" +msgstr "poate recupera pagini" + +#: models/permissionmodels.py:51 +msgid "can recover any deleted page" +msgstr "" + +#: models/permissionmodels.py:52 +msgid "If none selected, user haves granted permissions to all sites." +msgstr "" + +#: models/permissionmodels.py:52 +msgid "sites" +msgstr "site-uri" + +#: models/permissionmodels.py:57 +msgid "Page global permission" +msgstr "" + +#: models/permissionmodels.py:58 +msgid "Pages global permissions" +msgstr "" + +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 +msgid "Grant on" +msgstr "" + +#: models/permissionmodels.py:74 +msgid "Page permission" +msgstr "" + +#: models/permissionmodels.py:89 +msgid "User (page)" +msgstr "" + +#: models/permissionmodels.py:90 +msgid "Users (page)" +msgstr "" + +#: models/permissionmodels.py:100 +msgid "User group (page)" +msgstr "" + +#: models/permissionmodels.py:101 +msgid "User groups (page)" +msgstr "" + +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 +#: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 +msgid "width" +msgstr "lăţime" + +#: models/pluginmodel.py:140 +msgid "" +msgstr "" + +#: models/titlemodels.py:12 +msgid "overwrite the title in the menu" +msgstr "" + +#: models/titlemodels.py:14 +msgid "Path" +msgstr "" + +#: models/titlemodels.py:20 +msgid "overwrite the title (html title tag)" +msgstr "" + +#: plugins/file/cms_plugins.py:9 +msgid "File" +msgstr "" + +#: plugins/file/models.py:24 plugins/file/migrations/0001_initial.py:17 +#: plugins/flash/models.py:8 plugins/flash/migrations/0001_initial.py:18 +msgid "file" +msgstr "fişier" + +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + +#: plugins/flash/cms_plugins.py:9 +msgid "Flash" +msgstr "Flash" + +#: plugins/flash/models.py:8 +msgid "use swf file" +msgstr "utilizare swf" + +#: plugins/flash/models.py:10 plugins/flash/migrations/0001_initial.py:19 +#: plugins/video/models.py:14 +msgid "height" +msgstr "înălţime" + +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" + +#: plugins/googlemap/cms_plugins.py:10 +msgid "Google Map" +msgstr "Google Map" + +#: plugins/googlemap/models.py:9 +msgid "map title" +msgstr "Titlul hartei" + +#: plugins/googlemap/models.py:11 +msgid "address" +msgstr "adresă" + +#: plugins/googlemap/models.py:12 +msgid "zip code" +msgstr "cod poştal" + +#: plugins/googlemap/models.py:13 +msgid "city" +msgstr "oraş" + +#: plugins/googlemap/models.py:15 +msgid "additional content" +msgstr "conţinut suplimentar" + +#: plugins/googlemap/models.py:16 +msgid "zoom level" +msgstr "nivelul de zoom" + +#: plugins/googlemap/models.py:18 +msgid "latitude" +msgstr "latitudine" + +#: plugins/googlemap/models.py:19 +msgid "Use latitude & longitude to fine tune the map possiton." +msgstr "" + +#: plugins/googlemap/models.py:20 +msgid "longitude" +msgstr "longitudine" + +#: plugins/googlemap/models.py:22 +msgid "route planer title" +msgstr "Titlul planificatorului de traseu" + +#: plugins/googlemap/models.py:22 +msgid "Calculate your fastest way to here" +msgstr "Calculaţi cea mai rapidă cale de a aici" + +#: plugins/googlemap/models.py:23 +msgid "route planer" +msgstr "planifică traseul" + +#: plugins/googlemap/models.py:30 +msgid "Map" +msgstr "Hartă" + +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 +msgid "Your address: " +msgstr "" + +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 +msgid "Calculate route" +msgstr "Calculaţi traseul" + +#: plugins/inherit/cms_plugins.py:17 +msgid "Inherit Plugins from Page" +msgstr "" + +#: plugins/inherit/forms.py:23 +msgid "Language or Page must be filled out" +msgstr "" + +#: plugins/inherit/models.py:10 +msgid "" +"Choose a page to include its plugins into this placeholder, empty will " +"choose current page" +msgstr "" + +#: plugins/inherit/models.py:11 +msgid "Optional: the language of the plugins you want" +msgstr "" + +#: plugins/link/cms_plugins.py:12 +msgid "Link" +msgstr "" + +#: plugins/link/models.py:10 plugins/link/migrations/0001_initial.py:18 +#: plugins/link/migrations/0004_larger_link_names.py:11 +#: plugins/link/migrations/0004_larger_link_names.py:17 +#: plugins/snippet/models.py:12 plugins/snippet/migrations/0001_initial.py:17 +msgid "name" +msgstr "" + +#: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 +#: plugins/teaser/models.py:19 +msgid "link" +msgstr "" + +#: plugins/link/models.py:12 +msgid "A link to a page has priority over a text link." +msgstr "" + +#: plugins/link/models.py:13 +msgid "mailto" +msgstr "" + +#: plugins/link/models.py:13 +msgid "An email adress has priority over a text link." +msgstr "" + +#: plugins/picture/cms_plugins.py:9 +msgid "Picture" +msgstr "" + +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 +msgid "left" +msgstr "" + +#: plugins/picture/models.py:16 +msgid "right" +msgstr "" + +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 +#: plugins/teaser/models.py:10 plugins/video/models.py:11 +msgid "image" +msgstr "" + +#: plugins/picture/models.py:21 plugins/picture/models.py:22 +msgid "if present image will be clickable" +msgstr "" + +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 +msgid "alternate text" +msgstr "" + +#: plugins/picture/models.py:23 +msgid "textual description of the image" +msgstr "" + +#: plugins/picture/models.py:24 +msgid "long description" +msgstr "" + +#: plugins/picture/models.py:24 +msgid "additional description of the image" +msgstr "" + +#: plugins/picture/models.py:25 +msgid "side" +msgstr "" + +#: plugins/snippet/cms_plugins.py:12 plugins/snippet/models.py:24 +#: plugins/snippet/models.py:32 +msgid "Snippet" +msgstr "" + +#: plugins/snippet/cms_plugins.py:30 +#, python-format +msgid "Template %(template)s does not exist." +msgstr "" + +#: plugins/snippet/models.py:13 plugins/snippet/migrations/0001_initial.py:18 +msgid "HTML" +msgstr "" + +#: plugins/snippet/models.py:15 +msgid "" +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " +msgstr "" + +#: plugins/snippet/models.py:25 +msgid "Snippets" +msgstr "Snippet-uri" + +#: plugins/teaser/cms_plugins.py:8 +msgid "Teaser" +msgstr "Teaser" + +#: plugins/teaser/models.py:14 +msgid "If present image will be clickable" +msgstr "" + +#: plugins/teaser/models.py:19 +msgid "If present image will be clickable." +msgstr "" + +#: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 +msgid "more" +msgstr "mai mult" + +#: plugins/text/cms_plugins.py:15 +msgid "Text" +msgstr "Text" + +#: plugins/text/models.py:14 plugins/text/migrations/0001_initial.py:16 +msgid "body" +msgstr "corp" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:30 +msgid "Plugins" +msgstr "Plugin-uri" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 +msgid "Please select a plugin type." +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +msgid "Edit selected plugin" +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 +msgid "Text editor does not support editing objects." +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 +msgid "No object selected." +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 +msgid "Text editor does not support inserting objects." +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 +msgid "Not a plugin object" +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 +msgid "Available Plugins" +msgstr "" + +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 +msgid "Insert plugin" +msgstr "" + +#: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 +msgid "Twitter" +msgstr "Twitter" + +#: plugins/twitter/cms_plugins.py:23 +msgid "Twitter Search" +msgstr "" + +#: plugins/twitter/models.py:7 +msgid "twitter user" +msgstr "utilizator twitter" + +#: plugins/twitter/models.py:8 plugins/twitter/models.py:17 +msgid "count" +msgstr "conta" + +#: plugins/twitter/models.py:8 plugins/twitter/models.py:17 +msgid "Number of entries to display" +msgstr "" + +#: plugins/twitter/models.py:9 +msgid "link hint" +msgstr "" + +#: plugins/twitter/models.py:9 +msgid "If given, the hint is displayed as link to your Twitter profile." +msgstr "" + +#: plugins/twitter/models.py:16 +msgid "query" +msgstr "" + +#: plugins/twitter/models.py:16 +msgid "" +"Example: \"brains AND zombies AND from:umbrella AND to:nemesis\": tweets " +"from the user \"umbrella\" to the user \"nemesis\" that contain the words " +"\"brains\" and \"zombies\"" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Se incarca ..." + +#: plugins/video/cms_plugins.py:10 +msgid "Video" +msgstr "Video" + +#: plugins/video/cms_plugins.py:42 +msgid "Color Settings" +msgstr "Setări culoare" + +#: plugins/video/models.py:9 +msgid "movie file" +msgstr "cerere de mutare" + +#: plugins/video/models.py:9 +msgid "use .flv file or h264 encoded video file" +msgstr "" + +#: plugins/video/models.py:10 +msgid "movie url" +msgstr "" + +#: plugins/video/models.py:10 +msgid "" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" +msgstr "" + +#: plugins/video/models.py:11 +msgid "preview image file" +msgstr "" + +#: plugins/video/models.py:16 +msgid "auto play" +msgstr "" + +#: plugins/video/models.py:17 +msgid "auto hide" +msgstr "" + +#: plugins/video/models.py:18 +msgid "fullscreen" +msgstr "" + +#: plugins/video/models.py:19 +msgid "loop" +msgstr "" + +#: plugins/video/models.py:22 +msgid "background color" +msgstr "" + +#: plugins/video/models.py:22 plugins/video/models.py:23 +#: plugins/video/models.py:24 plugins/video/models.py:25 +#: plugins/video/models.py:26 plugins/video/models.py:27 +#: plugins/video/models.py:28 plugins/video/models.py:29 +msgid "Hexadecimal, eg ff00cc" +msgstr "" + +#: plugins/video/models.py:23 +msgid "text color" +msgstr "" + +#: plugins/video/models.py:24 +msgid "seekbar color" +msgstr "" + +#: plugins/video/models.py:25 +msgid "seekbar bg color" +msgstr "" + +#: plugins/video/models.py:26 +msgid "loadingbar color" +msgstr "" + +#: plugins/video/models.py:27 +msgid "button out color" +msgstr "" + +#: plugins/video/models.py:28 +msgid "button over color" +msgstr "" + +#: plugins/video/models.py:29 +msgid "button highlight color" +msgstr "" + +#: templates/admin/page_submit_line.html:3 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 +msgid "Save" +msgstr "Salvează" + +#: templates/admin/page_submit_line.html:7 +#, python-format +msgid "Delete %(language)s translation" +msgstr "" + +#: templates/admin/page_submit_line.html:11 +msgid "Save as new" +msgstr "Salvează ca nou" + +#: templates/admin/page_submit_line.html:12 +msgid "Save and add another" +msgstr "" + +#: templates/admin/page_submit_line.html:13 +#: templates/admin/cms/page/change_form.html:275 +msgid "Save and continue editing" +msgstr "" + +#: templates/admin/cms/mail/approvement_required.html:5 +#, python-format +msgid "" +"Page %(page)s may require approvement by you." +msgstr "" + +#: templates/admin/cms/mail/approvement_required.html:8 +msgid "Last changes" +msgstr "" + +#: templates/admin/cms/mail/base.html:55 +#, python-format +msgid "Log in to administration here." +msgstr "" + +#: templates/admin/cms/mail/page_user_change.html:7 +msgid "Username:" +msgstr "Nume de utilizator:" + +#: templates/admin/cms/mail/page_user_change.html:11 +msgid "Password:" +msgstr "Parola:" + +#: templates/admin/cms/page/change_form.html:3 +#: templates/admin/cms/page/plugin_forms_history.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 +msgid "Change a page" +msgstr "Modifică o pagină" + +#: templates/admin/cms/page/change_form.html:64 +#: templates/admin/cms/page/change_list.html:8 +#: templates/admin/cms/page/plugin_change_form.html:67 +#: templates/admin/cms/page/recover_form.html:14 +#: templates/admin/cms/page/revision_form.html:6 +msgid "Home" +msgstr "Acasă" + +#: templates/admin/cms/page/change_form.html:73 +msgid "Approve page deletion" +msgstr "" + +#: templates/admin/cms/page/change_form.html:79 +#, python-format +msgid "(requires approvement at %(moderation_level)s level)" +msgstr "" + +#: templates/admin/cms/page/change_form.html:80 +msgid "(you can perform actions on this page directly)" +msgstr "" + +#: templates/admin/cms/page/change_form.html:93 +msgid "Remove delete request" +msgstr "" + +#: templates/admin/cms/page/change_form.html:95 +msgid "Approve delete" +msgstr "" + +#: templates/admin/cms/page/change_form.html:95 +msgid "Approve" +msgstr "" + +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 +#: templates/admin/cms/page/change_list_tree.html:12 +msgid "draft" +msgstr "" + +#: templates/admin/cms/page/change_form.html:96 +msgid "Preview" +msgstr "" + +#: templates/admin/cms/page/change_form.html:99 +#: templates/admin/cms/page/revision_form.html:10 +msgid "History" +msgstr "Istorie" + +#: templates/admin/cms/page/change_form.html:100 +msgid "View on site" +msgstr "Vizualizează pe site" + +#: templates/admin/cms/page/change_form.html:130 +#: templates/admin/cms/page/plugin_change_form.html:84 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: templates/admin/cms/page/change_form.html:150 +msgid "All permissions" +msgstr "" + +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 +#: templates/admin/cms/page/loading.html:2 +msgid "Loading..." +msgstr "Se incarca ..." + +#: templates/admin/cms/page/change_form.html:162 +msgid "Page states" +msgstr "" + +#: templates/admin/cms/page/change_form.html:185 +#, python-format +msgid "" +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." +msgstr "" + +#: templates/admin/cms/page/change_form.html:187 +msgid "Request approvemet" +msgstr "" + +#: templates/admin/cms/page/change_list.html:3 +msgid "List of pages" +msgstr "" + +#: templates/admin/cms/page/change_list.html:58 +msgid "Successfully moved" +msgstr "" + +#: templates/admin/cms/page/change_list.html:63 +msgid "An error occured. Please reload the page" +msgstr "" + +#: templates/admin/cms/page/change_list.html:84 +#, python-format +msgid "Recover deleted %(name)s" +msgstr "" + +#: templates/admin/cms/page/change_list.html:87 +#, python-format +msgid "Add %(name)s" +msgstr "" + +#: templates/admin/cms/page/change_list.html:99 +msgid "Pages on:" +msgstr "Pagini pe:" + +#: templates/admin/cms/page/change_list.html:116 +msgid "Filter:" +msgstr "Filtru:" + +#: templates/admin/cms/page/change_list.html:116 +msgid "on" +msgstr "on" + +#: templates/admin/cms/page/change_list.html:116 +msgid "off" +msgstr "off" + +#: templates/admin/cms/page/change_list.html:118 +msgid "Filter" +msgstr "Filtru" + +#: templates/admin/cms/page/change_list_tree.html:8 +msgid "actions" +msgstr "acţiuni" + +#: templates/admin/cms/page/change_list_tree.html:10 +msgid "moderate" +msgstr "moderează" + +#: templates/admin/cms/page/change_list_tree.html:13 +msgid "published" +msgstr "publicat" + +#: templates/admin/cms/page/change_list_tree.html:15 +msgid "start" +msgstr "începe" + +#: templates/admin/cms/page/change_list_tree.html:16 +msgid "end" +msgstr "sfîrșit" + +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 +msgid "last changes" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:5 +msgid "select this page" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:5 +#: templates/admin/cms/page/menu_item.html:6 +msgid "edit this page" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:6 +#: templates/cms/toolbar/toolbar.html:54 +msgid "edit" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:16 +msgid "insert above" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:17 +msgid "insert below" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:19 +msgid "insert inside" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:23 +msgid "softroot" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:23 +msgid "home" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:26 +#, python-format +msgid "Edit this page in %(language)s " +msgstr "" + +#: templates/admin/cms/page/menu_item.html:33 +msgid "Cut" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:33 +msgid "cut" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:34 +msgid "Copy" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:34 +msgid "copy" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:37 +#: templates/admin/cms/page/menu_item.html:41 +msgid "Add Child" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:37 +#: templates/admin/cms/page/menu_item.html:41 +msgid "add" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:65 +msgid "Approve directly" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:67 +#: templates/admin/cms/page/menu_item.html:79 +#: templates/admin/cms/page/menu_item.html:81 +msgid "view" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:72 +msgid "Unpublish" +msgstr "" + +#: templates/admin/cms/page/menu_item.html:79 +msgid "View on page" +msgstr "" + +#: templates/admin/cms/page/moderation_messages.html:4 +msgid "Action" +msgstr "" + +#: templates/admin/cms/page/moderation_messages.html:5 +msgid "Created" +msgstr "" + +#: templates/admin/cms/page/moderation_messages.html:7 +msgid "Message" +msgstr "" + +#: templates/admin/cms/page/permissions.html:7 +msgid "Group" +msgstr "" + +#: templates/admin/cms/page/permissions.html:8 +msgid "Can edit" +msgstr "" + +#: templates/admin/cms/page/permissions.html:9 +msgid "Can add" +msgstr "" + +#: templates/admin/cms/page/permissions.html:10 +msgid "Can delete" +msgstr "" + +#: templates/admin/cms/page/permissions.html:11 +msgid "Can publish" +msgstr "" + +#: templates/admin/cms/page/permissions.html:12 +msgid "Can change permissions" +msgstr "" + +#: templates/admin/cms/page/permissions.html:13 +msgid "Can move" +msgstr "" + +#: templates/admin/cms/page/permissions.html:14 +msgid "Can view" +msgstr "" + +#: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 +msgid "(global)" +msgstr "" + +#: templates/admin/cms/page/permissions.html:26 +msgid "(current)" +msgstr "" + +#: templates/admin/cms/page/permissions.html:43 +msgid "All" +msgstr "" + +#: templates/admin/cms/page/permissions.html:51 +msgid "Page doesn't inherit any permissions." +msgstr "" + +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + +#: templates/admin/cms/page/plugin_forms_history.html:9 +msgid "An old revision of a plugin can not be saved!" +msgstr "" + +#: templates/admin/cms/page/plugin_forms_ok.html:21 +msgid "Plugin saved successfully." +msgstr "" + +#: templates/admin/cms/page/recover_form.html:17 +#, python-format +msgid "Recover deleted %(verbose_name)s" +msgstr "" + +#: templates/admin/cms/page/recover_form.html:24 +msgid "Press the save button below to recover this version of the object." +msgstr "" + +#: templates/admin/cms/page/revision_form.html:11 +#, python-format +msgid "Revert %(verbose_name)s" +msgstr "" + +#: templates/admin/cms/page/revision_form.html:24 +msgid "Press the save button below to revert to this version of the object." +msgstr "" + +#: templates/admin/cms/page/dialog/copy.html:4 +msgid "Copy options" +msgstr "" + +#: templates/admin/cms/page/dialog/copy.html:6 +msgid "Choose copy options" +msgstr "" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:7 +msgid "Generic" +msgstr "" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 +msgid "Add Plugin" +msgstr "" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:18 +msgid "From Language" +msgstr "" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:25 +msgid "Copy Plugins" +msgstr "" + +#: templates/admin/cms/page/widgets/plugin_editor.html:12 +msgid "You must save the page first to add plugins." +msgstr "" + +#: templates/admin/cms/page/widgets/plugin_editor.html:15 +msgid "No Plugin selected. Selected one on the left side" +msgstr "" + +#: templates/admin/cms/page/widgets/plugin_editor.html:17 +msgid "No Plugins present. Add a plugin to this placeholder-slot." +msgstr "" + +#: templates/cms/toolbar/placeholder.html:32 +msgid "Available plugins" +msgstr "" + +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" + +#: templates/cms/toolbar/toolbar.html:23 +msgid "Are you sure you want to delete this plugin?" +msgstr "" + +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "" + +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" +msgstr "" + +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +msgid "Login" +msgstr "" + +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "" + +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" + +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" + +#: templatetags/cms_admin.py:99 +msgid "Unbind page moderation" +msgstr "" + +#: templatetags/cms_admin.py:100 +msgid "Unbind children moderation" +msgstr "" + +#: templatetags/cms_admin.py:101 +msgid "Unbind descendants moderation" +msgstr "" + +#: templatetags/cms_tags.py:78 +#, python-format +msgid "Page not found on %(domain)s" +msgstr "" + +#: templatetags/cms_tags.py:79 +#, python-format +msgid "" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" +"`. The URL of the request was: http://%(host)s%(path)s" +msgstr "" + +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "" + +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "" + +#: utils/moderator.py:83 +msgid "parent first" +msgstr "" + +#: utils/moderator.py:90 +msgid "approve" +msgstr "" + +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "" + +#~ msgid "Missing flash plugin." +#~ msgstr "Lipseşte pluginul flash." diff --git a/cms/locale/ro/LC_MESSAGES/djangojs.mo b/cms/locale/ro/LC_MESSAGES/djangojs.mo new file mode 100644 index 00000000000..e50033d0930 Binary files /dev/null and b/cms/locale/ro/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/ro/LC_MESSAGES/djangojs.po b/cms/locale/ro/LC_MESSAGES/djangojs.po new file mode 100644 index 00000000000..cad6c9c891a --- /dev/null +++ b/cms/locale/ro/LC_MESSAGES/djangojs.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Denis Darii , 2011. +msgid "" +msgstr "" +"Project-Id-Version: django-cms\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: dnx \n" +"Language-Team: LANGUAGE \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1))\n" + +#: static/cms/js/change_form.js:31 +msgid "" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" +msgstr "" +"Sunteți sigur că doriţi să schimbaţi %(field_name)s fără a salva pagina " +"întîi?" + +#: static/cms/js/change_form.js:69 +msgid "" +"Not all plugins are saved. Are you sure you want to save the page?\n" +"All unsaved plugin content will tried to save." +msgstr "" +"Nu toate plugin-uri sunt salvate. Sunteţi sigur că doriţi să salvaţi pagina? " +"Conținutul plugin-urilor nesalvate va fi încercat să fie salvat." + +#: static/cms/js/change_form.js:127 +msgid "Are you sure you want to change tabs without saving the page first?" +msgstr "Sunteți sigur că doriţi să schimbaţi filele fără a salva pagina întîi?" + +#: static/cms/js/plugin_editor.js:132 +msgid "Are you sure you want to delete this plugin?" +msgstr "Sunteţi sigur că doriţi să ştergeţi acest plugin?" diff --git a/cms/locale/ru/LC_MESSAGES/django.mo b/cms/locale/ru/LC_MESSAGES/django.mo index 02ac282754b..679ed213c1b 100644 Binary files a/cms/locale/ru/LC_MESSAGES/django.mo and b/cms/locale/ru/LC_MESSAGES/django.mo differ diff --git a/cms/locale/ru/LC_MESSAGES/django.po b/cms/locale/ru/LC_MESSAGES/django.po index 24dab00bef4..6bf052cf141 100644 --- a/cms/locale/ru/LC_MESSAGES/django.po +++ b/cms/locale/ru/LC_MESSAGES/django.po @@ -1,123 +1,188 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" +"Last-Translator: gleb_chipiga \n" "Language-Team: divio.ch \n" +"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<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Режим редактирования" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Опубликовать" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "Требует Проверки" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Выход" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Шаблон" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Переместить/добавить страницу" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Добавить дочернюю страницу" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Добавить сходную страницу" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Удалить страницу" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Страница" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Управление сайтом" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Настройки страницы" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Посмотреть историю" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Расширенные настройки" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Заголовок" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Заголовок по умолчанию" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" -msgstr "Slug" +msgstr "Путь" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Часть заголовка, используемая в URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Язык" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Текущий язык содержимого полей." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Страница с таким slug уже существует." -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Заголовок меню" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "То, что будет отображено в меню." -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Заголовок страницы" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" -"Переписать то, что будет изображено в заголовке браузера или " -"закладках." +"Переписать то, что будет изображено в заголовке браузера или закладках." -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Приложение" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Прикрепить приложение к данной странице." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Переписать URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Оставьте это поле пустым для использования стандартного пути" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Перенаправление" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Перенаправить на URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Описание страницы, иногда используемое поисковыми роботами." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Список ключевых слов, разделённых запятыми, иногда используемый " -"поисковыми роботами." +"Список ключевых слов, разделённых запятыми, иногда используемый поисковыми " +"роботами." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Страница с таким reverse URL уже существует." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Неправильный URL, используйте /my/url формат." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Страница с таким slug уже существует." + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "пользователь" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." @@ -125,207 +190,257 @@ msgstr "" "Права на добавление страницы требуют также доступ к потомкам, иначе " "созданная страница не сможет быть изменена создателем." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Права на добавления страницы требуют право на изменение." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "вид" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Сначала выберите пользователя или группу." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Добавить" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Изменить" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Удалить" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Восстановить (любую) страницу" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Уведомить пользователя" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Отправить пользователю email о смене имени или пароля. Требуется email" -" пользователя." +"Отправить пользователю email о смене имени или пароля. Требуется email " +"пользователя." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Новый пароль" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Подтверждение нового пароля" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Уведомление по email требует правильного email адреса." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "Право на добавление страницы требует право на изменение страницы!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Право на добавление пользователя требует право на изменение " -"пользователя!" +"Право на добавление пользователя требует право на изменение пользователя!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Для добавления прав доступа вы также должны изменять их!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Скрыто" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Основные настройки" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Страница будет перезагружена, если изменить выбор. Сохраните её " -"сначала." +"Страница будет перезагружена, если изменить выбор. Сохраните её сначала." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Скрыто" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Расширенные настройки" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Настройки SEO " -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "выше" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Ошибка базы данные" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "страница" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Страница успешно утверждена." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "объект %(name)s с первичным ключом %(key)r не существует." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Для данной страницы создан только один перевод" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Заголовок и плагин на %(language)s удалён" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Вы уверены?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "У вас нет прав для публикования этой страницы" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" -msgstr "У вас нет прав для изменения статуса \"в навигации\" для данной страницы" +msgstr "" +"У вас нет прав для изменения статуса \"в навигации\" для данной страницы" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "У вас нет прав для изменения данной страницы" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Язык должен быть установлен из списка поддерживаемых языков!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s плагин добавлен в %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Язык должен отличаться от скопированного!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "Скопировано %(language)s плагинов в %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "%(plugin_name)s плагин, редактируемый в %(position)s в %(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Плагины перемещены" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "%(plugin_name)s плагин в %(position)s в %(placeholder)s удалён." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Права доступа к странице" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Права доступа пользователя и группы" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Управление правами доступа к странице" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "У вас нет прав для изменения данной страницы" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Информация о пользователе" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Группы" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Пароль" @@ -337,7 +452,7 @@ msgstr "Права на копирование" msgid "Copy moderation" msgstr "Модерация копирования" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Наследовать шаблон от ближайшего предка" @@ -357,27 +472,37 @@ msgstr "Добавить другое" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "язык" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "страница" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "положение" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "дата создания" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "слот" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin_name" @@ -396,21 +521,21 @@ msgstr "путь" #: migrations/0001_initial.py:30 models/titlemodels.py:13 msgid "slug" -msgstr "slug" +msgstr "путь" #: migrations/0001_initial.py:36 msgid "everybody" msgstr "все" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "может редактировать" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "группа" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "может публиковать" @@ -448,28 +573,28 @@ msgstr "автор" msgid "reverse url id" msgstr "reverse url id" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "требуется login" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "soft root" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "дата окончания публикации" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "шаблон" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "дата публикации" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "в навигации" @@ -479,7 +604,7 @@ msgstr "в навигации" msgid "application" msgstr "приложение" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -516,26 +641,21 @@ msgstr "Потомки страницы" msgid "Page and descendants" msgstr "Страница и потомки" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Страница" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Пользователь" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Модерировать страницу" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Модерировать непосредственных потомков" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Модерировать потомков" @@ -543,193 +663,199 @@ msgstr "Модерировать потомков" msgid "PageModerator" msgstr "PageModerator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "создан" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "изменён" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "удаляется" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "перемещается" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "публикуется" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "отменяется публикация" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "утверждено" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Статус модератора страницы" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Статусы модератора страницы" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "требуется приложение" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "удалить" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "часть приложения" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "Только для зарегистрированных пользователей" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "Только для анонимных пользователей" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "создан" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "изменён" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Для того, чтобы опубликовать страницу, необходимо статус " -"\"Опубликовано\"" +"Для того, чтобы опубликовать страницу, необходимо статус \"Опубликовано\"" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Срок действия страницы. Оставьте пустым для бесконечного срока." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Все предки не будут показаны в навигации" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Уникальный идентификатор, который используется с тегом page_url для " -"связи с данной страницей" +"Уникальный идентификатор, который используется с тегом page_url для связи с " +"данной страницей" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "прикреплённое меню" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "опубликован" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Шаблон, используемый для отображения." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "The site the page is accessible at." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "сайт" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "статус модерации" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "отображение меню" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "ограничивает отображение страницы в меню" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "страницы" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Страница скопирована." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "по умолчанию" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "может добавлять" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "может удалять" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "может изменять дополнительные настройки" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "может изменять права доступа к странице" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "на уровне страницы" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "может перемещать" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "может модерировать" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "может восстанавливать страницы" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "может восстанавливать или удалять страницы" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "Если не выбрано, пользователь имеет права на все сайты." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "сайты" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Глобальные права доступа к странице" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Глобальные права доступа к страницам" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Назначить права на" @@ -737,28 +863,28 @@ msgstr "Назначить права на" msgid "Page permission" msgstr "Права доступа к странице" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Пользователь (страница)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Пользователи (страница)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Группа пользователей(страница)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Группы пользователей(страница)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "ширина" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "<Пусто>" @@ -783,6 +909,10 @@ msgstr "Файл" msgid "file" msgstr "файл" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Флеш" @@ -796,9 +926,18 @@ msgstr "использовать swf файл" msgid "height" msgstr "высота" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Отсутствует флеш плагин." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Отсутствует флеш-плеер. Загрузить с сейчас" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -856,19 +995,19 @@ msgstr "планировщик пути" msgid "Map" msgstr "Карта" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "Ваш адрес:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Вычислить путь" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Наследовать плагины от страницы" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Язык или страница должны быть заполенны" @@ -877,8 +1016,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Выберите страницу для включения её плагинов в данный placeholder, " -"пусто означает текущую страницу" +"Выберите страницу для включения её плагинов в данный placeholder, пусто " +"означает текущую страницу" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -896,7 +1035,7 @@ msgid "name" msgstr "название" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "ссылка" @@ -917,40 +1056,44 @@ msgstr "Email имеет приоритет над текстовой ссылк msgid "Picture" msgstr "Изображение" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "слева" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "справа" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "изображение" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "если указано, клик по изображению приведёт к переходу по ссылке" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "альтернативный текст" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "текстовое описание изображения" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "длинное описание" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "дополнительное описание изображения" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "расположение" @@ -970,11 +1113,10 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Введите имя шаблона (например \"snippets/plugin_xy.html\") который " -"должен отображаться. " +"Введите имя шаблона (например \"snippets/plugin_xy.html\") который должен " +"отображаться. " #: plugins/snippet/models.py:25 msgid "Snippets" @@ -993,6 +1135,7 @@ msgid "If present image will be clickable." msgstr "Если выбран, то на изображение можно кликнуть." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "больше" @@ -1010,51 +1153,52 @@ msgstr "Плагины" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Пожалуйста выберите плагин." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Изменить выбранный плагин." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Текстовый редактор не поддерживает изменение объектов." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Объект не выбран." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Текстовый редактор не поддерживает вставку объектов." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Объект не является плагином." -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Доступные плагины." -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Вставить плагин" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "Поиск в твиттере" @@ -1077,8 +1221,7 @@ msgstr "подсказка ссылки" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Если указано, подсказка будет показана как ссылка на ваш профиль " -"Twitter" +"Если указано, подсказка будет показана как ссылка на ваш профиль Twitter" #: plugins/twitter/models.py:16 msgid "query" @@ -1090,6 +1233,34 @@ msgid "" "from the user \"umbrella\" to the user \"nemesis\" that contain the words " "\"brains\" and \"zombies\"" msgstr "" +"Пример: \"brains AND zombies AND from:umbrella AND to:nemesis\": твиты от " +"пользователя \"umbrella\" пользователю \"nemesis\" содержащие слова \"brains" +"\" и \"zombies\"" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Загрузка..." #: plugins/video/cms_plugins.py:10 msgid "Video" @@ -1112,12 +1283,13 @@ msgid "movie url" msgstr "URL видео" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"ссылка на видео с vimeo или youtube. Например: " -"http://www.youtube.com/watch?v=YFa59lK-kpo" +"ссылка на видео с vimeo или youtube. Например: http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1178,17 +1350,9 @@ msgstr "Цвет кнопки в режиме \"над\"" msgid "button highlight color" msgstr "Цвет выделенной кнопки" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Отсутствует флеш-плеер. Загрузить с сейчас" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Сохранить" @@ -1206,22 +1370,19 @@ msgid "Save and add another" msgstr "Сохранить и добавить другую" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Сохранить и продолжить редактирование" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"Страница %(page)s может требовать " -"утверждения вами." +"Страница %(page)s может требовать утверждения " +"вами." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Последние изменения" @@ -1230,28 +1391,21 @@ msgstr "Последние изменения" msgid "Log in to administration here." msgstr "Войти в панель администратора здесь." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "Url для входа: %(login_url)s" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Имя пользователя:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Пароль:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Изменить страницу" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1259,83 +1413,82 @@ msgstr "Изменить страницу" msgid "Home" msgstr "Домой" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Утвердить удаление страницы" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(требует утверждение на уровне %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(вы можете совершать действия над данной страницей напрямую)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Убрать запрос на удаление" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Утвердить удаление" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Утвердить" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "draft" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Предпросмотр" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "История" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Посмотреть на сайте" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Пожалуйста, исправьте ошибки ниже." msgstr[1] "Пожалуйста, исправьте ошибки ниже." msgstr[2] "Пожалуйста, исправьте ошибки ниже." -msgstr[3] "Пожалуйста, исправьте ошибки ниже." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Все права доступа" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Загрузка..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Статусы страниц" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Страница должна быть модерирована на уровне %(moderation_level)s, " -"сообщите модератору." +"Страница должна быть модерирована на уровне %(moderation_level)s, сообщите " +"модератору." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Запросить утверждение" @@ -1343,41 +1496,41 @@ msgstr "Запросить утверждение" msgid "List of pages" msgstr "Список страниц" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Перенесена удачно" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Возникла ошибка. Пожалуйста перезагрузите страницу" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Восстановить удалённые %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Добавить %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Страницы на:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Фильтр:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "вкл" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "выкл" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Фильтр" @@ -1401,7 +1554,11 @@ msgstr "начало" msgid "end" msgstr "конец" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "последние изменения" @@ -1415,8 +1572,7 @@ msgid "edit this page" msgstr "изменить эту страницу" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "изменить" @@ -1472,7 +1628,6 @@ msgid "add" msgstr "добавить" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Утвердить напрямую" @@ -1486,11 +1641,6 @@ msgstr "вид" msgid "Unpublish" msgstr "Отменить публикацию" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Опубликовать" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Смотреть на странице" @@ -1535,28 +1685,38 @@ msgstr "Может изменять права доступа" msgid "Can move" msgstr "Может перемещать" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Может перемещать" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(глобальный)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(текущий)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Все" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Страница не наследует прав доступа" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Старая редакция плагина не может быть сохранена!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Плагин сохранён успешно." @@ -1568,8 +1728,7 @@ msgstr "Восстановить удалённые %(verbose_name)s" #: templates/admin/cms/page/recover_form.html:24 msgid "Press the save button below to recover this version of the object." msgstr "" -"Нажмите кнопку сохранения ниже для восстановления данной версии " -"объекта." +"Нажмите кнопку сохранения ниже для восстановления данной версии объекта." #: templates/admin/cms/page/revision_form.html:11 #, python-format @@ -1593,7 +1752,6 @@ msgid "Generic" msgstr "Общий" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Добавить плагин" @@ -1617,126 +1775,62 @@ msgstr "Ни один плагин не выбран. Выберите один msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Не указан плагин. Добавьте плагин в этот placeholder-слот." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "Доступные плагины" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Переместить %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Вы уверены, что хотите удалить данный плагин?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Режим редактирования" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "вкл" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Статус" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "выкл" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Имя пользователя" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "вход" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "Требует Проверки" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Шаблон" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "переместить" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Переместить/добавить страницу" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "добавить ветку" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Добавить дочернюю страницу" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "добавить сходную" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Добавить сходную страницу" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Удалить страницу" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Управление сайтом" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Настройки страницы" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "история" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Посмотреть историю" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Выход" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Заблокировать" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Закрыть" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "вкл" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "выкл" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Статус" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Настройки" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Удалить плагин." +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Убрать модерацию страницы" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Убрать модерацию непосредственных потомков" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Убрать модерацию потомков" @@ -1748,108 +1842,123 @@ msgstr "Страница не найдена на %(domain)s" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" "Тег шаблона не может найти страницу с параметрами поиска `%(page_lookup)s\n" "`. URL запроса: http://%(host)s%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "Английский" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - ваш аккаунт создан." + +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - ваш аккаунт изменён." + +#: utils/moderator.py:83 +msgid "parent first" +msgstr "первый предок" -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "Французский" +#: utils/moderator.py:90 +msgid "approve" +msgstr "утвердить" -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "Немецкий" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - Страница %s требует утверждения." -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "Бразильский" +#~ msgid "Missing flash plugin." +#~ msgstr "Отсутствует флеш плагин." -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "Нидерландский" +#~ msgid "Login url: %(login_url)s" +#~ msgstr "Url для входа: %(login_url)s" -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "две колонки" +#~ msgid "Move to %(name)s" +#~ msgstr "Переместить %(name)s" -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "три колонки" +#~ msgid "move" +#~ msgstr "переместить" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" +#~ msgid "add child" +#~ msgstr "добавить ветку" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "боковая колонка" +#~ msgid "add sibling" +#~ msgstr "добавить сходную" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "левая колонка" +#~ msgid "history" +#~ msgstr "история" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "правая колонка" +#~ msgid "Lock" +#~ msgstr "Заблокировать" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "Статьи" +#~ msgid "Close" +#~ msgstr "Закрыть" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "Пример приложения" +#~ msgid "Settings" +#~ msgstr "Настройки" -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "Удалить плагин." -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" +#~ msgid "English" +#~ msgstr "Английский" -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" +#~ msgid "French" +#~ msgstr "Французский" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" +#~ msgid "German" +#~ msgstr "Немецкий" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "Статическое Меню" +#~ msgid "Brazil" +#~ msgstr "Бразильский" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "Статическое Меню2" +#~ msgid "Dutch" +#~ msgstr "Нидерландский" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "первый предок" +#~ msgid "two columns" +#~ msgstr "две колонки" -#: utils/moderator.py:90 -msgid "approve" -msgstr "утвердить" +#~ msgid "three columns" +#~ msgstr "три колонки" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - Страница %s требует утверждения." +#~ msgid "navigation examples" +#~ msgstr "примеры навигации" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - ваш аккаунт создан." +#~ msgid "sidebar column" +#~ msgstr "боковая колонка" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - ваш аккаунт изменён." +#~ msgid "left column" +#~ msgstr "левая колонка" + +#~ msgid "right column" +#~ msgstr "правая колонка" + +#~ msgid "Articles" +#~ msgstr "Статьи" + +#~ msgid "Sample App" +#~ msgstr "Пример приложения" + +#~ msgid "sample root page" +#~ msgstr "пример корневой страницы" + +#~ msgid "sample settings page" +#~ msgstr "пример страницы настроек" + +#~ msgid "sample account page" +#~ msgstr "пример страницы учётной записи" + +#~ msgid "sample my profile page" +#~ msgstr "пример страницы профиля" + +#~ msgid "Static Menu" +#~ msgstr "Статическое Меню" + +#~ msgid "Static Menu2" +#~ msgstr "Статическое Меню2" #~ msgid "fgcolor" #~ msgstr "fgcolor" diff --git a/cms/locale/ru/LC_MESSAGES/djangojs.mo b/cms/locale/ru/LC_MESSAGES/djangojs.mo index 492a57aa425..4dca3bcc58d 100644 Binary files a/cms/locale/ru/LC_MESSAGES/djangojs.mo and b/cms/locale/ru/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/ru/LC_MESSAGES/djangojs.po b/cms/locale/ru/LC_MESSAGES/djangojs.po index f0c3928c9bf..ae243ab7329 100644 --- a/cms/locale/ru/LC_MESSAGES/djangojs.po +++ b/cms/locale/ru/LC_MESSAGES/djangojs.po @@ -1,40 +1,41 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: ojii \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: gleb_chipiga \n" "Language-Team: LANGUAGE \n" +"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<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Вы уверены, что хотите изменить %(field_name)s без сохранения " -"страницы?" +"Вы уверены, что хотите изменить %(field_name)s без сохранения страницы?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" +"Не все плагины сохранены. Вы уверены, что хотите сохранить страницу?\n" +"Будет предпринята попытка сохранить не сохранённое содержимое плагинов." -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "Вы уверены, что хотите изменить вкладки без сохранения страницы?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Вы уверены, что хотите удалить данный плагин?" diff --git a/cms/locale/sk/LC_MESSAGES/django.mo b/cms/locale/sk/LC_MESSAGES/django.mo index 99829932eb1..dc90727c2e3 100644 Binary files a/cms/locale/sk/LC_MESSAGES/django.mo and b/cms/locale/sk/LC_MESSAGES/django.mo differ diff --git a/cms/locale/sk/LC_MESSAGES/django.po b/cms/locale/sk/LC_MESSAGES/django.po index eedba53d2ce..b3b506a3882 100644 --- a/cms/locale/sk/LC_MESSAGES/django.po +++ b/cms/locale/sk/LC_MESSAGES/django.po @@ -1,339 +1,451 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Editovací mód" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publikovať" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Odhlásenie" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Šablóna" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Presunúť / pridať stránky" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Pridať podstránku" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Pridať stránku na rovnakej úrovni" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Odstrániť stránku" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Stránka" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Správa webu" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Nastavenia stránky" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Zobraziť históriu" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Pokročilé nastavenia" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Názov" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Predvolený názov" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "Identifikátor" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Časť názvu, ktorá je použitá v URL" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Jazyk" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Aktuálny jazyk polí s obsahom." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "Už existuje stránka s týmto identifikátorom" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Názov v menu" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Prepísať to, čo sa zobrazuje v menu" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Názov stránky" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "" "Prepísať to, čo je zobrazené v hornej časti vášho prehliadača alebo v " "záložkách." -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Aplikácia" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Pripojiť aplikáciu na túto stránku." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Prepísať URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "" -"Ponechajte toto pole prázdne, ak chcete, aby sa použila štandardná " -"cesta." +"Ponechajte toto pole prázdne, ak chcete, aby sa použila štandardná cesta." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Presmerovanie" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Presmeruje sa na túto URL." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Popis stránky, ktorý môžu indexovať vyhľadávače." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Zoznam kľúčových slov oddelených čiarkou, ktoré môžu indexovať " -"vyhľadávače." +"Zoznam kľúčových slov oddelených čiarkou, ktoré môžu indexovať vyhľadávače." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Stránka s takouto hodnotou reverse URL id už existuje." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Neplatná URL, použite formát /moja/url/adresa." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Už existuje stránka s týmto identifikátorom" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "užívateľ" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Právo na pridanie stránky vyžaduje taktiež prístup k vnoreným stránkam" -" (potomkom). Inak nebude môcť takéto stránky editovať ich autor." +"Právo na pridanie stránky vyžaduje taktiež prístup k vnoreným stránkam " +"(potomkom). Inak nebude môcť takéto stránky editovať ich autor." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Právo na pridanie stránky vyžaduje taktiež právo na editáciu stránky." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "pozrieť" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Prosím, zvoľte najskôr užívateľa alebo skupinu." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Pridať" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Zmeniť" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Vymazať" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Obnoviť stránky" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Notifikovať užívateľa" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Posielať užívateľovi e-mailové notifikácie ohľadom zmeny užívateľského" -" mena alebo hesla. Vyžaduje sa e-mail užívateľa." +"Posielať užívateľovi e-mailové notifikácie ohľadom zmeny užívateľského mena " +"alebo hesla. Vyžaduje sa e-mail užívateľa." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nové heslo" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Potvrdenie nového hesla" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Notifikácia vyžaduje platnú e-mailovú adresu." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "" -"Právo na pridávanie stránok vyžaduje taktiež právo na editáciu " -"stránok!" +"Právo na pridávanie stránok vyžaduje taktiež právo na editáciu stránok!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Právo na pridávanie užívateľov vyžaduje taktiež právo na zmenu " -"užívateľov!" +"Právo na pridávanie užívateľov vyžaduje taktiež právo na zmenu užívateľov!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "Pridávanie prístupových práv vyžaduje taktiež právo na ich zmenu!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Skrytý" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Základné nastavenia" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "" -"Poznámka: táto stránka sa znova načíta ak zmeníte výber. Najskôr ju " -"musíte uložiť." +"Poznámka: táto stránka sa znova načíta ak zmeníte výber. Najskôr ju musíte " +"uložiť." + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Skrytý" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Pokročilé nastavenia" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Nastavenia SEO" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "vyššie" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Databázová chyba" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "stránka" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Stránka bola úspešne schválená." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Objekt %(name)s s primárnym kľúčom %(key)r neexistuje." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Existuje len jeden preklad tejto stránky" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Názov a zásuvné moduly pre jazyk %(language)s boli vymazané" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Ste si istý?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Nemáte právo na publikovanie tejto stránky" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "Nemáte právo meniť status (zobrazenie v navigácii) tejto stránky" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Nemáte právo meniť túto stránku" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Jazyk musí byť medzi podporovanými jazykmi" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "Zásuvný modul %(plugin_name)s bol pridaný do %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "Skopírované %(language)s zásuvné moduly do %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" "Zásuvný modul %(plugin_name)s bol zmenený na pozícii%(position)s v " "%(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Zásuvné moduly boli presunuté" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -"Zásuvný modul %(plugin_name)s na pozícii %(position)s v " -"%(placeholder)s bol vymazaný." +"Zásuvný modul %(plugin_name)s na pozícii %(position)s v %(placeholder)s bol " +"vymazaný." + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Práva k stránkam" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Práva užívateľov a skupín" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Manažment práv k stránkam" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Nemáte právo meniť túto stránku" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Nemáte právo meniť túto stránku" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Detaily užívateľa" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Skupiny" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Heslo" @@ -345,7 +457,7 @@ msgstr "Kopírovať práva" msgid "Copy moderation" msgstr "Kopírovať moderovanie" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Zdediť šablónu od najbližšieho predchodcu" @@ -365,27 +477,37 @@ msgstr "Pridať ďalšie" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "jazyk" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "stránka" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "pozícia" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "dátum vytvorenia" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "slot" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "názov zásuvného modulu" @@ -410,15 +532,15 @@ msgstr "identifikátor" msgid "everybody" msgstr "každý" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "môže editovať" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "skupina" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "môže publikovať" @@ -456,28 +578,28 @@ msgstr "autor" msgid "reverse url id" msgstr "reverzné url id" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "vyžadovať prihlásenie" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "soft root" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "publikovať do dátumu" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "šablóna" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "dátum publikovania" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "v navigácii" @@ -487,7 +609,7 @@ msgstr "v navigácii" msgid "application" msgstr "aplikácia" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -524,26 +646,21 @@ msgstr "Nasledovníci stránky" msgid "Page and descendants" msgstr "Stránka a nasledovníci" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Stránka" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Užívateľ" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderovať stránku" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderovať potomkov" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderovať nasledovníkov" @@ -551,193 +668,200 @@ msgstr "Moderovať nasledovníkov" msgid "PageModerator" msgstr "Moderátor stránky" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "vytvorené" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "zmenené" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "zmazané" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "presunuté" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publikované" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "odpublikované" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "schválené" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Stav moderovania stránky" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Stavy moderovania stránky" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "požadované schválenie" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "vymazať" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "schválené a čaká na predkov" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "vytvoril" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "zmenil" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "Aby bola stránka publikovaná treba zmeniť stav na \"publikované\"." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "" "Kedy má stránka expirovať. Ponechajte prázdne, ak má mať neobmedzenú " "platnosť." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Nie všetci predkovia budú zobrazení v navigácii" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Unikátny indentifikátor, ktorý použije templatetag page_url na " -"vytvorenie odkazu na stránku" +"Unikátny indentifikátor, ktorý použije templatetag page_url na vytvorenie " +"odkazu na stránku" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "publikované" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Šablóna, ktorý sa použije na zobrazenie obsahu." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Stránka je dostupná na." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "web" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "stav moderovania" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "stránky" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Stránka bola skopírovaná." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "predvolené" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "môže pridať" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "môže zmazať" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "môže meniť pokročilé nastavenia" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "môže meniť práva" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "na úrovni stránky" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "môže presunúť" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "môže moderovať" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "môže obnoviť stránky" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "môže obnoviť akúkoľvek zmazanú stánku" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "Ak nie je žiadne zvolené, tak má užívateľ prístup ku všetkým webom." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "weby" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Globálne práva stránky" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Globálne práva stránok" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Prideliť právo na" @@ -745,28 +869,28 @@ msgstr "Prideliť právo na" msgid "Page permission" msgstr "Nastavenia práv stránky" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Užívateľ stránok" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Užívatelia stránok" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Skupina užívateľov stránok" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Skupiny užívateľov stránok" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "šírka" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -791,6 +915,10 @@ msgstr "Súbor" msgid "file" msgstr "súbor" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -804,9 +932,18 @@ msgstr "použite .swf súbor" msgid "height" msgstr "výška" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Chýbajúci flash plugin." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Chýbajúci flash plugin. Stiahnuť ho môžete tuhere" -msgstr "" -"Chýbajúci flash plugin. Stiahnuť ho môžete tu%(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" "Stránka %(page)s môže vyžadovať Vaše " "schválenie." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Posledné zmeny" @@ -1236,28 +1393,21 @@ msgstr "Posledné zmeny" msgid "Log in to administration here." msgstr "Prihlásiť sa do administrácie." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Užívateľské meno:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Heslo:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Zmeniť stránku" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1265,51 +1415,51 @@ msgstr "Zmeniť stránku" msgid "Home" msgstr "Domov" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Schváliť zmazanie stránky" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(vyžaduje schválenie na úrovni %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(na tejto stránke môžete priamo vykonávať akcie)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Odstrániť požiadavku na zmazanie" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Schváliť zmazanie" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Schváliť" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "pracovná verzia" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Náhľad" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "História" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Pozrieť na webe" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." @@ -1317,30 +1467,30 @@ msgstr[0] "Prosím, opravte chyby uvedené nižšie." msgstr[1] "Prosím, opravte chybu uvedenú nižšie." msgstr[2] "Prosím, opravte chyby uvedené nižšie." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Všetky nastavenia práv" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Nahrávanie..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Stavy stránky" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -"Táto stránka musí byť moderovaná na úrovni %(moderation_level)s. " -"Pošlite správu moderátorovi." +"Táto stránka musí byť moderovaná na úrovni %(moderation_level)s. Pošlite " +"správu moderátorovi." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Vyžiadať schválenie" @@ -1348,41 +1498,41 @@ msgstr "Vyžiadať schválenie" msgid "List of pages" msgstr "Zoznam stránok" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Úspešne presunuté" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Vyskytla sa chyba. Prosím, obnovte stránku vo Vašom prehliadači." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Obnoviť zmazané %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Pridať %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Stránky:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filter:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "zapnuté" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "vypnuté" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filter" @@ -1406,7 +1556,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "posledné zmeny" @@ -1420,8 +1574,7 @@ msgid "edit this page" msgstr "upraviť túto stránku" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "upraviť" @@ -1477,7 +1630,6 @@ msgid "add" msgstr "pridať" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Schváliť priamo" @@ -1491,11 +1643,6 @@ msgstr "pozrieť" msgid "Unpublish" msgstr "Odpublikovať" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publikovať" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Pozrieť na stránke" @@ -1540,28 +1687,38 @@ msgstr "Môže meniť nastavenia práv" msgid "Can move" msgstr "Môže presunúť" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Môže presunúť" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(globálne)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(aktuálne)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Všetky" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Stránka nededí žiadne práva." +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "Stará revízia zásuvného modulu nemôže byť uložená!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Zásuvný modul bol úspešne uložený." @@ -1596,7 +1753,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Pridať zásuvný modul" @@ -1620,126 +1776,62 @@ msgstr "Nebol vybraný zásuvný modul. Vyberte jeden zo zoznamu naľavo." msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Žiadny zásuvný modul. Pridať zásuvný modul do tejto oblasti." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Presunúť do %(name)s " +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Ste si istí, že chcete zmazať tento zásuvný modul?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Editovací mód" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "hore" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Stav" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "dole" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Užívateľské meno" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "prihlásiť" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Šablóna" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "presunúť" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Presunúť / pridať stránky" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "pridať potomka" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Pridať podstránku" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "pridať na rovnakej úrovni" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Pridať stránku na rovnakej úrovni" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Odstrániť stránku" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Správa webu" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Nastavenia stránky" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "história" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Zobraziť históriu" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Odhlásenie" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Uzamknúť" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Zatvoriť" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "hore" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "dole" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Stav" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Nastavenia" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Zmazať zásuvný modul" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Odpojiť moderovanie stránky" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Odpojiť moderovanie potomkov" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Odpojiť moderovanie nasledovníkov" @@ -1751,85 +1843,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - Vaše užívateľské konto bolo vytvorené." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - Vaše užívateľské konto bolo zmenené." #: utils/moderator.py:83 msgid "parent first" @@ -1844,16 +1869,35 @@ msgstr "schváliť" msgid "CMS - Page %s requires approvement." msgstr "CMS - Stránka %s vyžaduje schválenie." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - Vaše užívateľské konto bolo vytvorené." +#~ msgid "Missing flash plugin." +#~ msgstr "Chýbajúci flash plugin." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - Vaše užívateľské konto bolo zmenené." +#~ msgid "Move to %(name)s" +#~ msgstr "Presunúť do %(name)s " + +#~ msgid "move" +#~ msgstr "presunúť" + +#~ msgid "add child" +#~ msgstr "pridať potomka" + +#~ msgid "add sibling" +#~ msgstr "pridať na rovnakej úrovni" + +#~ msgid "history" +#~ msgstr "história" + +#~ msgid "Lock" +#~ msgstr "Uzamknúť" + +#~ msgid "Close" +#~ msgstr "Zatvoriť" + +#~ msgid "Settings" +#~ msgstr "Nastavenia" + +#~ msgid "Delete Plugin" +#~ msgstr "Zmazať zásuvný modul" #~ msgid "fgcolor" #~ msgstr "farba popredia" - -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" diff --git a/cms/locale/sk/LC_MESSAGES/djangojs.mo b/cms/locale/sk/LC_MESSAGES/djangojs.mo index 4b9fcf4e60a..908288ac900 100644 Binary files a/cms/locale/sk/LC_MESSAGES/djangojs.mo and b/cms/locale/sk/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/sk/LC_MESSAGES/djangojs.po b/cms/locale/sk/LC_MESSAGES/djangojs.po index 4798d207fda..b62c457351c 100644 --- a/cms/locale/sk/LC_MESSAGES/djangojs.po +++ b/cms/locale/sk/LC_MESSAGES/djangojs.po @@ -1,42 +1,41 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Ste si istý, že chcete zmeniť %(field_name)s bez toho, aby ste najskôr" -" uložili stránku?" +"Ste si istý, že chcete zmeniť %(field_name)s bez toho, aby ste najskôr " +"uložili stránku?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Ste si istý, že chcete zmeniť záložku bez toho, aby ste najskôr " -"uložili stránku?" +"Ste si istý, že chcete zmeniť záložku bez toho, aby ste najskôr uložili " +"stránku?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Ste si istý, že chcete vymazať tento zásuvný modul?" diff --git a/cms/locale/sl_SI/LC_MESSAGES/django.mo b/cms/locale/sl_SI/LC_MESSAGES/django.mo new file mode 100644 index 00000000000..54c7040ede2 Binary files /dev/null and b/cms/locale/sl_SI/LC_MESSAGES/django.mo differ diff --git a/cms/locale/sl_SI/LC_MESSAGES/django.po b/cms/locale/sl_SI/LC_MESSAGES/django.po new file mode 100644 index 00000000000..380fa987104 --- /dev/null +++ b/cms/locale/sl_SI/LC_MESSAGES/django.po @@ -0,0 +1,1905 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# simonv , 2011. +msgid "" +msgstr "" +"Project-Id-Version: django-cms\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:49-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" +"Last-Translator: ojii \n" +"Language-Team: divio.ch \n" +"Language: sl_SI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3)\n" +"X-Poedit-Country: SWITZERLAND\n" +"X-Poedit-Language: English\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Način urejanja" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Objavi" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Odjavi" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Predloga" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Premakni/dodaj strani" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "dodaj stran kot otroka" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "dodaj stran kot brata/sestro" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Zbriši stran" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Stran" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Skrbništvo strani" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Nastavitve strani" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Preglej zgodovino" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 +msgid "Advanced options" +msgstr "Napredne nastavitve" + +#: admin/forms.py:59 +msgid "Title" +msgstr "Naslov" + +#: admin/forms.py:60 +msgid "The default title" +msgstr "Privzeti naslov" + +#: admin/forms.py:61 +msgid "Slug" +msgstr "Kratek opis" + +#: admin/forms.py:62 +msgid "The part of the title that is used in the URL" +msgstr "Del naslova, ki se uporabi v URL-ju" + +#: admin/forms.py:63 +msgid "Language" +msgstr "Jezik" + +#: admin/forms.py:64 +msgid "The current language of the content fields." +msgstr "Trenutni jezik polj z vsebino" + +#: admin/forms.py:117 +msgid "Another page with this slug already exists" +msgstr "Stran s takim kratkim opisom že obstaja" + +#: admin/forms.py:135 +msgid "Menu Title" +msgstr "Naslov menija" + +#: admin/forms.py:136 +msgid "Overwrite what is displayed in the menu" +msgstr "Prepiši besedilo, ki je prikazano v meniju" + +#: admin/forms.py:137 +msgid "Page Title" +msgstr "Naslov strani" + +#: admin/forms.py:138 +msgid "Overwrites what is displayed at the top of your browser or in bookmarks" +msgstr "Prepiši besedilo, ki je prikazano na vrhu brskalnika ali v zaznamkih" + +#: admin/forms.py:139 +msgid "Application" +msgstr "Aplikacija" + +#: admin/forms.py:141 +msgid "Hook application to this page." +msgstr "Pripni aplikacijo tej strani." + +#: admin/forms.py:142 +msgid "Overwrite URL" +msgstr "Prepiši URL" + +#: admin/forms.py:143 +msgid "Keep this field empty if standard path should be used." +msgstr "Če želite ohraniti običajno pot, pustite to polje prazno" + +#: admin/forms.py:149 +msgid "Redirect" +msgstr "Preusmeri" + +#: admin/forms.py:150 +msgid "Redirects to this URL." +msgstr "Preusmeri na ta URL." + +#: admin/forms.py:152 +msgid "A description of the page sometimes used by search engines." +msgstr "Opis strani, ki ga včasih uporabljajo iskalniki." + +#: admin/forms.py:154 +msgid "A list of comma seperated keywords sometimes used by search engines." +msgstr "Seznam ključnih besed, ki ga včasih uporabljajo iskalniki." + +#: admin/forms.py:170 +msgid "A page with this reverse URL id exists already." +msgstr "Stran, ki uporablja ta vzvratni URL, že obstaja." + +#: admin/forms.py:178 +msgid "Invalid URL, use /my/url format." +msgstr "Napačen URL, uporabi obliko /moj/url" + +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "Stran s takim kratkim opisom že obstaja" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 +msgid "user" +msgstr "Uporabnik" + +#: admin/forms.py:216 +msgid "" +"Add page permission requires also access to children, or descendants, " +"otherwise added page can't be changed by its creator." +msgstr "" +"Pravica \"dodaj stran\" zahteva tudi dostop do otrok, ali potomcev, sicer " +"dodana strani ne more spremeniti njen ustvarjalec." + +#: admin/forms.py:221 +msgid "Add page permission also requires edit page permission." +msgstr "Pogoj za pravico \"dodaj stran\" je pravica \"urejaj stran\"." + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "poglej" + +#: admin/forms.py:260 +msgid "Please select user or group first." +msgstr "Prosim,najprej izberite uporabnika ali skupino." + +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 +#: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 +msgid "Add" +msgstr "Dodaj" + +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 +msgid "Change" +msgstr "Spremeni" + +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 +#: templates/admin/page_submit_line.html:5 +#: templates/admin/cms/page/menu_item.html:44 +msgid "Delete" +msgstr "Izbriši" + +#: admin/forms.py:270 +msgid "Recover (any) pages" +msgstr "Povrni (vse) strani" + +#: admin/forms.py:297 +msgid "Notify user" +msgstr "Obvesti uporabnika" + +#: admin/forms.py:298 +msgid "" +"Send email notification to user about username or password change. Requires " +"user email." +msgstr "" +"Uporabniku pošlji obvestilo o spremembi uporabniškega imena ali gesla. " +"Obvezena je uporabnikova e-pošta." + +#: admin/forms.py:318 +msgid "New password" +msgstr "Novo geslo" + +#: admin/forms.py:320 +msgid "New password confirmation" +msgstr "Potrditev novega gesla" + +#: admin/forms.py:339 +msgid "Email notification requires valid email address." +msgstr "Za obvestilo po e-pošti je potreben vrljaven e-poštni naslov." + +#: admin/forms.py:341 +msgid "" +"The permission to add new pages requires the permission to change pages!" +msgstr "" +"Pogoj za pravico \"dodaj novo stran\" je pravica \"spreminjaj strani\"!" + +#: admin/forms.py:343 +msgid "" +"The permission to add new users requires the permission to change users!" +msgstr "" +"Pogoj za pravico \"dodaj novega uporabnika\" je pravica \"spreminjaj " +"uporabnike\"!" + +#: admin/forms.py:345 +msgid "To add permissions you also need to edit them!" +msgstr "Pogoj za pravico \"dodaj pravice\" je pravica \"urejaj pravice\"!" + +#: admin/pageadmin.py:97 +msgid "Basic Settings" +msgstr "Osnovne nastvaitve" + +#: admin/pageadmin.py:100 +msgid "Note: This page reloads if you change the selection. Save it first." +msgstr "" +"Opomba: Če spremenite izbiro, se bo ta stran ponovno naložila. Najprej jo " +"shranite." + +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Skrit" + +#: admin/pageadmin.py:106 +msgid "Advanced Settings" +msgstr "Napredne nastavitve" + +#: admin/pageadmin.py:113 +msgid "SEO Settings" +msgstr "Nastavitve SEO" + +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:485 +msgid "higher" +msgstr "višji" + +#: admin/pageadmin.py:655 +msgid "Database error" +msgstr "Napaka podatkovne baze" + +#: admin/pageadmin.py:855 +msgid "Page was successfully approved." +msgstr "Stran uspešno odobrena." + +#: admin/pageadmin.py:927 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "predmet %(name)s s primarnim ključem %(key)r ne obstaja." + +#: admin/pageadmin.py:933 +msgid "There only exists one translation for this page" +msgstr "Za to stran obstaja samo en prevod" + +#: admin/pageadmin.py:969 +#, python-format +msgid "Title and plugins with language %(language)s was deleted" +msgstr "Naslov in vtičniki z jezikom %(language)s so bili pobrisani" + +#: admin/pageadmin.py:991 +msgid "Are you sure?" +msgstr "Ali ste prepričani?" + +#: admin/pageadmin.py:1052 +msgid "You do not have permission to publish this page" +msgstr "Nimate pravice za objavo te strani" + +#: admin/pageadmin.py:1066 +msgid "You do not have permission to change this page's in_navigation status" +msgstr "Nimate dovoljenja za spreminjanje strani v statusu in_navigation" + +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 +msgid "Language must be set to a supported language!" +msgstr "Jezik mora biti nastavljen na podprt jezik!" + +#: admin/pageadmin.py:1138 +#, python-format +msgid "%(plugin_name)s plugin added to %(placeholder)s" +msgstr " %(plugin_name)s vtičnik dodan %(placeholder)s" + +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:1160 +msgid "Language must be different than the copied language!" +msgstr "Jezik se mora razlikovati od kopiranega jezika!" + +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:1173 +#, python-format +msgid "Copied %(language)s plugins to %(placeholder)s" +msgstr "Vtičniki za %(language)s kopirani na %(placeholder)s" + +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:1256 +#, python-format +msgid "" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" +msgstr "" +"Vtičnik %(plugin_name)s urejan na mestu %(position)s na %(placeholder)s " + +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:1329 +msgid "Plugins where moved" +msgstr "Vtičniki so bili preseljeni" + +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 +#, python-format +msgid "" +"%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " +"deleted." +msgstr "" +"Vtičnik %(plugin_name)s na mestu %(position)s na %(placeholder)s je bil " +"izbrisan." + +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 +msgid "Page permissions" +msgstr "Dovoljenja na strani" + +#: admin/permissionadmin.py:134 +msgid "User & Group permissions" +msgstr "Dovoljenja za uporabnike in skupine" + +#: admin/permissionadmin.py:135 +msgid "Page permissions management" +msgstr "Upravljanje pravic na strani" + +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Nimate pravice za spreminjanje te strani" + +#: admin/useradmin.py:25 +msgid "User details" +msgstr "Podrobnosti uporabnika" + +#: admin/useradmin.py:26 +msgid "Groups" +msgstr "Skupine" + +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 +msgid "Password" +msgstr "Geslo" + +#: admin/dialog/forms.py:9 +msgid "Copy permissions" +msgstr "Prekopiraj dovoljenaja" + +#: admin/dialog/forms.py:16 +msgid "Copy moderation" +msgstr "Kopiraj moderiranje" + +#: conf/patch.py:28 +msgid "Inherit the template of the nearest ancestor" +msgstr "Deduj predlogo najbližjega prednika" + +#: forms/fields.py:19 +msgid "Select a valid site" +msgstr "" + +#: forms/fields.py:20 +msgid "Select a valid page" +msgstr "" + +#: forms/widgets.py:173 +msgid "Add Another" +msgstr "Dodaj še enega" + +#: migrations/0001_initial.py:12 migrations/0001_initial.py:24 +#: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 +#: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 +#: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 +#: models/pluginmodel.py:79 models/titlemodels.py:10 +#: plugins/inherit/models.py:11 +msgid "language" +msgstr "jezik" + +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "stran" + +#: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 +msgid "position" +msgstr "pozicija" + +#: migrations/0001_initial.py:15 migrations/0001_initial.py:29 +#: models/pluginmodel.py:81 models/titlemodels.py:22 +msgid "creation date" +msgstr "datum izdelave" + +#: migrations/0001_initial.py:16 migrations/0001_initial.py:77 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 +msgid "slot" +msgstr "slot" + +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 +msgid "plugin_name" +msgstr "ime_vtičnika" + +#: migrations/0001_initial.py:25 migrations/0011_title_overwrites.py:12 +#: migrations/0011_title_overwrites.py:15 models/titlemodels.py:11 +#: models/titlemodels.py:12 models/titlemodels.py:20 plugins/file/models.py:25 +#: plugins/file/migrations/0001_initial.py:18 plugins/teaser/models.py:9 +#: plugins/twitter/models.py:6 plugins/twitter/models.py:15 +#: templates/admin/cms/page/change_list_tree.html:6 +msgid "title" +msgstr "naslov" + +#: migrations/0001_initial.py:28 +msgid "path" +msgstr "pot" + +#: migrations/0001_initial.py:30 models/titlemodels.py:13 +msgid "slug" +msgstr "kratek opis" + +#: migrations/0001_initial.py:36 +msgid "everybody" +msgstr "vsi" + +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 +msgid "can edit" +msgstr "lahko ureja" + +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 +msgid "group" +msgstr "skupina" + +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 +msgid "can publish" +msgstr "lahko objavlja" + +#: migrations/0001_initial.py:42 +msgid "type" +msgstr "tip" + +#: migrations/0001_initial.py:44 +msgid "can change soft-root" +msgstr "lahko spremeni \"soft-root'" + +#: migrations/0001_initial.py:50 migrations/0006_apphook.py:34 +#: migrations/0006_apphook.py:62 +msgid "status" +msgstr "status" + +#: migrations/0001_initial.py:53 +msgid "navigation extenders" +msgstr "razširitve navigacijae" + +#: migrations/0001_initial.py:54 migrations/0006_apphook.py:12 +#: migrations/0006_apphook.py:46 models/titlemodels.py:15 +msgid "has url overwrite" +msgstr "ima prepisani url" + +#: migrations/0001_initial.py:55 migrations/0006_apphook.py:49 +msgid "url overwrite" +msgstr "prepisani url" + +#: migrations/0001_initial.py:57 +msgid "author" +msgstr "avtor" + +#: migrations/0001_initial.py:58 migrations/0006_apphook.py:37 +msgid "reverse url id" +msgstr "oznaka obratnega url-ja" + +#: migrations/0001_initial.py:59 models/pagemodel.py:84 +msgid "login required" +msgstr "potrebna je prijava" + +#: migrations/0001_initial.py:60 models/pagemodel.py:69 +msgid "soft root" +msgstr "'soft root'" + +#: migrations/0001_initial.py:63 models/pagemodel.py:67 +msgid "publication end date" +msgstr "končni datum objave" + +#: migrations/0001_initial.py:64 models/pagemodel.py:74 +#: plugins/snippet/models.py:14 +msgid "template" +msgstr "predloga" + +#: migrations/0001_initial.py:66 models/pagemodel.py:66 +msgid "publication date" +msgstr "datum objave" + +#: migrations/0001_initial.py:67 models/pagemodel.py:68 +#: templates/admin/cms/page/change_list_tree.html:9 +msgid "in navigation" +msgstr "v navigaciji" + +#: migrations/0006_apphook.py:15 migrations/0007_apphook_longer.py:11 +#: migrations/0007_apphook_longer.py:17 models/titlemodels.py:16 +msgid "application" +msgstr "aplikacija" + +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 +msgid "id" +msgstr "oznaka" + +#: migrations/0008_redirects.py:11 models/titlemodels.py:17 +msgid "redirect" +msgstr "preusmeri" + +#: migrations/0009_added_meta_fields.py:12 models/titlemodels.py:19 +msgid "keywords" +msgstr "ključne besede" + +#: migrations/0009_added_meta_fields.py:15 models/titlemodels.py:18 +#: plugins/teaser/models.py:20 +msgid "description" +msgstr "opis" + +#: models/moderatormodels.py:25 +msgid "Current page" +msgstr "Trenutna stran" + +#: models/moderatormodels.py:26 +msgid "Page children (immediate)" +msgstr "(Neposredni) nasledniki strani" + +#: models/moderatormodels.py:27 +msgid "Page and children (immediate)" +msgstr "Stran in (neposredni) nasledniki" + +#: models/moderatormodels.py:28 +msgid "Page descendants" +msgstr "Potomci strani" + +#: models/moderatormodels.py:29 +msgid "Page and descendants" +msgstr "Stran in njeni potomci" + +#: models/moderatormodels.py:46 +#: templates/admin/cms/page/moderation_messages.html:6 +#: templates/admin/cms/page/permissions.html:6 +msgid "User" +msgstr "Uporabnik" + +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 +msgid "Moderate page" +msgstr "Moderiraj stran" + +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 +msgid "Moderate children" +msgstr "Moderiraj otroke" + +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 +msgid "Moderate descendants" +msgstr "Moderiraj potomce" + +#: models/moderatormodels.py:55 models/moderatormodels.py:56 +msgid "PageModerator" +msgstr "ModeratorStrani" + +#: models/moderatormodels.py:99 +msgid "created" +msgstr "izdelano" + +#: models/moderatormodels.py:100 models/pagemodel.py:44 +msgid "changed" +msgstr "spremenjeno" + +#: models/moderatormodels.py:101 +msgid "delete req." +msgstr "zahtevek za brisanje" + +#: models/moderatormodels.py:102 +msgid "move req." +msgstr "zahtevek za premik" + +#: models/moderatormodels.py:103 +msgid "publish req." +msgstr "zahtevek za objavo" + +#: models/moderatormodels.py:104 +msgid "unpublish req." +msgstr "zahtevek za umik objave" + +#: models/moderatormodels.py:105 models/pagemodel.py:47 +msgid "approved" +msgstr "odobreno" + +#: models/moderatormodels.py:117 +msgid "Page moderator state" +msgstr "Stanje moderatorja strani" + +#: models/moderatormodels.py:118 +msgid "Page moderator states" +msgstr "Stanja moderatorja strani" + +#: models/pagemodel.py:45 +msgid "req. app." +msgstr "odobritev zahteve" + +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 +msgid "delete" +msgstr "izbriši" + +#: models/pagemodel.py:48 +msgid "app. par." +msgstr "!app. par." + +#: models/pagemodel.py:52 +msgid "for logged in users only" +msgstr "" + +#: models/pagemodel.py:53 +msgid "for anonymous users only" +msgstr "" + +#: models/pagemodel.py:61 +msgid "created by" +msgstr "izdelal" + +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 +msgid "changed by" +msgstr "spremenil" + +#: models/pagemodel.py:66 +msgid "" +"When the page should go live. Status must be \"Published\" for page to go " +"live." +msgstr "Kdaj naj gre stran v objavo. Stran mora imeti status \"Objavljeno\"." + +#: models/pagemodel.py:67 +msgid "When to expire the page. Leave empty to never expire." +msgstr "Kdaj stran zastara. Prazno - ne zastara nikoli." + +#: models/pagemodel.py:69 +msgid "All ancestors will not be displayed in the navigation" +msgstr "Nasledniki ne bodo prikazani pri navigaciji" + +#: models/pagemodel.py:70 +msgid "" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" +msgstr "" +"Za povezovanje na to stran je potrebna enolična identifikacijska oznaae, ki " +"se uporablja pri page_url templatetag " + +#: models/pagemodel.py:71 +msgid "attached menu" +msgstr "" + +#: models/pagemodel.py:72 +msgid "is published" +msgstr "je objavljeno" + +#: models/pagemodel.py:74 +msgid "The template used to render the content." +msgstr "Predloga za prikaz vsebine" + +#: models/pagemodel.py:75 +msgid "The site the page is accessible at." +msgstr "Spletna stran je na voljo na spletišču:" + +#: models/pagemodel.py:75 +msgid "site" +msgstr "spletno mesto" + +#: models/pagemodel.py:77 +msgid "moderator state" +msgstr "Stanje moderatorja" + +#: models/pagemodel.py:85 +msgid "menu visibility" +msgstr "" + +#: models/pagemodel.py:85 +msgid "limit when this page is visible in the menu" +msgstr "" + +#: models/pagemodel.py:105 +msgid "pages" +msgstr "strani" + +#: models/pagemodel.py:267 +msgid "Page was copied." +msgstr "Stran je bila kopirana." + +#: models/pagemodel.py:698 +msgid "default" +msgstr "privzeto" + +#: models/permissionmodels.py:21 +msgid "can add" +msgstr "sme dodati" + +#: models/permissionmodels.py:22 +msgid "can delete" +msgstr "sme izbrisati" + +#: models/permissionmodels.py:23 +msgid "can change advanced settings" +msgstr "lahko spremnija napredne nastavitve" + +#: models/permissionmodels.py:25 +msgid "can change permissions" +msgstr "lahko spreminja dovoljenja" + +#: models/permissionmodels.py:25 +msgid "on page level" +msgstr "na nivoju strani" + +#: models/permissionmodels.py:26 +msgid "can move" +msgstr "lahko premika" + +#: models/permissionmodels.py:27 +msgid "can moderate" +msgstr "lahko moderira" + +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 +msgid "can recover pages" +msgstr "lahko povrne" + +#: models/permissionmodels.py:51 +msgid "can recover any deleted page" +msgstr "lahko povrne vsako izbrisano stram" + +#: models/permissionmodels.py:52 +msgid "If none selected, user haves granted permissions to all sites." +msgstr "Če ni izbrano nič, ima uporabnik pravico do vseh spletišč" + +#: models/permissionmodels.py:52 +msgid "sites" +msgstr "spletišča" + +#: models/permissionmodels.py:57 +msgid "Page global permission" +msgstr "Globalne pravice strani" + +#: models/permissionmodels.py:58 +msgid "Pages global permissions" +msgstr "Globalne pravice za vse strani" + +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 +msgid "Grant on" +msgstr "Dovoli na" + +#: models/permissionmodels.py:74 +msgid "Page permission" +msgstr "Dovoljenja na strani" + +#: models/permissionmodels.py:89 +msgid "User (page)" +msgstr "Uporabnik (stran)" + +#: models/permissionmodels.py:90 +msgid "Users (page)" +msgstr "Uporabniki (stran)" + +#: models/permissionmodels.py:100 +msgid "User group (page)" +msgstr "Skupina uporabnikov (stran)" + +#: models/permissionmodels.py:101 +msgid "User groups (page)" +msgstr "Skupine uporabnikov (stran)" + +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 +#: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 +msgid "width" +msgstr "širina" + +#: models/pluginmodel.py:140 +msgid "" +msgstr "" + +#: models/titlemodels.py:12 +msgid "overwrite the title in the menu" +msgstr "prepiši naslov na meniju" + +#: models/titlemodels.py:14 +msgid "Path" +msgstr "Pot" + +#: models/titlemodels.py:20 +msgid "overwrite the title (html title tag)" +msgstr "Prepiši naslov (html tag \"title\")" + +#: plugins/file/cms_plugins.py:9 +msgid "File" +msgstr "Datoteka" + +#: plugins/file/models.py:24 plugins/file/migrations/0001_initial.py:17 +#: plugins/flash/models.py:8 plugins/flash/migrations/0001_initial.py:18 +msgid "file" +msgstr "datoteka" + +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + +#: plugins/flash/cms_plugins.py:9 +msgid "Flash" +msgstr "Flash" + +#: plugins/flash/models.py:8 +msgid "use swf file" +msgstr "uporabi datoteko swf" + +#: plugins/flash/models.py:10 plugins/flash/migrations/0001_initial.py:19 +#: plugins/video/models.py:14 +msgid "height" +msgstr "višina" + +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Manjkajoči flash vtičnik. Prenesite ga here" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" + +#: plugins/googlemap/cms_plugins.py:10 +msgid "Google Map" +msgstr "Google Map" + +#: plugins/googlemap/models.py:9 +msgid "map title" +msgstr "Naslov zemljevida" + +#: plugins/googlemap/models.py:11 +msgid "address" +msgstr "naslov" + +#: plugins/googlemap/models.py:12 +msgid "zip code" +msgstr "poštna številka" + +#: plugins/googlemap/models.py:13 +msgid "city" +msgstr "mesto" + +#: plugins/googlemap/models.py:15 +msgid "additional content" +msgstr "dodatne vsebine" + +#: plugins/googlemap/models.py:16 +msgid "zoom level" +msgstr "nivo povečave" + +#: plugins/googlemap/models.py:18 +msgid "latitude" +msgstr "zemeljska širina" + +#: plugins/googlemap/models.py:19 +msgid "Use latitude & longitude to fine tune the map possiton." +msgstr "uporabi zemeljsko širino in dolžino" + +#: plugins/googlemap/models.py:20 +msgid "longitude" +msgstr "zemeljska dolžina" + +#: plugins/googlemap/models.py:22 +msgid "route planer title" +msgstr "naslov načrtovalca poti" + +#: plugins/googlemap/models.py:22 +msgid "Calculate your fastest way to here" +msgstr "Izračunavašo najhitrejšo pot do te lokacije" + +#: plugins/googlemap/models.py:23 +msgid "route planer" +msgstr "načrtovalec poti" + +#: plugins/googlemap/models.py:30 +msgid "Map" +msgstr "Zemljevid" + +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 +msgid "Your address: " +msgstr "" + +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 +msgid "Calculate route" +msgstr "Izračunaj pot" + +#: plugins/inherit/cms_plugins.py:17 +msgid "Inherit Plugins from Page" +msgstr "Podeduj vtičnike s strani" + +#: plugins/inherit/forms.py:23 +msgid "Language or Page must be filled out" +msgstr "Jezik ali stran mora biti izpolnjnjena" + +#: plugins/inherit/models.py:10 +msgid "" +"Choose a page to include its plugins into this placeholder, empty will " +"choose current page" +msgstr "" +"Izberite stran za vključitev njenega vtičnika na to rezervirano mest, če " +"pustite prazno, bo to trenutna stran" + +#: plugins/inherit/models.py:11 +msgid "Optional: the language of the plugins you want" +msgstr "Neobvezno:kateri jezik vtičnikov želite" + +#: plugins/link/cms_plugins.py:12 +msgid "Link" +msgstr "Povezava" + +#: plugins/link/models.py:10 plugins/link/migrations/0001_initial.py:18 +#: plugins/link/migrations/0004_larger_link_names.py:11 +#: plugins/link/migrations/0004_larger_link_names.py:17 +#: plugins/snippet/models.py:12 plugins/snippet/migrations/0001_initial.py:17 +msgid "name" +msgstr "ime" + +#: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 +#: plugins/teaser/models.py:19 +msgid "link" +msgstr "povezava" + +#: plugins/link/models.py:12 +msgid "A link to a page has priority over a text link." +msgstr "Povezava na stran ima prednost pred povezavo besedila." + +#: plugins/link/models.py:13 +msgid "mailto" +msgstr "pošlji" + +#: plugins/link/models.py:13 +msgid "An email adress has priority over a text link." +msgstr "E-poštni naslov ima prednost pred tekstualno povezavo." + +#: plugins/picture/cms_plugins.py:9 +msgid "Picture" +msgstr "Slika" + +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 +msgid "left" +msgstr "levo" + +#: plugins/picture/models.py:16 +msgid "right" +msgstr "desno" + +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 +#: plugins/teaser/models.py:10 plugins/video/models.py:11 +msgid "image" +msgstr "slika" + +#: plugins/picture/models.py:21 plugins/picture/models.py:22 +msgid "if present image will be clickable" +msgstr "če bo sedanja slika klikabilna" + +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 +msgid "alternate text" +msgstr "nadomestno besedilo" + +#: plugins/picture/models.py:23 +msgid "textual description of the image" +msgstr "besedilni opis slike" + +#: plugins/picture/models.py:24 +msgid "long description" +msgstr "dolgi opis" + +#: plugins/picture/models.py:24 +msgid "additional description of the image" +msgstr "dodatni opis slike" + +#: plugins/picture/models.py:25 +msgid "side" +msgstr "stran" + +#: plugins/snippet/cms_plugins.py:12 plugins/snippet/models.py:24 +#: plugins/snippet/models.py:32 +msgid "Snippet" +msgstr "Izrezek" + +#: plugins/snippet/cms_plugins.py:30 +#, python-format +msgid "Template %(template)s does not exist." +msgstr "Predloga %(template)s ne obstaja." + +#: plugins/snippet/models.py:13 plugins/snippet/migrations/0001_initial.py:18 +msgid "HTML" +msgstr "HTML" + +#: plugins/snippet/models.py:15 +msgid "" +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " +msgstr "" +"Vpišite predlogo (npr. \"snippets/ plugin_xy.html\"), ki bodo prikazana." + +#: plugins/snippet/models.py:25 +msgid "Snippets" +msgstr "Izrezki" + +#: plugins/teaser/cms_plugins.py:8 +msgid "Teaser" +msgstr "Spodbujevalnik" + +#: plugins/teaser/models.py:14 +msgid "If present image will be clickable" +msgstr "če bo sedanja slika klikabilna" + +#: plugins/teaser/models.py:19 +msgid "If present image will be clickable." +msgstr "če bo sedanja slika klikabilna" + +#: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 +msgid "more" +msgstr "več" + +#: plugins/text/cms_plugins.py:15 +msgid "Text" +msgstr "Besedilo" + +#: plugins/text/models.py:14 plugins/text/migrations/0001_initial.py:16 +msgid "body" +msgstr "telo" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:30 +msgid "Plugins" +msgstr "Vtičnik" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 +msgid "Please select a plugin type." +msgstr "Prosim izberite tip vtičnika." + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +msgid "Edit selected plugin" +msgstr "Uredi izbrani vtičnik" + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 +msgid "Text editor does not support editing objects." +msgstr "Urejevalnik besedila ne omogoča urejanja predmetov." + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 +msgid "No object selected." +msgstr "Predmet ni izbran." + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 +msgid "Text editor does not support inserting objects." +msgstr "Urejevalnik besedila ne omogoča vstavljanja predmetov." + +#: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 +msgid "Not a plugin object" +msgstr "Ni predmet vtičnika" + +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 +msgid "Available Plugins" +msgstr "razpoložljivi vtičniki" + +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 +msgid "Insert plugin" +msgstr "Vstavi vtičnik" + +#: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 +msgid "Twitter" +msgstr "Twitter" + +#: plugins/twitter/cms_plugins.py:23 +msgid "Twitter Search" +msgstr "" + +#: plugins/twitter/models.py:7 +msgid "twitter user" +msgstr "Uporabnik Tweeterja" + +#: plugins/twitter/models.py:8 plugins/twitter/models.py:17 +msgid "count" +msgstr "število" + +#: plugins/twitter/models.py:8 plugins/twitter/models.py:17 +msgid "Number of entries to display" +msgstr "Število vnosov, ki bo prikazano" + +#: plugins/twitter/models.py:9 +msgid "link hint" +msgstr "namig pri povezavi" + +#: plugins/twitter/models.py:9 +msgid "If given, the hint is displayed as link to your Twitter profile." +msgstr "Če je podan, bo namig prikazan pri povezavi na vaš Tweeter profil." + +#: plugins/twitter/models.py:16 +msgid "query" +msgstr "" + +#: plugins/twitter/models.py:16 +msgid "" +"Example: \"brains AND zombies AND from:umbrella AND to:nemesis\": tweets " +"from the user \"umbrella\" to the user \"nemesis\" that contain the words " +"\"brains\" and \"zombies\"" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Nalagam..." + +#: plugins/video/cms_plugins.py:10 +msgid "Video" +msgstr "Video" + +#: plugins/video/cms_plugins.py:42 +msgid "Color Settings" +msgstr "Nastavitev barv" + +#: plugins/video/models.py:9 +msgid "movie file" +msgstr "datoteka s filmom" + +#: plugins/video/models.py:9 +msgid "use .flv file or h264 encoded video file" +msgstr "uporabite .flv datoteko ali s h264 kodirano video datoteko" + +#: plugins/video/models.py:10 +msgid "movie url" +msgstr "url filma" + +#: plugins/video/models.py:10 +#, fuzzy +msgid "" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" +msgstr "" +"url vimeo ali youtube videa. Primer: http://www.youtube.com/watch?v=YFa59lK-" +"kpo" + +#: plugins/video/models.py:11 +msgid "preview image file" +msgstr "predogled datoteke s sliko" + +#: plugins/video/models.py:16 +msgid "auto play" +msgstr "samodejno poženi" + +#: plugins/video/models.py:17 +msgid "auto hide" +msgstr "samodejno skrij" + +#: plugins/video/models.py:18 +msgid "fullscreen" +msgstr "celozaslonsko" + +#: plugins/video/models.py:19 +msgid "loop" +msgstr "zanka" + +#: plugins/video/models.py:22 +msgid "background color" +msgstr "barva ozadja" + +#: plugins/video/models.py:22 plugins/video/models.py:23 +#: plugins/video/models.py:24 plugins/video/models.py:25 +#: plugins/video/models.py:26 plugins/video/models.py:27 +#: plugins/video/models.py:28 plugins/video/models.py:29 +msgid "Hexadecimal, eg ff00cc" +msgstr "Šestnajstiško, npr. ff00cc" + +#: plugins/video/models.py:23 +msgid "text color" +msgstr "barva besedila" + +#: plugins/video/models.py:24 +msgid "seekbar color" +msgstr "barva iskalnega traku" + +#: plugins/video/models.py:25 +msgid "seekbar bg color" +msgstr "ozadje iskalnega traku" + +#: plugins/video/models.py:26 +msgid "loadingbar color" +msgstr "barva traku za nalaganje" + +#: plugins/video/models.py:27 +msgid "button out color" +msgstr "barva gumba zunaj" + +#: plugins/video/models.py:28 +msgid "button over color" +msgstr "barva gumba preko" + +#: plugins/video/models.py:29 +msgid "button highlight color" +msgstr "barva osvetljenega gumba" + +#: templates/admin/page_submit_line.html:3 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 +msgid "Save" +msgstr "Shrani" + +#: templates/admin/page_submit_line.html:7 +#, python-format +msgid "Delete %(language)s translation" +msgstr "Izbriši %(language)s prevod" + +#: templates/admin/page_submit_line.html:11 +msgid "Save as new" +msgstr "Shrani kot novega" + +#: templates/admin/page_submit_line.html:12 +msgid "Save and add another" +msgstr "Shrani in dodaj novega" + +#: templates/admin/page_submit_line.html:13 +#: templates/admin/cms/page/change_form.html:275 +msgid "Save and continue editing" +msgstr "Shrani in nadaljuj urejanje" + +#: templates/admin/cms/mail/approvement_required.html:5 +#, python-format +msgid "" +"Page %(page)s may require approvement by you." +msgstr "" +"Stran %(page)s je lahko zahteva vašo odobritev." + +#: templates/admin/cms/mail/approvement_required.html:8 +msgid "Last changes" +msgstr "Zadnje spremembe" + +#: templates/admin/cms/mail/base.html:55 +#, python-format +msgid "Log in to administration here." +msgstr "Tukaj se prijavite v upravljanje ." + +#: templates/admin/cms/mail/page_user_change.html:7 +msgid "Username:" +msgstr "Uporabnik:" + +#: templates/admin/cms/mail/page_user_change.html:11 +msgid "Password:" +msgstr "Geslo:" + +#: templates/admin/cms/page/change_form.html:3 +#: templates/admin/cms/page/plugin_forms_history.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 +msgid "Change a page" +msgstr "Spremeni stran" + +#: templates/admin/cms/page/change_form.html:64 +#: templates/admin/cms/page/change_list.html:8 +#: templates/admin/cms/page/plugin_change_form.html:67 +#: templates/admin/cms/page/recover_form.html:14 +#: templates/admin/cms/page/revision_form.html:6 +msgid "Home" +msgstr "Domov" + +#: templates/admin/cms/page/change_form.html:73 +msgid "Approve page deletion" +msgstr "Odobri brisanje strani" + +#: templates/admin/cms/page/change_form.html:79 +#, python-format +msgid "(requires approvement at %(moderation_level)s level)" +msgstr "(Zahteva odobritev na %(moderation_level)s ravni)" + +#: templates/admin/cms/page/change_form.html:80 +msgid "(you can perform actions on this page directly)" +msgstr "(na tej strani lahko neposredno opravljate dejanja)" + +#: templates/admin/cms/page/change_form.html:93 +msgid "Remove delete request" +msgstr "Odstrani zahtevek za brisanje" + +#: templates/admin/cms/page/change_form.html:95 +msgid "Approve delete" +msgstr "Odobri brisanje" + +#: templates/admin/cms/page/change_form.html:95 +msgid "Approve" +msgstr "Odobri" + +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 +#: templates/admin/cms/page/change_list_tree.html:12 +msgid "draft" +msgstr "osnutek" + +#: templates/admin/cms/page/change_form.html:96 +msgid "Preview" +msgstr "Predogled" + +#: templates/admin/cms/page/change_form.html:99 +#: templates/admin/cms/page/revision_form.html:10 +msgid "History" +msgstr "Zgodovina" + +#: templates/admin/cms/page/change_form.html:100 +msgid "View on site" +msgstr "Poglej na spletišču" + +#: templates/admin/cms/page/change_form.html:130 +#: templates/admin/cms/page/plugin_change_form.html:84 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Popravite spodnjo napako" +msgstr[1] "Popravite spodnji napaki" +msgstr[2] "Popravite spodnje napake" +msgstr[3] "Popravite spodnje napake" + +#: templates/admin/cms/page/change_form.html:150 +msgid "All permissions" +msgstr "Vse pravice" + +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 +#: templates/admin/cms/page/loading.html:2 +msgid "Loading..." +msgstr "Nalagam..." + +#: templates/admin/cms/page/change_form.html:162 +msgid "Page states" +msgstr "Statusi strani" + +#: templates/admin/cms/page/change_form.html:185 +#, python-format +msgid "" +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." +msgstr "" +"Ta stran mora biti moderirana na ravni %(moderation_level)s, pošljite " +"sporočilo moderatorju." + +#: templates/admin/cms/page/change_form.html:187 +msgid "Request approvemet" +msgstr "Zahtevajte odobritev" + +#: templates/admin/cms/page/change_list.html:3 +msgid "List of pages" +msgstr "Seznam strani" + +#: templates/admin/cms/page/change_list.html:58 +msgid "Successfully moved" +msgstr "Uspešno prestavljen" + +#: templates/admin/cms/page/change_list.html:63 +msgid "An error occured. Please reload the page" +msgstr "Napaka. Prosim, ponovno naložite stran." + +#: templates/admin/cms/page/change_list.html:84 +#, python-format +msgid "Recover deleted %(name)s" +msgstr "Obnovi izbrisane %(name)s " + +#: templates/admin/cms/page/change_list.html:87 +#, python-format +msgid "Add %(name)s" +msgstr "Dodajte %(name)s " + +#: templates/admin/cms/page/change_list.html:99 +msgid "Pages on:" +msgstr "Strani na:" + +#: templates/admin/cms/page/change_list.html:116 +msgid "Filter:" +msgstr "Filter:" + +#: templates/admin/cms/page/change_list.html:116 +msgid "on" +msgstr "vključi" + +#: templates/admin/cms/page/change_list.html:116 +msgid "off" +msgstr "izključi" + +#: templates/admin/cms/page/change_list.html:118 +msgid "Filter" +msgstr "Filter" + +#: templates/admin/cms/page/change_list_tree.html:8 +msgid "actions" +msgstr "dejanja" + +#: templates/admin/cms/page/change_list_tree.html:10 +msgid "moderate" +msgstr "moderiraj" + +#: templates/admin/cms/page/change_list_tree.html:13 +msgid "published" +msgstr "objavljen" + +#: templates/admin/cms/page/change_list_tree.html:15 +msgid "start" +msgstr "začetek" + +#: templates/admin/cms/page/change_list_tree.html:16 +msgid "end" +msgstr "konec" + +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 +msgid "last changes" +msgstr "zadnje spremembe" + +#: templates/admin/cms/page/menu_item.html:5 +msgid "select this page" +msgstr "izberi to stran" + +#: templates/admin/cms/page/menu_item.html:5 +#: templates/admin/cms/page/menu_item.html:6 +msgid "edit this page" +msgstr "uredi to stran" + +#: templates/admin/cms/page/menu_item.html:6 +#: templates/cms/toolbar/toolbar.html:54 +msgid "edit" +msgstr "uredi" + +#: templates/admin/cms/page/menu_item.html:16 +msgid "insert above" +msgstr "vstavi zgoraj" + +#: templates/admin/cms/page/menu_item.html:17 +msgid "insert below" +msgstr "vstavi spodaj" + +#: templates/admin/cms/page/menu_item.html:19 +msgid "insert inside" +msgstr "vstavi znotraj" + +#: templates/admin/cms/page/menu_item.html:23 +msgid "softroot" +msgstr "'softroot'" + +#: templates/admin/cms/page/menu_item.html:23 +msgid "home" +msgstr "domov" + +#: templates/admin/cms/page/menu_item.html:26 +#, python-format +msgid "Edit this page in %(language)s " +msgstr "Uredi to stran v %(language)s " + +#: templates/admin/cms/page/menu_item.html:33 +msgid "Cut" +msgstr "Izreži" + +#: templates/admin/cms/page/menu_item.html:33 +msgid "cut" +msgstr "izreži" + +#: templates/admin/cms/page/menu_item.html:34 +msgid "Copy" +msgstr "Kopiraj" + +#: templates/admin/cms/page/menu_item.html:34 +msgid "copy" +msgstr "kopiraj" + +#: templates/admin/cms/page/menu_item.html:37 +#: templates/admin/cms/page/menu_item.html:41 +msgid "Add Child" +msgstr "Dodaj otroka" + +#: templates/admin/cms/page/menu_item.html:37 +#: templates/admin/cms/page/menu_item.html:41 +msgid "add" +msgstr "dodaj" + +#: templates/admin/cms/page/menu_item.html:65 +msgid "Approve directly" +msgstr "Neposredno odobri" + +#: templates/admin/cms/page/menu_item.html:67 +#: templates/admin/cms/page/menu_item.html:79 +#: templates/admin/cms/page/menu_item.html:81 +msgid "view" +msgstr "poglej" + +#: templates/admin/cms/page/menu_item.html:72 +msgid "Unpublish" +msgstr "Umakni objavo" + +#: templates/admin/cms/page/menu_item.html:79 +msgid "View on page" +msgstr "Poglej na strani" + +#: templates/admin/cms/page/moderation_messages.html:4 +msgid "Action" +msgstr "Dejanje" + +#: templates/admin/cms/page/moderation_messages.html:5 +msgid "Created" +msgstr "Ustvarjeno" + +#: templates/admin/cms/page/moderation_messages.html:7 +msgid "Message" +msgstr "Sporočilo" + +#: templates/admin/cms/page/permissions.html:7 +msgid "Group" +msgstr "Skupina" + +#: templates/admin/cms/page/permissions.html:8 +msgid "Can edit" +msgstr "Lahko ureja" + +#: templates/admin/cms/page/permissions.html:9 +msgid "Can add" +msgstr "Lahko dodaja" + +#: templates/admin/cms/page/permissions.html:10 +msgid "Can delete" +msgstr "Lahko briše" + +#: templates/admin/cms/page/permissions.html:11 +msgid "Can publish" +msgstr "Lahko objavi" + +#: templates/admin/cms/page/permissions.html:12 +msgid "Can change permissions" +msgstr "Lahko spreminja pravice" + +#: templates/admin/cms/page/permissions.html:13 +msgid "Can move" +msgstr "Lahko premika" + +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Lahko premika" + +#: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 +msgid "(global)" +msgstr "(Globalno)" + +#: templates/admin/cms/page/permissions.html:26 +msgid "(current)" +msgstr "(Trenutno)" + +#: templates/admin/cms/page/permissions.html:43 +msgid "All" +msgstr "Vse" + +#: templates/admin/cms/page/permissions.html:51 +msgid "Page doesn't inherit any permissions." +msgstr "Stran ne deduje pravic." + +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + +#: templates/admin/cms/page/plugin_forms_history.html:9 +msgid "An old revision of a plugin can not be saved!" +msgstr "Stara različica vtičnika ne more biti shranjena!" + +#: templates/admin/cms/page/plugin_forms_ok.html:21 +msgid "Plugin saved successfully." +msgstr "Vtičnik uspešno shranjen." + +#: templates/admin/cms/page/recover_form.html:17 +#, python-format +msgid "Recover deleted %(verbose_name)s" +msgstr "Obnoviizbrisane %(verbose_name)s " + +#: templates/admin/cms/page/recover_form.html:24 +msgid "Press the save button below to recover this version of the object." +msgstr "" +"Pritisnite spodnji gumb za shranjevanje, če želite obnoviti to različico " +"predmeta." + +#: templates/admin/cms/page/revision_form.html:11 +#, python-format +msgid "Revert %(verbose_name)s" +msgstr "Povrni %(verbose_name)s " + +#: templates/admin/cms/page/revision_form.html:24 +msgid "Press the save button below to revert to this version of the object." +msgstr "" +"Pritisnite spodnji gumb za shranjevanje, če želite povrniti na to različica " +"predmeta." + +#: templates/admin/cms/page/dialog/copy.html:4 +msgid "Copy options" +msgstr "Možnosti kopiranja" + +#: templates/admin/cms/page/dialog/copy.html:6 +msgid "Choose copy options" +msgstr "Izberi možnosti kopiranja" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:7 +msgid "Generic" +msgstr "" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 +msgid "Add Plugin" +msgstr "Dodaj vtičnik" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:18 +msgid "From Language" +msgstr "Iz jezika" + +#: templates/admin/cms/page/widgets/installed_plugins_inc.html:25 +msgid "Copy Plugins" +msgstr "Kopiraj vtičnik" + +#: templates/admin/cms/page/widgets/plugin_editor.html:12 +msgid "You must save the page first to add plugins." +msgstr "Preden dodate vtičnik, morate stran shraniti." + +#: templates/admin/cms/page/widgets/plugin_editor.html:15 +msgid "No Plugin selected. Selected one on the left side" +msgstr "Vtičnik ni izbran. Izberite enega na levi strani." + +#: templates/admin/cms/page/widgets/plugin_editor.html:17 +msgid "No Plugins present. Add a plugin to this placeholder-slot." +msgstr "Vtičnika ni. Dodajte vtičnik na za to predvideno mesto." + +#: templates/cms/toolbar/placeholder.html:32 +msgid "Available plugins" +msgstr "" + +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" + +#: templates/cms/toolbar/toolbar.html:23 +msgid "Are you sure you want to delete this plugin?" +msgstr "Ali resnično želite zbrisati ta vtičnik?" + +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "gor" + +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "dol" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" + +#: templates/cms/toolbar/items/login.html:5 +msgid "Username" +msgstr "Uporabniško ime" + +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" +msgstr "prijava" + +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Status" + +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" + +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" + +#: templatetags/cms_admin.py:99 +msgid "Unbind page moderation" +msgstr "Loči moderiranje od strani" + +#: templatetags/cms_admin.py:100 +msgid "Unbind children moderation" +msgstr "Loči moderiranje otrok" + +#: templatetags/cms_admin.py:101 +msgid "Unbind descendants moderation" +msgstr "Loči moderiranje naslednikov" + +#: templatetags/cms_tags.py:78 +#, python-format +msgid "Page not found on %(domain)s" +msgstr "" + +#: templatetags/cms_tags.py:79 +#, python-format +msgid "" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" +"`. The URL of the request was: http://%(host)s%(path)s" +msgstr "" + +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - vaš uporabniški račun je ustvarjen." + +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - vaš uporabniški račun je spremenjen." + +#: utils/moderator.py:83 +msgid "parent first" +msgstr "najpre starš" + +#: utils/moderator.py:90 +msgid "approve" +msgstr "odobri" + +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - Stran %s zahteva odobritev." + +#~ msgid "Missing flash plugin." +#~ msgstr "Manjka vtičnik za flash" + +#~ msgid "Move to %(name)s" +#~ msgstr "Premakni v %(name)s " + +#~ msgid "move" +#~ msgstr "premakni" + +#~ msgid "add child" +#~ msgstr "dodaj otroka" + +#~ msgid "add sibling" +#~ msgstr "dodaj brata/sestro" + +#~ msgid "history" +#~ msgstr "zgodovina" + +#~ msgid "Lock" +#~ msgstr "Zakleni" + +#~ msgid "Close" +#~ msgstr "Zapri" + +#~ msgid "Settings" +#~ msgstr "Nastavitve" + +#~ msgid "Delete Plugin" +#~ msgstr "Izbriši vtičnik" + +#~ msgid "fgcolor" +#~ msgstr "barva ospredja" + +#~ msgid "Wanted language has not been translated yet." +#~ msgstr "Želeni jezik še ni bil preveden." diff --git a/cms/locale/sl_SI/LC_MESSAGES/djangojs.mo b/cms/locale/sl_SI/LC_MESSAGES/djangojs.mo new file mode 100644 index 00000000000..bc8ab1fd7c5 Binary files /dev/null and b/cms/locale/sl_SI/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/sl_SI/LC_MESSAGES/djangojs.po b/cms/locale/sl_SI/LC_MESSAGES/djangojs.po new file mode 100644 index 00000000000..68bf9952c2d --- /dev/null +++ b/cms/locale/sl_SI/LC_MESSAGES/djangojs.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# simonv , 2011. +msgid "" +msgstr "" +"Project-Id-Version: django-cms\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: ojii \n" +"Language-Team: LANGUAGE \n" +"Language: sl_SI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3)\n" + +#: static/cms/js/change_form.js:31 +msgid "" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" +msgstr "" +"Ali ste prepričani da želite spremeniti polja %(field_name)s preden shranite " +"spremembe na strani?" + +#: static/cms/js/change_form.js:69 +msgid "" +"Not all plugins are saved. Are you sure you want to save the page?\n" +"All unsaved plugin content will tried to save." +msgstr "" + +#: static/cms/js/change_form.js:127 +msgid "Are you sure you want to change tabs without saving the page first?" +msgstr "" +"Ste prepričani, da želite spremeniti tabulatorje preden shranite stran?" + +#: static/cms/js/plugin_editor.js:132 +msgid "Are you sure you want to delete this plugin?" +msgstr "Ali ste prepričani, da želite izbrisati vtičnik?" diff --git a/cms/locale/sv/LC_MESSAGES/django.mo b/cms/locale/sv/LC_MESSAGES/django.mo index a69e3d298c8..82fed4efdea 100644 Binary files a/cms/locale/sv/LC_MESSAGES/django.mo and b/cms/locale/sv/LC_MESSAGES/django.mo differ diff --git a/cms/locale/sv/LC_MESSAGES/django.po b/cms/locale/sv/LC_MESSAGES/django.po index ff98c4e2ab7..a9b9d4dd975 100644 --- a/cms/locale/sv/LC_MESSAGES/django.po +++ b/cms/locale/sv/LC_MESSAGES/django.po @@ -1,301 +1,391 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:49-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Redigeringsläge" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Publicera" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Logga ut" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Mall" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Flytta/lägg till sidor" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "Lägg till undersida" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "Lägg till syskon-sida" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Radera sida" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Sida" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Sajtadministration" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Sidinställningar" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Visa historik" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Avancerade inställningar" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Namn" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Sidans namn" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "URL-namn" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Den del av namnet som används i webbadressen" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Språk" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "Det aktiva språket för innehållsfälten." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "En annan sida med samma URL-namn finns redan" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Menyrubrik" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Ange för att visa annan text än sidans namn i menyn" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Sidrubrik" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "Anger vad som visas i webbläsarens topp eller i bokmärken" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Applikation" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Koppla applikation till denna sida." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "Ändra URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Lämna tomt om den vanliga sökvägen ska användas." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Omdirigera" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Omdirigerar till denna URL" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "En beskrivning som ibland används av sökmotorer." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "En kommaseparerad lista med sökord som ibland används av sökmotorer." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "En sida med detta URL-id finns redan." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Felaktig URL, använd följande format: /min/url." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "En annan sida med samma URL-namn finns redan" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "användare" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" "Tillåtelse att lägga till sida kräver också tillgång till barn eller " -"efterkommande annars kan inte tillagd sida redigeras av den som skapat" -" den." +"efterkommande annars kan inte tillagd sida redigeras av den som skapat den." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "Tillåtelse att lägga till sida kräver tillåtelse att redigera sidor." -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "vy" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Ange användare eller grupp först." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Lägg till" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Ändra" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Radera" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Återskapa sidor" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Meddela användare" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" "Skicka e-postmeddelande till användare om användarnamn eller " "lösenordsförändring. E-postadress på användare krävs." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Nytt lösenord" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Nytt lösenord (bekräfta)" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "E-postmeddelande kräver en giltig e-postadress." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "Tillåtelse att lägga till sidor kräver tillåtelse att redigera sidor!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "" -"Tillåtelse att lägga till användare kröver tillåtelse att redigera " -"användare!" +"Tillåtelse att lägga till användare kröver tillåtelse att redigera användare!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "För att lägga till rättigheter måste du också redigera dem." -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Dold" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Grundinställningar" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "Notera: Sidan laddas på nytt om du ändrar detta. Spara först." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Dold" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Avancerade inställningar" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "SEO-inställningar" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "högre" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Databaserror" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "sida" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Sidan godkändes." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(name)s objekt med primär nycket %(key)r existerar inte." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Det finns endast en språkversion av denna sida" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "Rubrik och plugins för språket %(language)s raderades" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Är du säker?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Du har inte tillåtelse att publicera denna sida" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "Du har inte tillåtelse att ändra denna sidas 'i navigation'-status" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Du har inte tillåtelse att redigera denna sida" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Språket måste vara ett av de som stödjs" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s plugin har lagts till %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Språket måste vara ett annat än det som kopieras!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "%(language)s plugin har kopierats till %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -"%(plugin_name)s plugin har redigerats på plats %(position)s i " -"%(placeholder)s" +"%(plugin_name)s plugin har redigerats på plats %(position)s i %(placeholder)s" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Plugins har flyttats" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " @@ -304,27 +394,50 @@ msgstr "" "%(plugin_name)s plugin på position %(position)s i %(placeholder)s har " "raderats." -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Rättigheter för sida" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Användar- och grupprättigheter" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Administrera rättigheter för sida" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Du har inte tillåtelse att redigera denna sida" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Användardetaljer" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Grupper" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Lösenord" @@ -336,7 +449,7 @@ msgstr "Kopieringsrättigheter" msgid "Copy moderation" msgstr "Kopieringsbegränsningar" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "Ärv mall" @@ -356,27 +469,37 @@ msgstr "Lägg till en till" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "språk" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "sida" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "position" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "skapat datum" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "plats" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "plugin-namn" @@ -401,15 +524,15 @@ msgstr "slug" msgid "everybody" msgstr "alla" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "kan redigera" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "grupp" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "kan publicera" @@ -447,28 +570,28 @@ msgstr "författare" msgid "reverse url id" msgstr "omvänd url id" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "login krävs" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "rot" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "slutdatum för publicering" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "mall" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "publiceringsdatum" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "i navigation" @@ -478,7 +601,7 @@ msgstr "i navigation" msgid "application" msgstr "applikation" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -515,26 +638,21 @@ msgstr "Sidans undernivåer" msgid "Page and descendants" msgstr "Sida och undernivåer" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Sida" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Användare" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Moderera sida" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "Moderera närmsta undernivå" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "Moderera alla undernivåer" @@ -542,193 +660,200 @@ msgstr "Moderera alla undernivåer" msgid "PageModerator" msgstr "Sidmoderator" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "skapade" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "ändrad" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "förfrågan om borttagning" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "flyttförfrågan" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "publiceringsförfrågan" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "förfrågan om avpublicering" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "godkänd" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "Sidmodereringsläge" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "Sidmodereringslägen" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "behöver godkännande" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "radera" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "godkänd, inv. överstående" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "skapad av" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "ändrad av" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"När sidan ska gå live. Status måste vara \"Publicerad\" för att sidan " -"ska gå live." +"När sidan ska gå live. Status måste vara \"Publicerad\" för att sidan ska gå " +"live." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "När sidan ska utgå. Lämna blank för att inaktivera funktionen." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "Alla ovanstående sidor kommer inte att visas i navigeringen" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -"Ett unikt id som används med mallkommandot page_url för att länka till" -" denna sida" +"Ett unikt id som används med mallkommandot page_url för att länka till denna " +"sida" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "är publicerad" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "Mallen som används för att visa innehållet." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Sajten som sidan är tillgänglig på." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "sajt" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "modereringsläge" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "sidor" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Sidan har kopierats" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "standard" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "kan lägga till" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "kan ta bort" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "kan ändra avancerade inställningar" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "kan ändra rättigheter" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "på sidnivå" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "kan flytta" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "kan moderera" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "kan återskapa sidor" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "kan återskapa alla sidor" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "Om ingen är vald har användaren rättigheter till alla sajter." -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "sajter" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "Global rättighet för sidan" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "Globala rättigheter för sidor" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "Tillåtelse gäller" @@ -736,28 +861,28 @@ msgstr "Tillåtelse gäller" msgid "Page permission" msgstr "Sidrättighet" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Användare (grupp)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Användare (sida)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Användare grupp (sida)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Användare grupper (sida)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "bredd" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -782,6 +907,10 @@ msgstr "Fil" msgid "file" msgstr "fil" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -795,9 +924,18 @@ msgstr "använd swf-fil" msgid "height" msgstr "höjd" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Flash insticksprogram saknas" +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"Flash-plugin saknas. Ladda ner här" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -855,19 +993,19 @@ msgstr "Ruttplanerare" msgid "Map" msgstr "Karta" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Beräkna rutt" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Ärv plugins från sida" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Språk eller Sida måste vara ifylld" @@ -876,8 +1014,8 @@ msgid "" "Choose a page to include its plugins into this placeholder, empty will " "choose current page" msgstr "" -"Välj en sida för att inkludera dess plugins till denna platshållare, " -"lämna blankt för nuvarande sida" +"Välj en sida för att inkludera dess plugins till denna platshållare, lämna " +"blankt för nuvarande sida" #: plugins/inherit/models.py:11 msgid "Optional: the language of the plugins you want" @@ -895,7 +1033,7 @@ msgid "name" msgstr "namn" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "länk" @@ -916,40 +1054,44 @@ msgstr "En e-postadress får prioritet över en textlänk." msgid "Picture" msgstr "Bild" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "vänster" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "höger" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "bild" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "om angiven blir bilden klickbar" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "alternativ text" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "beskrivning av bilden" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "lång beskrivning" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "ytterligare beskrivning av bilden" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "sida" @@ -969,11 +1111,9 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "" -"Ange en mall (t.ex. \"snippets/plugin_xy.html\") som kommer att " -"användas." +"Ange en mall (t.ex. \"snippets/plugin_xy.html\") som kommer att användas." #: plugins/snippet/models.py:25 msgid "Snippets" @@ -992,6 +1132,7 @@ msgid "If present image will be clickable." msgstr "Värde gör bilden klickbar." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "mer" @@ -1009,51 +1150,52 @@ msgstr "Plugins" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Välj ett plugin" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Redigera valt plugin" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Textredigeraren stödjer inte redigering av objekt." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Inget objekt valt." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Textredigeraren stödjer inte infogning av objekt" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Inte ett plugin-objekt" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Tillgängliga plugins" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Lägg till plugin" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1088,6 +1230,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Laddar..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Video" @@ -1109,12 +1276,13 @@ msgid "movie url" msgstr "film url" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" -"vimeo eller youtube video url. Exampel: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo eller youtube video url. Exampel: http://www.youtube.com/watch?" +"v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1175,17 +1343,9 @@ msgstr "knappfärg över" msgid "button highlight color" msgstr "knappfärg aktiv" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" -"Flash-plugin saknas. Ladda ner här" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Spara" @@ -1203,22 +1363,18 @@ msgid "Save and add another" msgstr "Spara och lägg till" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Spara och fortsätt redigera" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" -"Sida %(page)s kan behöva godkännande av " -"dig." +"Sida %(page)s kan behöva godkännande av dig." #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Senaste ändringar" @@ -1227,28 +1383,21 @@ msgstr "Senaste ändringar" msgid "Log in to administration here." msgstr "Logga in på administrationssida här." -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Användarnamn:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Lösenord:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Ändra en sida" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1256,81 +1405,81 @@ msgstr "Ändra en sida" msgid "Home" msgstr "Hem" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Godkänn borttagning av sida" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(kräver godkännande på nivå %(moderation_level)s)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(du kan utföra ändringar på denna sida direkt)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Ta bort raderingsförfrågan" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Godkänn radering" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Godkänn" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "utkast" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Förhandsgranska" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Historik" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Visa på sajt" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Rätta till nedanstående fel." msgstr[1] "Rätta till nedanstående fel." -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Alla rättigheter" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Laddar..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Sidstatus" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" "Denna sida måste godkännas på nivå %(moderation_level)s, skicka ett " "meddelande till moderatorn." -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Efterfråga godkännande" @@ -1338,41 +1487,41 @@ msgstr "Efterfråga godkännande" msgid "List of pages" msgstr "Lista över sidor" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Flytt genomförd" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Ett fel uppstod. Var vänlig ladda om sidan" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "Återskapa borttagen %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "Lägg till %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "Sidor på:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filter:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "på" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "av" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filter" @@ -1396,7 +1545,11 @@ msgstr "start" msgid "end" msgstr "slut" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "senaste ändringar" @@ -1410,8 +1563,7 @@ msgid "edit this page" msgstr "redigera denna sida" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "redigera" @@ -1467,7 +1619,6 @@ msgid "add" msgstr "lägg till" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "Godkänn direkt" @@ -1481,11 +1632,6 @@ msgstr "vy" msgid "Unpublish" msgstr "Avpublicera" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Publicera" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Visa på sida" @@ -1530,28 +1676,38 @@ msgstr "Kan ändra rättigheter" msgid "Can move" msgstr "Kan flytta" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Kan flytta" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(global)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(nuvarande)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Alla" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "Sidan ärver inga rättigheter" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "En gammal version av ett plugin kan inte sparas." -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Plugin sparat." @@ -1572,8 +1728,7 @@ msgstr "Återgå till %(verbose_name)s" #: templates/admin/cms/page/revision_form.html:24 msgid "Press the save button below to revert to this version of the object." msgstr "" -"Tryck på spara-knappen nedan för att återgå till denna version av " -"objektet." +"Tryck på spara-knappen nedan för att återgå till denna version av objektet." #: templates/admin/cms/page/dialog/copy.html:4 msgid "Copy options" @@ -1588,7 +1743,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Lägg till plugin" @@ -1612,126 +1766,62 @@ msgstr "Inget plugin valt. Välj ett till vänster på sidan." msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Inget plugin har lagts till. Lägg till ett plugin till denna plats." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "Flytta till %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Är du säker på att du vill ta bort detta plugin?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Redigeringsläge" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "upp" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Status" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "ner" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Användarnamn" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "login" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Mall" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "flytta" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Flytta/lägg till sidor" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "lägg till undersida" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "Lägg till undersida" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "lägg till syskon" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "Lägg till syskon-sida" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Radera sida" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Sajtadministration" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Sidinställningar" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "historik" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Visa historik" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Logga ut" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Fäst" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Stäng" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "upp" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "ner" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Status" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Inställningar" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Radera plugin" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "Frigör från sidmoderering" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "Frigör undersidor från moderering" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "Frigör undernivåer från moderering" @@ -1743,85 +1833,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - ditt användarkonto har skapats." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - ditt användarkonto har ändrats." #: utils/moderator.py:83 msgid "parent first" @@ -1836,13 +1859,35 @@ msgstr "godkänn" msgid "CMS - Page %s requires approvement." msgstr "CMS - Sida %s behöver godkännande." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - ditt användarkonto har skapats." +#~ msgid "Missing flash plugin." +#~ msgstr "Flash insticksprogram saknas" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - ditt användarkonto har ändrats." +#~ msgid "Move to %(name)s" +#~ msgstr "Flytta till %(name)s" + +#~ msgid "move" +#~ msgstr "flytta" + +#~ msgid "add child" +#~ msgstr "lägg till undersida" + +#~ msgid "add sibling" +#~ msgstr "lägg till syskon" + +#~ msgid "history" +#~ msgstr "historik" + +#~ msgid "Lock" +#~ msgstr "Fäst" + +#~ msgid "Close" +#~ msgstr "Stäng" + +#~ msgid "Settings" +#~ msgstr "Inställningar" + +#~ msgid "Delete Plugin" +#~ msgstr "Radera plugin" #~ msgid "fgcolor" #~ msgstr "fg-färg" diff --git a/cms/locale/sv/LC_MESSAGES/djangojs.mo b/cms/locale/sv/LC_MESSAGES/djangojs.mo index b2c63c40e4a..654218a110e 100644 Binary files a/cms/locale/sv/LC_MESSAGES/djangojs.mo and b/cms/locale/sv/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/sv/LC_MESSAGES/djangojs.po b/cms/locale/sv/LC_MESSAGES/djangojs.po index 42405901db4..acf84938f4f 100644 --- a/cms/locale/sv/LC_MESSAGES/djangojs.po +++ b/cms/locale/sv/LC_MESSAGES/djangojs.po @@ -1,40 +1,38 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" -"Är du säker att du vill ändra %(field_name)s utan att spara sidan " -"först?" +"Är du säker att du vill ändra %(field_name)s utan att spara sidan först?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "Är du säker på att du vill ändra tabb utan att spara sidan först?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Är du säker på att du vill radera detta plugin?" diff --git a/cms/locale/tr/LC_MESSAGES/django.mo b/cms/locale/tr/LC_MESSAGES/django.mo index 259eb0111f2..59536ed4942 100644 Binary files a/cms/locale/tr/LC_MESSAGES/django.mo and b/cms/locale/tr/LC_MESSAGES/django.mo differ diff --git a/cms/locale/tr/LC_MESSAGES/django.po b/cms/locale/tr/LC_MESSAGES/django.po index 5a1a288fb04..3b84ab1cf5c 100644 --- a/cms/locale/tr/LC_MESSAGES/django.po +++ b/cms/locale/tr/LC_MESSAGES/django.po @@ -1,327 +1,443 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:49-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" -"Language-Team: Turkish \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/django-cms/team/" +"tr/)\n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "Düzenleme modu" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "Yayınla" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "Çıkış" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "Şablon" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "Sayfa Taşı/Ekle" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "Sayfayı Sil" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "Sayfa" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "Site Yönetimi" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "Sayfa Ayarları" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "Geçmişi Gör" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "Gelişmiş seçenekler" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "Başlık" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "Öntanımlı başlık" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "Başlığın URL'de kullanılan kısmı" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "Dil" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "İçerik alanlarının geçerli dili." -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "Menü Başlığı" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "Menüde gösterilenin üstüne yaz" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "Sayfa Başlığı" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "Tarayıcınızın üstünde veya yerimlerinde yazanın üzerine yaz" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "Uygulama" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "Uygulamayı bu sayfaya bağla." -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "Standart yolu kullanmak için bu alanı boş bırakın." -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "Yönlendir" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "Bu URL'ye yönlendir." -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "Sayfanın açıklaması, bazen arama motorları tarafından kullanılır." -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "" -"Virgül ile ayrılmış anahtar kelimeler, bazen arama motorları " -"tarafından kullanılır." +"Virgül ile ayrılmış anahtar kelimeler, bazen arama motorları tarafından " +"kullanılır." -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "Bu ters URL id'si ile bir sayfa zaten var." -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "Geçersiz URL, /benim/url biçiminde girin." -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, python-format +msgid "Page with redirect url %r already exist" +msgstr "" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "kullanıcı" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "" -"Sayfa ekleme yetkisi aynı zamanda alt başlıkların yetkilerine de " -"ihtiyaç duyar, yoksa sayfa ekleyen kişi içeriğini değiştiremez." +"Sayfa ekleme yetkisi aynı zamanda alt başlıkların yetkilerine de ihtiyaç " +"duyar, yoksa sayfa ekleyen kişi içeriğini değiştiremez." -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "" -"Sayfa ekleme yetkisi aynı zamanda sayfa düzenleme yetkisi de " -"gerektirir." +"Sayfa ekleme yetkisi aynı zamanda sayfa düzenleme yetkisi de gerektirir." + +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "göster" -#: admin/forms.py:245 +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "Lütfen önce kullanıcı veya grup ekleyin." -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "Ekle" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "Düzenle" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "Sil" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "Sayfaları (herhangi) kurtar" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "Kullanıcıyı bilgilendir" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "" -"Kullanıcıya, kullanıcı adı ve parola değişikliği ile ilgili eposta " -"gönder. Kullanıcının epostası olması gerekir." +"Kullanıcıya, kullanıcı adı ve parola değişikliği ile ilgili eposta gönder. " +"Kullanıcının epostası olması gerekir." -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "Yeni parola" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "Yeni parola onayı" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "Eposta bilgilendirmeleri geçerli bir eposta adresi gerektirir." -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "Sayfa ekleme yetkisi, sayfa düzenleme yetkisi de gerektirir!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "Kullanıcı ekleme yetkisi, kullanıcı düzenleme yetkisi de gerektirir!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "Gizli" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "Temel Ayarlar" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "Not: Bu sayfa eğer seçimi değiştirirseniz güncellenir. Önce kaydedin." -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "Gizli" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "Gelişmiş Ayarlar" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "Arama Motoru (SEO) Ayarları" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "daha yüksek" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "Veritabanı hatası" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "sayfa" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "Sayfa başarı ile onaylandı." -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(key)r birincil anahtarlı %(name)s nesnesi mevcut değil." -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "Bu sayfa için sadece bir çeviri mevcut" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "%(language)s dilindeki başlık ve eklenti silindi" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "Emin misiniz?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "Bu sayfayı yayınlamak için yetkiniz yok" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "Bu sayfayı değiştirmek için yetkiniz yok" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "Dil, desteklenen bir dile ayarlanmalı!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(placeholder)s yer tutucusuna %(plugin_name)s eklentisi eklendi" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "Dil, kopyalanan dilden farklı olmalı!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "Eklentiler taşındı" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "Sayfa yetkileri" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "Kullanıcı & Grup yetkileri" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "Sayfa yetki yönetimi" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "Bu sayfayı değiştirmek için yetkiniz yok" + +#: admin/useradmin.py:25 msgid "User details" msgstr "Kullanıcı detayları" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "Gruplar" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "Parola" @@ -333,7 +449,7 @@ msgstr "Kopyalama yetkileri" msgid "Copy moderation" msgstr "Kopyalama moderasyonu" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "En yakın üst sayfanın şablonunu kullan" @@ -353,27 +469,37 @@ msgstr "Bir tane daha ekle" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "dil" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "sayfa" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "konum" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "yaratma tarihi" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "eklenti_adı" @@ -398,15 +524,15 @@ msgstr "" msgid "everybody" msgstr "herkes" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "düzenleyebilir" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "grup" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "yayınlayabilir" @@ -444,28 +570,28 @@ msgstr "yazar" msgid "reverse url id" msgstr "ters url id'si" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "giriş yapılmış olması gerekiyor" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "yayınlama bitiş tarihi" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "şablon" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "yayınlanma tarihi" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "" @@ -475,7 +601,7 @@ msgstr "" msgid "application" msgstr "uygulama" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "" @@ -512,26 +638,21 @@ msgstr "" msgid "Page and descendants" msgstr "" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "Sayfa" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "Kullanıcı" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "Sayfayı düzenle" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "" @@ -539,191 +660,198 @@ msgstr "" msgid "PageModerator" msgstr "" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "yaratıldı" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "değiştirildi" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "onaylanmış" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "sil" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "oluşturan" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "değiştiren" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "" -"Sayfa ne zaman yayında olacağı. Sayfanın yayında olması için durumunun" -" \"Yayınlanmış\" olması gerekir." +"Sayfa ne zaman yayında olacağı. Sayfanın yayında olması için durumunun " +"\"Yayınlanmış\" olması gerekir." -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "Sayfa ne zaman yayından kaldırılacağı. Hiç bir zaman için boş bırakın." -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "yayınlanmış" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "İçeriği göstermek için kullanılan şablon" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "Sayfanın erişilebileceği site." -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "site" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "sayfalar" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "Sayfa kopyalanmıştı." -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "öntanımlı" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "ekleyebilir" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "silebilir" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "gelişmiş seçenekleri değiştirebilir" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "yetkileri değiştirebilir" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "sayfa seviyesinde" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "taşıyabilir" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "düzenleyebilir" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "siteler" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "" @@ -731,28 +859,28 @@ msgstr "" msgid "Page permission" msgstr "Sayfa yetkileri" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "Kullanıcı (sayfa)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "Kullanıcılar (sayfa)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "Kullanıcı grubu (sayfa)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "Kullanıcı grupları (sayfa)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "genişlik" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -777,6 +905,10 @@ msgstr "Dosya" msgid "file" msgstr "dosya" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -790,9 +922,15 @@ msgstr "swf dosyası kullan" msgid "height" msgstr "yükseklik" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "Flash eklentisi yok." +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -850,19 +988,19 @@ msgstr "rota planlayıcı" msgid "Map" msgstr "Harita" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "Rota hesapla" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "Eklentileri sayfadan al" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "Dil veya Sayfa doldurulmalı" @@ -890,7 +1028,7 @@ msgid "name" msgstr "isim" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "bağlantı" @@ -911,40 +1049,44 @@ msgstr "Bir eposta adresi, bir yazı bağlantısından önceliklidir." msgid "Picture" msgstr "Resim" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "sol" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "sağ" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "resim" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "şu anki resim tıklanabilir olacak mı " -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "alternatif metin" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "Resmin açıklaması" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "Uzun açıklama" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "Resmin ek açıklamaları" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "yan" @@ -964,8 +1106,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "Kullanılacak şablonu (ör. \"snippets/plugin_xy.html\") girin." #: plugins/snippet/models.py:25 @@ -985,6 +1126,7 @@ msgid "If present image will be clickable." msgstr "şu anki resim tıklanabilir olacak mı." #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "daha fazla" @@ -1002,51 +1144,52 @@ msgstr "Eklentiler" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "Lütfen bir eklenti türü seçin." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "Seçilmiş eklentiyi düzenle" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "Metin editörü nesnelerin düzenlenmesini desteklemiyor." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "Hiç nesne seçilmedi." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "Metin editörü nesne yerleştirmesini desteklemiyor." #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "Bir eklenti nesnesi değil" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "Mevcut Eklentiler" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "Eklenti Ekle" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "Twitter" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,8 +1212,7 @@ msgstr "bağlantı ipucu" #: plugins/twitter/models.py:9 msgid "If given, the hint is displayed as link to your Twitter profile." msgstr "" -"Eğer verilirse ipucu, Twitter hesabınıza bir bağlantı şeklinde " -"gösterilecek. " +"Eğer verilirse ipucu, Twitter hesabınıza bir bağlantı şeklinde gösterilecek. " #: plugins/twitter/models.py:16 msgid "query" @@ -1083,6 +1225,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "Yüklüyor..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "Video" @@ -1105,8 +1272,8 @@ msgstr "görüntü" #: plugins/video/models.py:10 msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" msgstr "" #: plugins/video/models.py:11 @@ -1168,15 +1335,9 @@ msgstr "" msgid "button highlight color" msgstr "" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "Kaydet" @@ -1194,20 +1355,17 @@ msgid "Save and add another" msgstr "Kaydet ve yeni bir tane ekle" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "Kaydet ve düzenlemeye devam et" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "Son değişiklikler" @@ -1216,28 +1374,21 @@ msgstr "Son değişiklikler" msgid "Log in to administration here." msgstr "" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "Kullanıcı adı:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "Parola:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "Bir sayfa düzenle" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1245,78 +1396,78 @@ msgstr "Bir sayfa düzenle" msgid "Home" msgstr "Anasayfa" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "Sayfa silmeyi onayla" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "Silme isteğini iptal et" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "Silmeyi onayla" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "Onayla" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "taslak" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "Önizleme" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "Geçmiş" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "Sitede gör" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "Tüm yetkiler" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "Yüklüyor..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "Sayfa durumu" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "Onaylama iste" @@ -1324,41 +1475,41 @@ msgstr "Onaylama iste" msgid "List of pages" msgstr "Sayfa listesi" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "Başarıyla taşındı" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "Bir hata oluştu. Lütfen sayfayı tekrar yükleyin." -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "%(name)s ekle" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "Filtre:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "açık" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "kapalı" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "Filtre" @@ -1382,7 +1533,11 @@ msgstr "" msgid "end" msgstr "" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "son değişiklikler" @@ -1396,8 +1551,7 @@ msgid "edit this page" msgstr "bu sayfayı düzenle" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "düzenle" @@ -1453,7 +1607,6 @@ msgid "add" msgstr "ekle" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "" @@ -1467,11 +1620,6 @@ msgstr "göster" msgid "Unpublish" msgstr "Yayından kaldır" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "Yayınla" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "Sayfada gör" @@ -1516,28 +1664,38 @@ msgstr "Yetkileri değiştirebilir" msgid "Can move" msgstr "Taşıyabilir" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "Taşıyabilir" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(geçerli)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "Hepsi" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "Eklenti başarı ile kaydedildi." @@ -1572,7 +1730,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "Eklenti Ekle" @@ -1596,126 +1753,62 @@ msgstr "Hiç eklenti seçilmedi. Sol tarafta bir tane seçildi." msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "Hiç eklenti yok. Yer tutucuya bir eklenti ekle." -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "%(name)s'a taşı" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "Bu eklentiyi silmek istediğinize emin misiniz?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "Düzenleme modu" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "yukarı" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "Durum" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "aşağı" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "Kullanıcı adı" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "giriş" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "Şablon" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "taşı" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "Sayfa Taşı/Ekle" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "Durum" -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" msgstr "" -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" msgstr "" -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "Sayfayı Sil" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "Site Yönetimi" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "Sayfa Ayarları" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "geçmiş" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "Geçmişi Gör" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "Çıkış" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "Kilitle" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "Kapat" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "yukarı" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "aşağı" - -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "Ayarlar" - -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "Eklentiyi Sil" - -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "" @@ -1727,85 +1820,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - kullanıcı hesabınız yaratıldı." -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - kullanıcı hesabınız güncellendi." #: utils/moderator.py:83 msgid "parent first" @@ -1820,16 +1846,29 @@ msgstr "onayla" msgid "CMS - Page %s requires approvement." msgstr "CMS - %s sayfası onay bekliyor." -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - kullanıcı hesabınız yaratıldı." +#~ msgid "Missing flash plugin." +#~ msgstr "Flash eklentisi yok." -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - kullanıcı hesabınız güncellendi." +#~ msgid "Move to %(name)s" +#~ msgstr "%(name)s'a taşı" + +#~ msgid "move" +#~ msgstr "taşı" + +#~ msgid "history" +#~ msgstr "geçmiş" + +#~ msgid "Lock" +#~ msgstr "Kilitle" + +#~ msgid "Close" +#~ msgstr "Kapat" + +#~ msgid "Settings" +#~ msgstr "Ayarlar" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "Eklentiyi Sil" #~ msgid "Wanted language has not been translated yet." #~ msgstr "İstanen dil henüz tercüme edilmedi." diff --git a/cms/locale/tr/LC_MESSAGES/djangojs.mo b/cms/locale/tr/LC_MESSAGES/djangojs.mo index 0757cc01f6b..cf36f0d0232 100644 Binary files a/cms/locale/tr/LC_MESSAGES/djangojs.mo and b/cms/locale/tr/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/tr/LC_MESSAGES/djangojs.po b/cms/locale/tr/LC_MESSAGES/djangojs.po index 9ffab782517..e2a7f8249ed 100644 --- a/cms/locale/tr/LC_MESSAGES/djangojs.po +++ b/cms/locale/tr/LC_MESSAGES/djangojs.po @@ -1,42 +1,41 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" -"Language-Team: Turkish \n" +"Language-Team: Turkish (http://www.transifex.net/projects/p/django-cms/team/" +"tr/)\n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" "Plural-Forms: nplurals=1; plural=0\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "" "Önce sayfayı kaydetmeden %(field_name)s'i kaydetmek istediğinize emin " "misiniz?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "" -"Önce sayfayı kaydetmeden sekmeleri değiştirmek istediğinize emin " -"misiniz?" +"Önce sayfayı kaydetmeden sekmeleri değiştirmek istediğinize emin misiniz?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "Bu eklentiyi silmek istediğinize emin misiniz?" diff --git a/cms/locale/zh_CN/LC_MESSAGES/django.mo b/cms/locale/zh_CN/LC_MESSAGES/django.mo index a06953eedef..f1089926741 100644 Binary files a/cms/locale/zh_CN/LC_MESSAGES/django.mo and b/cms/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/cms/locale/zh_CN/LC_MESSAGES/django.po b/cms/locale/zh_CN/LC_MESSAGES/django.po index 6be368d4eeb..15db472eac4 100644 --- a/cms/locale/zh_CN/LC_MESSAGES/django.po +++ b/cms/locale/zh_CN/LC_MESSAGES/django.po @@ -1,319 +1,435 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:12+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:47-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"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" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "编辑模式" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "发表" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "通过请求" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "注销" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "模板" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "移动/添加页面" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "添加子页面" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "添加同级页面" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "删除页" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "页" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "站点管理" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "页面设置" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "查看履历" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "高级选项" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "标题" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "默认标题" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "缩略名" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "部分标题被用在了URL中" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "语言" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "本内容当前使用的语言。" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "其他页面已经使用了该缩略名" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "菜单标题" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "覆盖菜单上的显示" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "页面标题" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "覆盖显示在浏览器顶部标题栏或书签中的信息" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "应用" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "附加第三方应用到本页面。" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "URL重写" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "如果使用标准路径则本项目为空。" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "转向" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "转到这个链接" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "页面的描述,有时被搜索引擎使用。" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "被搜索引擎收录的常见关键字列表" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "该URL id已经被使用。" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "无效的URL, 正确格式:/my/url" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "其他页面已经使用了该缩略名" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "用户" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." msgstr "新增页面的权限同时赋予其子页面,否则新增页面不能被其建立者修改" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "添加页面的权限同时需要有编辑页面的权限" -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "查看" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "请首先选择用户或组。" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "新建" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "修改" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "删除" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "恢复(任何)页面" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "通知用户" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." +"Send email notification to user about username or password change. Requires " +"user email." msgstr "发送电子邮件通知用户关于用户名或密码变更的消息。需要用户的邮件地址。" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "新的密码" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "再输一次新密码" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "需要有效的电子邮件地址来发送邮件通知。" -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "添加一个新页面要求有修改页面的权限" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "添加一个新用户要求有修改用户的权限" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "修改权限要求你有权限编辑他们" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "隐藏" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "基本设置" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "注意:如果你修改了选项,页面将会重新载入。请先保存" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "隐藏" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "高级设置" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "SEO设置" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "您没有权限修改本页面" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "更高" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "数据库错误" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "页面" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "本页已获批准。" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "拥有 %(key)r 主键的 %(name)s 对象不存在。" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "当前页面仅有一种译文" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "使用 %(language)s 译文的标题和插件被删除" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "您确认码?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "你没有权限发布此页" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "你没有权限修改这个页面的浏览模式" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "您没有权限修改本页面" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "语言项目必须被设置为支持的语言!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s 插件被加载到 %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "您没有权限修改本页面" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "该语言必须和被复制的语言不同!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "您没有权限修改本页面" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "复制%(language)s 插件到 %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "您没有权限修改本页面" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "您没有权限修改本页面" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "%(plugin_name)s 插件在 %(placeholder)s 的位置 %(position)s 处被修改" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "您没有权限修改本页面" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "已移动的插件" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "您没有权限修改本页面" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "%(plugin_name)s 插件在 %(placeholder)s 的位置 %(position)s 处被删除" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "页面权限" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "用户/组权限" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "页面权限管理" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "您没有权限修改本页面" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "您没有权限修改本页面" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "您没有权限修改本页面" + +#: admin/useradmin.py:25 msgid "User details" msgstr "用户详情" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "组" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "密码" @@ -325,7 +441,7 @@ msgstr "复制权限" msgid "Copy moderation" msgstr "复制核对选项" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "继承最近的上级页面模板" @@ -345,27 +461,37 @@ msgstr "添加其他" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "语言" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "页面" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "位置" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "创建日期" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "插槽" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "插件名称" @@ -390,15 +516,15 @@ msgstr "缩略名" msgid "everybody" msgstr "所有人" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "可以修改" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "组" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "可以发布" @@ -436,28 +562,28 @@ msgstr "作者" msgid "reverse url id" msgstr "URL id 倒序" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "需要登录" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "伪根节点" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "发表结束日期" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "模板" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "发表日期" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "导航中" @@ -467,7 +593,7 @@ msgstr "导航中" msgid "application" msgstr "应用" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "编号" @@ -504,26 +630,21 @@ msgstr "子页面" msgid "Page and descendants" msgstr "页面及所有下级页面" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "页" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "用户" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "核对页面" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "核对子页面" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "核对下级页面" @@ -531,189 +652,196 @@ msgstr "核对下级页面" msgid "PageModerator" msgstr "页面核对" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "已创建" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "已变更" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "(删除)请求" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "(移动)请求" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "(发表)请求" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "(取消发表)请求" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "已批准" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "页面核对状态" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "页面核对状态" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "需要批准" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "删除" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "需上一级权限批准" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "登录用户专用" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "匿名用户专用" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "创建者" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "修正者" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "要使得本页面可用,页面状态必须设置为“已发布”。" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "页面失效时间,留空则永不过期。" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "所有的上级页面将不会在导航中显示" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "一个唯一的标志使用模板标记 page_url 来链接到本页面" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "附带的菜单" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "已被发表" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "该模板用来生成页面内容。" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "页面进入点" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "站点" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "核对状态" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "菜单可见性" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "该页在菜单可见时限制" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "页面" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "页面已被复制。" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "默认" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "允许新建" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "允许删除" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "允许修改高级设置" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "允许修改权限" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "在页面级别" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "可以移动" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "可以核对" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "允许恢复页面" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "能恢复任何已删除的页面" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "如果没有选择,所有用户将授予整个网站的权限" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "站点" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "页面全局权限" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "页面全局权限" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "授权给" @@ -721,28 +849,28 @@ msgstr "授权给" msgid "Page permission" msgstr "页面权限" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "用户(页面)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "用户(页面)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "用户组(页面)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "用户组(页面)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "宽" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "<空>" @@ -767,6 +895,10 @@ msgstr "文件" msgid "file" msgstr "文件" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -780,9 +912,17 @@ msgstr "使用swf文件" msgid "height" msgstr "高" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "没有找到Flash插件" +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "" +"flash插件缺失. 请在 这里下载" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -840,19 +980,19 @@ msgstr "路由计划" msgid "Map" msgstr "地图" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "您的地址:" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "路由计算" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "从页面继承插件" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "语言或页面必须被填写" @@ -878,7 +1018,7 @@ msgid "name" msgstr "名称" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "链接" @@ -899,40 +1039,44 @@ msgstr "E-mail邮箱地址优先文字链接" msgid "Picture" msgstr "图片" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "左" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "右" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "图像" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "如果提供的话,该图片将可被点击" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "可选文本" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "图片的文本描述" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "详细描述" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "图像的附加描述" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "位置" @@ -952,8 +1096,7 @@ msgstr "HTML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "输入用来生成页面的模板(例如 \"snippets/plugin_xy.html\")" #: plugins/snippet/models.py:25 @@ -973,6 +1116,7 @@ msgid "If present image will be clickable." msgstr "如果提供,该图片将可以被点击。" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "更多" @@ -990,51 +1134,52 @@ msgstr "插件" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "请选择插件类型" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "编辑选定的插件" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "文本编辑器不支持编辑此对象。" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "没有对象被选中" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "文本编辑器不支持插入此对象。" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "不是一个插件" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "可用的插件" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "插入插件" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "推特" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "Twitter搜索" @@ -1069,8 +1214,33 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" "例子:\"brains AND zombies AND from:umbrella AND to:nemesis\": tweets from " -"the user \"umbrella\" to the user \"nemesis\" that contain the words " -"\"brains\" and \"zombies\"" +"the user \"umbrella\" to the user \"nemesis\" that contain the words \"brains" +"\" and \"zombies\"" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "加载中..." #: plugins/video/cms_plugins.py:10 msgid "Video" @@ -1093,10 +1263,12 @@ msgid "movie url" msgstr "电影url" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" -msgstr "vimeo或youtube视频的url。例如: http://www.youtube.com/watch?v=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" +msgstr "" +"vimeo或youtube视频的url。例如: http://www.youtube.com/watch?v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1157,15 +1329,9 @@ msgstr "按钮指针移入颜色" msgid "button highlight color" msgstr "按钮按下颜色" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "flash插件缺失. 请在 这里下载" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "保存" @@ -1183,20 +1349,17 @@ msgid "Save and add another" msgstr "保存并追加" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "保存并继续编辑" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "页面 %(page)s 需要你的授权" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "最新的变更" @@ -1205,28 +1368,21 @@ msgstr "最新的变更" msgid "Log in to administration here." msgstr "登录到管理界面 请点这里。" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "登录链接 %(login_url)s" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "用户名:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "密码:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "修改一个页面" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1234,78 +1390,78 @@ msgstr "修改一个页面" msgid "Home" msgstr "首页" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "批准删除页面" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(请求在 %(moderation_level)s 级别批准)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(您可以直接在此页面执行操作)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "移去删除请求" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "批准删除" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "批准" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "草案" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "预览" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "历史" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "查看结果" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "请更正以下的错误。" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "所有权限" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "加载中..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "页面状态" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "本页面必须在 %(moderation_level)s 级别进行核对,请发送消息进行核对。" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "请求批准" @@ -1313,41 +1469,41 @@ msgstr "请求批准" msgid "List of pages" msgstr "页面一览" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "移动完成" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "错误发生,请重载当前页面" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "恢复删除的%(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "添加%(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "页面在:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "过滤器:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "开" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "关" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "过滤" @@ -1371,7 +1527,11 @@ msgstr "开始" msgid "end" msgstr "结束" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "最新变更" @@ -1385,8 +1545,7 @@ msgid "edit this page" msgstr "编辑当前页面" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "编辑" @@ -1442,7 +1601,6 @@ msgid "add" msgstr "添加" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "立即获准" @@ -1456,11 +1614,6 @@ msgstr "查看" msgid "Unpublish" msgstr "取消发表" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "发表" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "在当前页面查看" @@ -1505,28 +1658,38 @@ msgstr "允许修改权限" msgid "Can move" msgstr "允许移动" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "允许移动" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(全局的)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(当前的)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "全部" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "页面不继承任何权限。" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "不能保存该插件的历史版本!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "插件成功保存。" @@ -1561,7 +1724,6 @@ msgid "Generic" msgstr "普通的" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "添加插件" @@ -1585,126 +1747,62 @@ msgstr "没有插件被选中。请从左边选择一个" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "当前没有插件。请添加插件到这个预留的位置。" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "可用的插件" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "移动到%(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "您确认要删除当前插件吗?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "编辑模式" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "上" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "状态" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "下" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "用户名" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "登录" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "通过请求" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "模板" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "移动" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "移动/添加页面" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "添加子页面" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "添加子页面" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "添加同级页面" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "添加同级页面" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "删除页" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "站点管理" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "页面设置" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "历史" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "查看履历" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "注销" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "锁定" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "关闭" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "上" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "下" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "状态" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "设置" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "删除插件" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "取消页面核对" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "取消子页面核对" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "取消下级页面核对" @@ -1716,106 +1814,123 @@ msgstr "该页面在 %(domain)s 中未找到" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" -msgstr "模板标签无法找到`%(page_lookup)s `所对应的页面。源请求页面为http://%(host)s%(path)s" +msgstr "" +"模板标签无法找到`%(page_lookup)s `所对应的页面。源请求页面为http://%(host)s" +"%(path)s" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "英语" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - 您的用户帐号已创建。" -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "法语" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - 您的用户帐号已变更。" -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "德语" +#: utils/moderator.py:83 +msgid "parent first" +msgstr "父级优先" -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "巴西语" +#: utils/moderator.py:90 +msgid "approve" +msgstr "批准" -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "荷兰语" +#: utils/moderator.py:251 +#, python-format +msgid "CMS - Page %s requires approvement." +msgstr "CMS - 页面[%s]请求批准。" -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "两列" +#~ msgid "Missing flash plugin." +#~ msgstr "没有找到Flash插件" -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "三列" +#~ msgid "Login url: %(login_url)s" +#~ msgstr "登录链接 %(login_url)s" -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "导航案例" +#~ msgid "Move to %(name)s" +#~ msgstr "移动到%(name)s" -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "边栏列" +#~ msgid "move" +#~ msgstr "移动" -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "左列" +#~ msgid "add child" +#~ msgstr "添加子页面" -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "右列" +#~ msgid "add sibling" +#~ msgstr "添加同级页面" -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "文章" +#~ msgid "history" +#~ msgstr "历史" -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "示例应用程序" +#~ msgid "Lock" +#~ msgstr "锁定" -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "示例根页面" +#~ msgid "Close" +#~ msgstr "关闭" -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "示例设置页" +#~ msgid "Settings" +#~ msgstr "设置" -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "示例账户页" +#~ msgid "Delete Plugin" +#~ msgstr "删除插件" -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "示例个人简介页" +#~ msgid "English" +#~ msgstr "英语" -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "静态菜单" +#~ msgid "French" +#~ msgstr "法语" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "静态菜单2" +#~ msgid "German" +#~ msgstr "德语" -#: utils/moderator.py:83 -msgid "parent first" -msgstr "父级优先" +#~ msgid "Brazil" +#~ msgstr "巴西语" -#: utils/moderator.py:90 -msgid "approve" -msgstr "批准" +#~ msgid "Dutch" +#~ msgstr "荷兰语" -#: utils/moderator.py:251 -#, python-format -msgid "CMS - Page %s requires approvement." -msgstr "CMS - 页面[%s]请求批准。" +#~ msgid "two columns" +#~ msgstr "两列" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - 您的用户帐号已创建。" +#~ msgid "three columns" +#~ msgstr "三列" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - 您的用户帐号已变更。" +#~ msgid "navigation examples" +#~ msgstr "导航案例" + +#~ msgid "sidebar column" +#~ msgstr "边栏列" + +#~ msgid "left column" +#~ msgstr "左列" + +#~ msgid "right column" +#~ msgstr "右列" + +#~ msgid "Articles" +#~ msgstr "文章" + +#~ msgid "Sample App" +#~ msgstr "示例应用程序" + +#~ msgid "sample root page" +#~ msgstr "示例根页面" + +#~ msgid "sample settings page" +#~ msgstr "示例设置页" + +#~ msgid "sample account page" +#~ msgstr "示例账户页" + +#~ msgid "sample my profile page" +#~ msgstr "示例个人简介页" + +#~ msgid "Static Menu" +#~ msgstr "静态菜单" + +#~ msgid "Static Menu2" +#~ msgstr "静态菜单2" #~ msgid "fgcolor" #~ msgstr "前景色" diff --git a/cms/locale/zh_CN/LC_MESSAGES/djangojs.mo b/cms/locale/zh_CN/LC_MESSAGES/djangojs.mo index 82f87d182a0..76fa6a1abe4 100644 Binary files a/cms/locale/zh_CN/LC_MESSAGES/djangojs.mo and b/cms/locale/zh_CN/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/zh_CN/LC_MESSAGES/djangojs.po b/cms/locale/zh_CN/LC_MESSAGES/djangojs.po index 4bd48ce3077..f2ded13fba5 100644 --- a/cms/locale/zh_CN/LC_MESSAGES/djangojs.po +++ b/cms/locale/zh_CN/LC_MESSAGES/djangojs.po @@ -1,38 +1,38 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" -"Last-Translator: aaffdd11 \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:44-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" +"Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"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" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "您确认将在没有保存本页面之前改变%(field_name)s吗?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." -msgstr "不是所有的插件都已经保存。您确定要保存页面吗?所有为保存的插件将被尝试保存。" +msgstr "" +"不是所有的插件都已经保存。您确定要保存页面吗?所有为保存的插件将被尝试保存。" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "您确认将在没有保存本页面之前改变当前标签页吗?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "您确认要删除这个插件吗?" diff --git a/cms/locale/zh_TW/LC_MESSAGES/django.mo b/cms/locale/zh_TW/LC_MESSAGES/django.mo index e0d1a37d208..a150a7cd2d1 100644 Binary files a/cms/locale/zh_TW/LC_MESSAGES/django.mo and b/cms/locale/zh_TW/LC_MESSAGES/django.mo differ diff --git a/cms/locale/zh_TW/LC_MESSAGES/django.po b/cms/locale/zh_TW/LC_MESSAGES/django.po index a4adc3cd7be..3b6414b1de4 100644 --- a/cms/locale/zh_TW/LC_MESSAGES/django.po +++ b/cms/locale/zh_TW/LC_MESSAGES/django.po @@ -1,319 +1,438 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:20-0600\n" -"PO-Revision-Date: 2011-02-16 17:11+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:48-0500\n" +"PO-Revision-Date: 2011-03-22 15:24+0000\n" "Last-Translator: ojii \n" "Language-Team: divio.ch \n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Poedit-Country: SWITZERLAND\n" "X-Poedit-Language: English\n" "X-Poedit-SourceCharset: utf-8\n" -#: plugin_base.py:100 +#: cms_toolbar.py:68 +msgid "Edit mode" +msgstr "編輯模式" + +#: cms_toolbar.py:77 +msgid "django CMS" +msgstr "" + +#: cms_toolbar.py:108 templates/admin/cms/page/menu_item.html:73 +msgid "Publish" +msgstr "發佈" + +#: cms_toolbar.py:112 +msgid "Request Approval" +msgstr "" + +#: cms_toolbar.py:127 cms_toolbar.py:136 +msgid "Logout" +msgstr "登出" + +#: cms_toolbar.py:152 +msgid "Template" +msgstr "模板" + +#: cms_toolbar.py:160 +msgid "Move/add Pages" +msgstr "搬移/添加頁面" + +#: cms_toolbar.py:165 +msgid "Add child page" +msgstr "添加子網頁" + +#: cms_toolbar.py:171 +msgid "Add sibling page" +msgstr "添加同級網頁" + +#: cms_toolbar.py:177 +msgid "Delete Page" +msgstr "刪除網頁" + +#: cms_toolbar.py:180 models/moderatormodels.py:45 +#: templates/admin/cms/page/permissions.html:5 +msgid "Page" +msgstr "網頁" + +#: cms_toolbar.py:189 +msgid "Site Administration" +msgstr "網站管理" + +#: cms_toolbar.py:195 +msgid "Page Settings" +msgstr "網頁設置" + +#: cms_toolbar.py:201 +msgid "View History" +msgstr "查看歷史" + +#: cms_toolbar.py:205 +msgid "Admin" +msgstr "" + +#: plugin_base.py:65 msgid "Advanced options" msgstr "進階選項" -#: admin/forms.py:52 +#: admin/forms.py:59 msgid "Title" msgstr "標題" -#: admin/forms.py:53 +#: admin/forms.py:60 msgid "The default title" msgstr "預設標題" -#: admin/forms.py:54 +#: admin/forms.py:61 msgid "Slug" msgstr "簡略標題" -#: admin/forms.py:55 +#: admin/forms.py:62 msgid "The part of the title that is used in the URL" msgstr "在 URL 中使用的部分標題" -#: admin/forms.py:56 +#: admin/forms.py:63 msgid "Language" msgstr "語言" -#: admin/forms.py:57 +#: admin/forms.py:64 msgid "The current language of the content fields." msgstr "內容欄位目前使用的語言。" -#: admin/forms.py:110 +#: admin/forms.py:117 msgid "Another page with this slug already exists" msgstr "已存在有相同簡略標題的另一網頁" -#: admin/forms.py:128 +#: admin/forms.py:135 msgid "Menu Title" msgstr "選單標題" -#: admin/forms.py:129 +#: admin/forms.py:136 msgid "Overwrite what is displayed in the menu" msgstr "取代在選單中的顯示標題" -#: admin/forms.py:130 +#: admin/forms.py:137 msgid "Page Title" msgstr "網頁標題" -#: admin/forms.py:131 +#: admin/forms.py:138 msgid "Overwrites what is displayed at the top of your browser or in bookmarks" msgstr "取代在瀏覽器頂端或書籤內的顯示標題" -#: admin/forms.py:132 +#: admin/forms.py:139 msgid "Application" msgstr "應用套件" -#: admin/forms.py:134 +#: admin/forms.py:141 msgid "Hook application to this page." msgstr "將應用套件掛入此網頁" -#: admin/forms.py:135 +#: admin/forms.py:142 msgid "Overwrite URL" msgstr "取代 URL" -#: admin/forms.py:136 +#: admin/forms.py:143 msgid "Keep this field empty if standard path should be used." msgstr "如果標準路徑應該被使用,請將這一欄位保持空白。" -#: admin/forms.py:142 +#: admin/forms.py:149 msgid "Redirect" msgstr "重新導向" -#: admin/forms.py:143 +#: admin/forms.py:150 msgid "Redirects to this URL." msgstr "重新導向到這個 URL" -#: admin/forms.py:145 +#: admin/forms.py:152 msgid "A description of the page sometimes used by search engines." msgstr "此網頁的說明頁面,有時會被搜索引擎使用。" -#: admin/forms.py:147 +#: admin/forms.py:154 msgid "A list of comma seperated keywords sometimes used by search engines." msgstr "用逗號分隔的關鍵字列表,有時會被搜索引擎使用。" -#: admin/forms.py:163 +#: admin/forms.py:170 msgid "A page with this reverse URL id exists already." msgstr "一個有相同的反向 URL id 的網頁已經存在。" -#: admin/forms.py:171 +#: admin/forms.py:178 msgid "Invalid URL, use /my/url format." msgstr "無效的 URL,請使用類似 /my/url 的格式。" -#: admin/forms.py:182 admin/forms.py:183 migrations/0001_initial.py:41 -#: models/permissionmodels.py:17 +#: admin/forms.py:181 +#, fuzzy, python-format +msgid "Page with redirect url %r already exist" +msgstr "已存在有相同簡略標題的另一網頁" + +#: admin/forms.py:191 admin/forms.py:192 migrations/0001_initial.py:41 +#: models/permissionmodels.py:16 msgid "user" msgstr "用戶" -#: admin/forms.py:215 +#: admin/forms.py:216 msgid "" "Add page permission requires also access to children, or descendants, " "otherwise added page can't be changed by its creator." -msgstr "新增網頁的權限也需要能存取子網頁或下層網頁,否則它的建造者將無法對所新增的網頁做更改。" +msgstr "" +"新增網頁的權限也需要能存取子網頁或下層網頁,否則它的建造者將無法對所新增的網" +"頁做更改。" -#: admin/forms.py:218 +#: admin/forms.py:221 msgid "Add page permission also requires edit page permission." msgstr "新增網頁的權限也需要有編輯網頁的權限。" -#: admin/forms.py:245 +#: admin/forms.py:248 +#, fuzzy +msgid "can_view" +msgstr "查看" + +#: admin/forms.py:260 msgid "Please select user or group first." msgstr "請先選擇用戶或組群。" -#: admin/forms.py:252 admin/forms.py:259 admin/forms.py:263 -#: templates/admin/cms/page/change_form.html:65 +#: admin/forms.py:267 admin/forms.py:274 admin/forms.py:278 +#: templates/admin/cms/page/change_form.html:67 #: templates/admin/cms/page/plugin_change_form.html:70 +#: templates/cms/toolbar/placeholder.html:25 msgid "Add" msgstr "新增" -#: admin/forms.py:253 admin/forms.py:260 admin/forms.py:264 +#: admin/forms.py:268 admin/forms.py:275 admin/forms.py:279 msgid "Change" msgstr "修改" -#: admin/forms.py:254 admin/forms.py:261 admin/forms.py:265 +#: admin/forms.py:269 admin/forms.py:276 admin/forms.py:280 #: templates/admin/page_submit_line.html:5 #: templates/admin/cms/page/menu_item.html:44 msgid "Delete" msgstr "刪除" -#: admin/forms.py:255 +#: admin/forms.py:270 msgid "Recover (any) pages" msgstr "復原(任何)網頁" -#: admin/forms.py:295 +#: admin/forms.py:297 msgid "Notify user" msgstr "通知用戶" -#: admin/forms.py:296 +#: admin/forms.py:298 msgid "" -"Send email notification to user about username or password change. " -"Requires user email." -msgstr "發送電子郵件通知用戶有關的用戶名稱或密碼的變更。需要用戶的電子郵件地址。" +"Send email notification to user about username or password change. Requires " +"user email." +msgstr "" +"發送電子郵件通知用戶有關的用戶名稱或密碼的變更。需要用戶的電子郵件地址。" -#: admin/forms.py:316 +#: admin/forms.py:318 msgid "New password" msgstr "新的密碼" -#: admin/forms.py:318 +#: admin/forms.py:320 msgid "New password confirmation" msgstr "新密碼確認" -#: admin/forms.py:337 +#: admin/forms.py:339 msgid "Email notification requires valid email address." msgstr "電子郵件通知需要有效的電子郵件地址。" -#: admin/forms.py:339 +#: admin/forms.py:341 msgid "" -"The permission to add new pages requires the permission to change " -"pages!" +"The permission to add new pages requires the permission to change pages!" msgstr "新增網頁的權限需要有修改網頁的權限!" -#: admin/forms.py:341 +#: admin/forms.py:343 msgid "" -"The permission to add new users requires the permission to change " -"users!" +"The permission to add new users requires the permission to change users!" msgstr "新增用戶的權限需要有修改用戶的權限!" -#: admin/forms.py:343 +#: admin/forms.py:345 msgid "To add permissions you also need to edit them!" msgstr "要增加權限,您還需要有權限編輯它們!" -#: admin/pageadmin.py:123 admin/pageadmin.py:139 -msgid "Hidden" -msgstr "隱藏" - -#: admin/pageadmin.py:134 +#: admin/pageadmin.py:97 msgid "Basic Settings" msgstr "基本設置" -#: admin/pageadmin.py:137 +#: admin/pageadmin.py:100 msgid "Note: This page reloads if you change the selection. Save it first." msgstr "注意:如果你更改選擇,本網頁將重新載入。請先儲存。" -#: admin/pageadmin.py:143 +#: admin/pageadmin.py:102 admin/pageadmin.py:154 +msgid "Hidden" +msgstr "隱藏" + +#: admin/pageadmin.py:106 msgid "Advanced Settings" msgstr "進階設置" -#: admin/pageadmin.py:152 +#: admin/pageadmin.py:113 msgid "SEO Settings" msgstr "搜索引擎優化(SEO)設置" -#: admin/pageadmin.py:504 +#: admin/pageadmin.py:299 +#, fuzzy +msgid "You have no permission to change the template" +msgstr "你沒有權限更改此網頁" + +#: admin/pageadmin.py:485 msgid "higher" msgstr "更高" -#: admin/pageadmin.py:676 +#: admin/pageadmin.py:655 msgid "Database error" msgstr "資料庫錯誤" -#: admin/pageadmin.py:768 migrations/0001_initial.py:13 -#: migrations/0001_initial.py:26 migrations/0001_initial.py:40 -#: migrations/0001_initial.py:78 migrations/0003_remove_placeholder.py:21 -#: models/pagemodel.py:99 models/permissionmodels.py:69 -#: models/titlemodels.py:21 plugins/inherit/forms.py:9 plugins/link/forms.py:9 -#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 -#: plugins/picture/models.py:20 plugins/teaser/models.py:13 -msgid "page" -msgstr "網頁" - -#: admin/pageadmin.py:896 +#: admin/pageadmin.py:855 msgid "Page was successfully approved." msgstr "網頁被成功地核准。" -#: admin/pageadmin.py:966 +#: admin/pageadmin.py:927 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "擁有 %(key)r 主索引鍵的 %(name)s 物件不存在。" -#: admin/pageadmin.py:969 +#: admin/pageadmin.py:933 msgid "There only exists one translation for this page" msgstr "此網頁只有一種翻譯" -#: admin/pageadmin.py:991 +#: admin/pageadmin.py:969 #, python-format msgid "Title and plugins with language %(language)s was deleted" msgstr "標題和插件的 %(language)s 語言被刪除了" -#: admin/pageadmin.py:1012 +#: admin/pageadmin.py:991 msgid "Are you sure?" msgstr "您確定嗎?" -#: admin/pageadmin.py:1072 +#: admin/pageadmin.py:1052 msgid "You do not have permission to publish this page" msgstr "你沒有權限發佈此網頁" -#: admin/pageadmin.py:1088 +#: admin/pageadmin.py:1066 msgid "You do not have permission to change this page's in_navigation status" msgstr "你沒有權限更改此網頁的 in_navigation 狀態" -#: admin/pageadmin.py:1133 admin/pageadmin.py:1167 -msgid "You do not have permission to change this page" +#: admin/pageadmin.py:1079 +#, fuzzy +msgid "You have no permission to add a plugin" msgstr "你沒有權限更改此網頁" -#: admin/pageadmin.py:1137 admin/pageadmin.py:1169 +#: admin/pageadmin.py:1126 admin/pageadmin.py:1158 msgid "Language must be set to a supported language!" msgstr "語言必須設定為一種被支持的語言!" -#: admin/pageadmin.py:1149 +#: admin/pageadmin.py:1138 #, python-format msgid "%(plugin_name)s plugin added to %(placeholder)s" msgstr "%(plugin_name)s 插件被加到 %(placeholder)s" -#: admin/pageadmin.py:1171 +#: admin/pageadmin.py:1156 +msgid "You do not have permission to change this page" +msgstr "你沒有權限更改此網頁" + +#: admin/pageadmin.py:1160 msgid "Language must be different than the copied language!" msgstr "語言必須是不同的於被複製的語言!" -#: admin/pageadmin.py:1179 +#: admin/pageadmin.py:1166 +#, fuzzy +msgid "You do not have permission to add plugins" +msgstr "你沒有權限更改此網頁" + +#: admin/pageadmin.py:1173 #, python-format msgid "Copied %(language)s plugins to %(placeholder)s" msgstr "複製 %(language)s 插件到 %(placeholder)s" -#: admin/pageadmin.py:1260 +#: admin/pageadmin.py:1186 admin/pageadmin.py:1294 admin/pageadmin.py:1316 +#, fuzzy +msgid "You have no permission to change this page" +msgstr "你沒有權限更改此網頁" + +#: admin/pageadmin.py:1221 +#, fuzzy +msgid "You have no permission to edit a plugin" +msgstr "你沒有權限更改此網頁" + +#: admin/pageadmin.py:1256 #, python-format msgid "" -"%(plugin_name)s plugin edited at position %(position)s in " -"%(placeholder)s" +"%(plugin_name)s plugin edited at position %(position)s in %(placeholder)s" msgstr "%(plugin_name)s 插件於 %(position)s 位置的 %(placeholder)s 內被編輯" -#: admin/pageadmin.py:1318 +#: admin/pageadmin.py:1311 +#, fuzzy +msgid "You have no permission to move a plugin" +msgstr "你沒有權限更改此網頁" + +#: admin/pageadmin.py:1329 msgid "Plugins where moved" msgstr "插件被移動" -#: admin/pageadmin.py:1345 admin/placeholderadmin.py:216 +#: admin/pageadmin.py:1343 +#, fuzzy +msgid "You have no permission to remove a plugin" +msgstr "你沒有權限更改此網頁" + +#: admin/pageadmin.py:1361 admin/placeholderadmin.py:292 #, python-format msgid "" "%(plugin_name)s plugin at position %(position)s in %(placeholder)s was " "deleted." msgstr "%(plugin_name)s 插件於 %(position)s 位置的 %(placeholder)s 內被刪除。" -#: admin/permissionadmin.py:114 models/permissionmodels.py:75 +#: admin/permissionadmin.py:72 +msgid "View restriction" +msgstr "" + +#: admin/permissionadmin.py:73 +msgid "View restrictions" +msgstr "" + +#: admin/permissionadmin.py:133 models/permissionmodels.py:75 msgid "Page permissions" msgstr "網頁的權限" -#: admin/permissionadmin.py:115 +#: admin/permissionadmin.py:134 msgid "User & Group permissions" msgstr "用戶和組群的權限" -#: admin/permissionadmin.py:116 +#: admin/permissionadmin.py:135 msgid "Page permissions management" msgstr "網頁權限管理" -#: admin/useradmin.py:23 +#: admin/placeholderadmin.py:150 admin/placeholderadmin.py:191 +#, fuzzy +msgid "You don't have permission to add content here." +msgstr "你沒有權限更改此網頁" + +#: admin/placeholderadmin.py:187 +#, fuzzy +msgid "You don't have permission to add plugins" +msgstr "你沒有權限更改此網頁" + +#: admin/placeholderadmin.py:288 +#, fuzzy +msgid "You don't have permission to delete a plugin" +msgstr "你沒有權限更改此網頁" + +#: admin/useradmin.py:25 msgid "User details" msgstr "用戶詳細資料" -#: admin/useradmin.py:24 +#: admin/useradmin.py:26 msgid "Groups" msgstr "組群" -#: admin/useradmin.py:34 templates/cms/toolbar/toolbar.html:155 +#: admin/useradmin.py:36 templates/cms/toolbar/items/login.html:7 msgid "Password" msgstr "密碼" @@ -325,7 +444,7 @@ msgstr "複製權限" msgid "Copy moderation" msgstr "複製管制權限" -#: conf/patch.py:27 +#: conf/patch.py:28 msgid "Inherit the template of the nearest ancestor" msgstr "繼承最近的上層網頁模板" @@ -345,27 +464,37 @@ msgstr "添加另一件" #: migrations/0001_initial.py:75 migrations/0003_remove_placeholder.py:18 #: migrations/0010_5char_language.py:12 migrations/0010_5char_language.py:15 #: migrations/0010_5char_language.py:22 migrations/0010_5char_language.py:25 -#: models/pluginmodel.py:61 models/titlemodels.py:10 +#: models/pluginmodel.py:79 models/titlemodels.py:10 #: plugins/inherit/models.py:11 msgid "language" msgstr "語言" +#: migrations/0001_initial.py:13 migrations/0001_initial.py:26 +#: migrations/0001_initial.py:40 migrations/0001_initial.py:78 +#: migrations/0003_remove_placeholder.py:21 models/pagemodel.py:104 +#: models/permissionmodels.py:69 models/titlemodels.py:21 +#: plugins/inherit/forms.py:9 plugins/link/forms.py:9 +#: plugins/link/models.py:12 plugins/link/migrations/0001_initial.py:19 +#: plugins/picture/models.py:22 plugins/teaser/models.py:13 +msgid "page" +msgstr "網頁" + #: migrations/0001_initial.py:14 migrations/0004_textobjects.py:12 -#: migrations/0004_textobjects.py:22 models/pluginmodel.py:60 +#: migrations/0004_textobjects.py:22 models/pluginmodel.py:78 msgid "position" msgstr "位置" #: migrations/0001_initial.py:15 migrations/0001_initial.py:29 -#: models/pluginmodel.py:63 models/titlemodels.py:22 +#: models/pluginmodel.py:81 models/titlemodels.py:22 msgid "creation date" msgstr "創建日期" #: migrations/0001_initial.py:16 migrations/0001_initial.py:77 -#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:11 +#: migrations/0003_remove_placeholder.py:20 models/placeholdermodel.py:13 msgid "slot" msgstr "插槽" -#: migrations/0001_initial.py:18 models/pluginmodel.py:62 +#: migrations/0001_initial.py:18 models/pluginmodel.py:80 msgid "plugin_name" msgstr "插件名稱" @@ -390,15 +519,15 @@ msgstr "簡略標題" msgid "everybody" msgstr "所有人" -#: migrations/0001_initial.py:37 models/permissionmodels.py:21 +#: migrations/0001_initial.py:37 models/permissionmodels.py:20 msgid "can edit" msgstr "可以編輯" -#: migrations/0001_initial.py:38 models/permissionmodels.py:18 +#: migrations/0001_initial.py:38 models/permissionmodels.py:17 msgid "group" msgstr "組群" -#: migrations/0001_initial.py:39 models/permissionmodels.py:25 +#: migrations/0001_initial.py:39 models/permissionmodels.py:24 msgid "can publish" msgstr "可以發佈" @@ -436,28 +565,28 @@ msgstr "作者" msgid "reverse url id" msgstr "反向 url id" -#: migrations/0001_initial.py:59 models/pagemodel.py:82 +#: migrations/0001_initial.py:59 models/pagemodel.py:84 msgid "login required" msgstr "需要登入" -#: migrations/0001_initial.py:60 models/pagemodel.py:67 +#: migrations/0001_initial.py:60 models/pagemodel.py:69 msgid "soft root" msgstr "軟性根目錄" -#: migrations/0001_initial.py:63 models/pagemodel.py:65 +#: migrations/0001_initial.py:63 models/pagemodel.py:67 msgid "publication end date" msgstr "發佈結束日期" -#: migrations/0001_initial.py:64 models/pagemodel.py:72 +#: migrations/0001_initial.py:64 models/pagemodel.py:74 #: plugins/snippet/models.py:14 msgid "template" msgstr "模板" -#: migrations/0001_initial.py:66 models/pagemodel.py:64 +#: migrations/0001_initial.py:66 models/pagemodel.py:66 msgid "publication date" msgstr "發佈日期" -#: migrations/0001_initial.py:67 models/pagemodel.py:66 +#: migrations/0001_initial.py:67 models/pagemodel.py:68 #: templates/admin/cms/page/change_list_tree.html:9 msgid "in navigation" msgstr "出現在導航中" @@ -467,7 +596,7 @@ msgstr "出現在導航中" msgid "application" msgstr "應用套件" -#: migrations/0006_apphook.py:65 models/pagemodel.py:68 +#: migrations/0006_apphook.py:65 models/pagemodel.py:70 msgid "id" msgstr "id" @@ -504,26 +633,21 @@ msgstr "下層網頁" msgid "Page and descendants" msgstr "網頁與下層網頁" -#: models/moderatormodels.py:45 templates/admin/cms/page/permissions.html:5 -#: templates/cms/toolbar/toolbar.html:193 -msgid "Page" -msgstr "網頁" - #: models/moderatormodels.py:46 #: templates/admin/cms/page/moderation_messages.html:6 #: templates/admin/cms/page/permissions.html:6 msgid "User" msgstr "用戶" -#: models/moderatormodels.py:50 templatetags/cms_admin.py:85 +#: models/moderatormodels.py:50 templatetags/cms_admin.py:99 msgid "Moderate page" msgstr "管制網頁" -#: models/moderatormodels.py:51 templatetags/cms_admin.py:86 +#: models/moderatormodels.py:51 templatetags/cms_admin.py:100 msgid "Moderate children" msgstr "管制子網頁" -#: models/moderatormodels.py:52 templatetags/cms_admin.py:87 +#: models/moderatormodels.py:52 templatetags/cms_admin.py:101 msgid "Moderate descendants" msgstr "管制下層網頁" @@ -531,189 +655,196 @@ msgstr "管制下層網頁" msgid "PageModerator" msgstr "網頁管制者" -#: models/moderatormodels.py:98 +#: models/moderatormodels.py:99 msgid "created" msgstr "創建" -#: models/moderatormodels.py:99 models/pagemodel.py:42 +#: models/moderatormodels.py:100 models/pagemodel.py:44 msgid "changed" msgstr "已變更" -#: models/moderatormodels.py:100 +#: models/moderatormodels.py:101 msgid "delete req." msgstr "刪除請求" -#: models/moderatormodels.py:101 +#: models/moderatormodels.py:102 msgid "move req." msgstr "搬移請求" -#: models/moderatormodels.py:102 +#: models/moderatormodels.py:103 msgid "publish req." msgstr "發佈請求" -#: models/moderatormodels.py:103 +#: models/moderatormodels.py:104 msgid "unpublish req." msgstr "取消發佈請求" -#: models/moderatormodels.py:104 models/pagemodel.py:45 +#: models/moderatormodels.py:105 models/pagemodel.py:47 msgid "approved" msgstr "已核准" -#: models/moderatormodels.py:116 +#: models/moderatormodels.py:117 msgid "Page moderator state" msgstr "網頁管制狀態" -#: models/moderatormodels.py:117 +#: models/moderatormodels.py:118 msgid "Page moderator states" msgstr "網頁管制狀態" -#: models/pagemodel.py:43 +#: models/pagemodel.py:45 msgid "req. app." msgstr "需要認可" -#: models/pagemodel.py:44 templates/admin/cms/page/menu_item.html:44 -#: templates/cms/toolbar/toolbar.html:200 -#: templates/cms/toolbar/toolbar.html:239 utils/moderator.py:90 +#: models/pagemodel.py:46 templates/admin/cms/page/menu_item.html:44 +#: templates/cms/toolbar/toolbar.html:57 utils/moderator.py:90 msgid "delete" msgstr "刪除" -#: models/pagemodel.py:46 +#: models/pagemodel.py:48 msgid "app. par." msgstr "已認可,等待上層被認可" -#: models/pagemodel.py:50 +#: models/pagemodel.py:52 msgid "for logged in users only" msgstr "" -#: models/pagemodel.py:51 +#: models/pagemodel.py:53 msgid "for anonymous users only" msgstr "" -#: models/pagemodel.py:59 +#: models/pagemodel.py:61 msgid "created by" msgstr "創建者" -#: models/pagemodel.py:60 templates/admin/cms/page/change_list_tree.html:19 +#: models/pagemodel.py:62 templates/admin/cms/page/change_list_tree.html:20 msgid "changed by" msgstr "修改者" -#: models/pagemodel.py:64 +#: models/pagemodel.py:66 msgid "" -"When the page should go live. Status must be \"Published\" for page to go" -" live." +"When the page should go live. Status must be \"Published\" for page to go " +"live." msgstr "何時此網頁要正式發表。狀態必須是\"發佈\"才會使網頁發表出去。" -#: models/pagemodel.py:65 +#: models/pagemodel.py:67 msgid "When to expire the page. Leave empty to never expire." msgstr "何時讓此網頁過期。若留空白則永不過期。" -#: models/pagemodel.py:67 +#: models/pagemodel.py:69 msgid "All ancestors will not be displayed in the navigation" msgstr "所有的上層網頁將不會顯示在導航中" -#: models/pagemodel.py:68 +#: models/pagemodel.py:70 msgid "" -"An unique identifier that is used with the page_url templatetag for " -"linking to this page" +"An unique identifier that is used with the page_url templatetag for linking " +"to this page" msgstr "一個唯一的識別碼,與 page_url 模板標籤一起用於做連結到此網頁" -#: models/pagemodel.py:69 +#: models/pagemodel.py:71 msgid "attached menu" msgstr "" -#: models/pagemodel.py:70 +#: models/pagemodel.py:72 msgid "is published" msgstr "已被發佈" -#: models/pagemodel.py:72 +#: models/pagemodel.py:74 msgid "The template used to render the content." msgstr "用於呈現內容的模板。" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "The site the page is accessible at." msgstr "可在這個網站取用此網頁。" -#: models/pagemodel.py:73 +#: models/pagemodel.py:75 msgid "site" msgstr "網站" -#: models/pagemodel.py:75 +#: models/pagemodel.py:77 msgid "moderator state" msgstr "管制員狀態" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "menu visibility" msgstr "" -#: models/pagemodel.py:83 +#: models/pagemodel.py:85 msgid "limit when this page is visible in the menu" msgstr "" -#: models/pagemodel.py:100 +#: models/pagemodel.py:105 msgid "pages" msgstr "網頁" -#: models/pagemodel.py:243 +#: models/pagemodel.py:267 msgid "Page was copied." msgstr "網頁已被複製。" -#: models/pagemodel.py:712 +#: models/pagemodel.py:698 msgid "default" msgstr "預設" -#: models/permissionmodels.py:22 +#: models/permissionmodels.py:21 msgid "can add" msgstr "可以添加" -#: models/permissionmodels.py:23 +#: models/permissionmodels.py:22 msgid "can delete" msgstr "可以刪除" -#: models/permissionmodels.py:24 +#: models/permissionmodels.py:23 msgid "can change advanced settings" msgstr "可以更改進階設置" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "can change permissions" msgstr "可以更改權限" -#: models/permissionmodels.py:26 +#: models/permissionmodels.py:25 msgid "on page level" msgstr "於網頁層級" -#: models/permissionmodels.py:27 +#: models/permissionmodels.py:26 msgid "can move" msgstr "可搬移" -#: models/permissionmodels.py:28 +#: models/permissionmodels.py:27 msgid "can moderate" msgstr "可管制" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:28 +msgid "view restricted" +msgstr "" + +#: models/permissionmodels.py:28 +msgid "frontend view restriction" +msgstr "" + +#: models/permissionmodels.py:51 msgid "can recover pages" msgstr "可以復原網頁" -#: models/permissionmodels.py:52 +#: models/permissionmodels.py:51 msgid "can recover any deleted page" msgstr "可以復原任何已刪除的網頁" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "If none selected, user haves granted permissions to all sites." msgstr "如果沒有選任何項目,用戶則授予所有網站的權限。" -#: models/permissionmodels.py:53 +#: models/permissionmodels.py:52 msgid "sites" msgstr "網站" -#: models/permissionmodels.py:58 +#: models/permissionmodels.py:57 msgid "Page global permission" msgstr "網頁全站權限" -#: models/permissionmodels.py:59 +#: models/permissionmodels.py:58 msgid "Pages global permissions" msgstr "網頁全站權限" -#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:14 +#: models/permissionmodels.py:68 templates/admin/cms/page/permissions.html:15 msgid "Grant on" msgstr "授權於" @@ -721,28 +852,28 @@ msgstr "授權於" msgid "Page permission" msgstr "網頁權限" -#: models/permissionmodels.py:88 +#: models/permissionmodels.py:89 msgid "User (page)" msgstr "用戶(網頁)" -#: models/permissionmodels.py:89 +#: models/permissionmodels.py:90 msgid "Users (page)" msgstr "用戶(網頁)" -#: models/permissionmodels.py:101 +#: models/permissionmodels.py:100 msgid "User group (page)" msgstr "用戶組群(網頁)" -#: models/permissionmodels.py:102 +#: models/permissionmodels.py:101 msgid "User groups (page)" msgstr "用戶組群(網頁)" -#: models/placeholdermodel.py:12 plugins/flash/models.py:9 +#: models/placeholdermodel.py:14 plugins/flash/models.py:9 #: plugins/flash/migrations/0001_initial.py:16 plugins/video/models.py:13 msgid "width" msgstr "寬度" -#: models/pluginmodel.py:122 +#: models/pluginmodel.py:140 msgid "" msgstr "" @@ -767,6 +898,10 @@ msgstr "檔案" msgid "file" msgstr "檔案" +#: plugins/file/templates/cms/plugins/file.html:6 +msgid "file missing!" +msgstr "" + #: plugins/flash/cms_plugins.py:9 msgid "Flash" msgstr "Flash" @@ -780,9 +915,16 @@ msgstr "使用 swf 檔案" msgid "height" msgstr "高度" -#: plugins/flash/templates/cms/plugins/flash.html:2 -msgid "Missing flash plugin." -msgstr "欠缺 flash 插件。" +#: plugins/flash/templates/cms/plugins/flash.html:40 +#: plugins/video/templates/cms/plugins/video.html:60 +#, fuzzy +msgid "Missing flash plugin. Please download the latest Adobe Flash Player: " +msgstr "欠缺 flash 插件。這裡下載" + +#: plugins/flash/templates/cms/plugins/flash.html:42 +#: plugins/video/templates/cms/plugins/video.html:62 +msgid "Get Adobe Flash Player" +msgstr "" #: plugins/googlemap/cms_plugins.py:10 msgid "Google Map" @@ -840,19 +982,19 @@ msgstr "路線計畫" msgid "Map" msgstr "地圖" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:11 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:76 msgid "Your address: " msgstr "" -#: plugins/googlemap/templates/cms/plugins/googlemap.html:13 +#: plugins/googlemap/templates/cms/plugins/googlemap.html:78 msgid "Calculate route" msgstr "計算路線" -#: plugins/inherit/cms_plugins.py:18 +#: plugins/inherit/cms_plugins.py:17 msgid "Inherit Plugins from Page" msgstr "從網頁繼承插件" -#: plugins/inherit/forms.py:19 +#: plugins/inherit/forms.py:23 msgid "Language or Page must be filled out" msgstr "語言或網頁必須被填寫" @@ -878,7 +1020,7 @@ msgid "name" msgstr "名稱" #: plugins/link/models.py:11 plugins/link/migrations/0001_initial.py:16 -#: plugins/picture/models.py:19 plugins/picture/migrations/0001_initial.py:16 +#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:16 #: plugins/teaser/models.py:19 msgid "link" msgstr "連結" @@ -899,40 +1041,44 @@ msgstr "電子郵件地址優先於文字連結。" msgid "Picture" msgstr "圖片" -#: plugins/picture/models.py:13 +#: plugins/picture/models.py:14 +msgid "center" +msgstr "" + +#: plugins/picture/models.py:15 msgid "left" msgstr "左" -#: plugins/picture/models.py:14 +#: plugins/picture/models.py:16 msgid "right" msgstr "右" -#: plugins/picture/models.py:18 plugins/picture/migrations/0001_initial.py:17 +#: plugins/picture/models.py:20 plugins/picture/migrations/0001_initial.py:17 #: plugins/teaser/models.py:10 plugins/video/models.py:11 msgid "image" msgstr "圖片" -#: plugins/picture/models.py:19 plugins/picture/models.py:20 +#: plugins/picture/models.py:21 plugins/picture/models.py:22 msgid "if present image will be clickable" msgstr "如果存在,則圖片將可點擊" -#: plugins/picture/models.py:21 plugins/picture/migrations/0001_initial.py:19 +#: plugins/picture/models.py:23 plugins/picture/migrations/0001_initial.py:19 msgid "alternate text" msgstr "替換文字" -#: plugins/picture/models.py:21 +#: plugins/picture/models.py:23 msgid "textual description of the image" msgstr "圖片的文字描述" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "long description" msgstr "詳細敘述" -#: plugins/picture/models.py:22 +#: plugins/picture/models.py:24 msgid "additional description of the image" msgstr "圖片的額外說明" -#: plugins/picture/models.py:23 +#: plugins/picture/models.py:25 msgid "side" msgstr "位置" @@ -952,8 +1098,7 @@ msgstr "HEML" #: plugins/snippet/models.py:15 msgid "" -"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be " -"rendered. " +"Enter a template (i.e. \"snippets/plugin_xy.html\") which will be rendered. " msgstr "輸入一個模板(即 \"snippets/plugin_xy.html\")用來呈現頁面。" #: plugins/snippet/models.py:25 @@ -973,6 +1118,7 @@ msgid "If present image will be clickable." msgstr "如果存在,則圖片將可點擊" #: plugins/teaser/templates/cms/plugins/teaser.html:11 +#: templates/cms/toolbar/toolbar.html:59 msgid "more" msgstr "閱讀文章" @@ -990,51 +1136,52 @@ msgstr "插件" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:38 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:106 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:69 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:67 msgid "Please select a plugin type." msgstr "請選擇一個插件類型。" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:54 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:114 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 msgid "Edit selected plugin" msgstr "編輯所選擇的插件" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:58 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:124 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:87 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:85 msgid "Text editor does not support editing objects." msgstr "文字編輯器不支援編輯物件。" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:63 #: plugins/text/templates/cms/plugins/widgets/tinymce.html:129 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:92 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:90 msgid "No object selected." msgstr "沒有物件被選擇。" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:112 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:75 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:73 msgid "Text editor does not support inserting objects." msgstr "文字編輯器不支持插入物件。" #: plugins/text/templates/cms/plugins/widgets/tinymce.html:133 -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:96 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:94 msgid "Not a plugin object" msgstr "不是一個插件物件" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:110 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:106 #: templates/admin/cms/page/widgets/installed_plugins_inc.html:4 msgid "Available Plugins" msgstr "可用插件" -#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:113 +#: plugins/text/templates/cms/plugins/widgets/wymeditor.html:109 msgid "Insert plugin" msgstr "插入插件" #: plugins/twitter/cms_plugins.py:10 +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:27 msgid "Twitter" msgstr "推特(Twitter)" -#: plugins/twitter/cms_plugins.py:31 +#: plugins/twitter/cms_plugins.py:23 msgid "Twitter Search" msgstr "" @@ -1069,6 +1216,31 @@ msgid "" "\"brains\" and \"zombies\"" msgstr "" +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:12 +msgid "we said," +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:13 +msgid "we" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:14 +msgid "we were" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:15 +msgid "we replied to" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:16 +msgid "we were checking out" +msgstr "" + +#: plugins/twitter/templates/cms/plugins/twitter_recent_entries.html:17 +#, fuzzy +msgid "loading tweets..." +msgstr "載入中..." + #: plugins/video/cms_plugins.py:10 msgid "Video" msgstr "影像" @@ -1090,10 +1262,12 @@ msgid "movie url" msgstr "電影網址" #: plugins/video/models.py:10 +#, fuzzy msgid "" -"vimeo or youtube video url. Example: http://www.youtube.com/watch?v" -"=YFa59lK-kpo" -msgstr "vimeo 或 YouTube 影像網址。例如:http://www.youtube.com/watch?v=YFa59lK-kpo" +"vimeo or youtube video url. Example: http://www.youtube.com/watch?v=-" +"iJ7bs4mTUY" +msgstr "" +"vimeo 或 YouTube 影像網址。例如:http://www.youtube.com/watch?v=YFa59lK-kpo" #: plugins/video/models.py:11 msgid "preview image file" @@ -1154,15 +1328,9 @@ msgstr "進入按鈕顏色" msgid "button highlight color" msgstr "按鈕突出顯示顏色" -#: plugins/video/templates/cms/plugins/video.html:3 -msgid "" -"Missing flash plugin. Download here" -msgstr "欠缺 flash 插件。這裡下載" - #: templates/admin/page_submit_line.html:3 -#: templates/admin/cms/page/change_form.html:273 -#: templates/admin/cms/page/plugin_change_form.html:112 +#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/plugin_change_form.html:113 msgid "Save" msgstr "儲存" @@ -1180,20 +1348,17 @@ msgid "Save and add another" msgstr "儲存並添加另一個" #: templates/admin/page_submit_line.html:13 -#: templates/admin/cms/page/change_form.html:274 +#: templates/admin/cms/page/change_form.html:275 msgid "Save and continue editing" msgstr "儲存並繼續編輯" #: templates/admin/cms/mail/approvement_required.html:5 -#: templates/admin/cms/mail/approvement_required.txt:5 #, python-format msgid "" -"Page %(page)s may require approvement by " -"you." +"Page %(page)s may require approvement by you." msgstr "網頁%(page)s可能需要你的核准。" #: templates/admin/cms/mail/approvement_required.html:8 -#: templates/admin/cms/mail/approvement_required.txt:7 msgid "Last changes" msgstr "最新的更改" @@ -1202,28 +1367,21 @@ msgstr "最新的更改" msgid "Log in to administration here." msgstr "由此處登入到管理。" -#: templates/admin/cms/mail/base.txt:8 -#, python-format -msgid "Login url: %(login_url)s" -msgstr "" - #: templates/admin/cms/mail/page_user_change.html:7 -#: templates/admin/cms/mail/page_user_change.txt:5 msgid "Username:" msgstr "用戶名稱:" #: templates/admin/cms/mail/page_user_change.html:11 -#: templates/admin/cms/mail/page_user_change.txt:6 msgid "Password:" msgstr "密碼:" #: templates/admin/cms/page/change_form.html:3 #: templates/admin/cms/page/plugin_forms_history.html:3 -#: templates/admin/cms/page/plugin_forms_ok.html:3 +#: templates/admin/cms/page/plugin_forms_ok.html:4 msgid "Change a page" msgstr "修改一個網頁" -#: templates/admin/cms/page/change_form.html:62 +#: templates/admin/cms/page/change_form.html:64 #: templates/admin/cms/page/change_list.html:8 #: templates/admin/cms/page/plugin_change_form.html:67 #: templates/admin/cms/page/recover_form.html:14 @@ -1231,78 +1389,78 @@ msgstr "修改一個網頁" msgid "Home" msgstr "首頁" -#: templates/admin/cms/page/change_form.html:71 +#: templates/admin/cms/page/change_form.html:73 msgid "Approve page deletion" msgstr "核准刪除網頁" -#: templates/admin/cms/page/change_form.html:77 +#: templates/admin/cms/page/change_form.html:79 #, python-format msgid "(requires approvement at %(moderation_level)s level)" msgstr "(需要在 %(moderation_level)s 層級核准)" -#: templates/admin/cms/page/change_form.html:78 +#: templates/admin/cms/page/change_form.html:80 msgid "(you can perform actions on this page directly)" msgstr "(您可以直接在此網頁執行操作)" -#: templates/admin/cms/page/change_form.html:91 +#: templates/admin/cms/page/change_form.html:93 msgid "Remove delete request" msgstr "移除刪除請求" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve delete" msgstr "核准刪除" -#: templates/admin/cms/page/change_form.html:93 +#: templates/admin/cms/page/change_form.html:95 msgid "Approve" msgstr "核准" -#: templates/admin/cms/page/change_form.html:93 -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:95 +#: templates/admin/cms/page/change_form.html:96 #: templates/admin/cms/page/change_list_tree.html:12 msgid "draft" msgstr "草稿" -#: templates/admin/cms/page/change_form.html:94 +#: templates/admin/cms/page/change_form.html:96 msgid "Preview" msgstr "預覽" -#: templates/admin/cms/page/change_form.html:97 +#: templates/admin/cms/page/change_form.html:99 #: templates/admin/cms/page/revision_form.html:10 msgid "History" msgstr "歷史" -#: templates/admin/cms/page/change_form.html:98 +#: templates/admin/cms/page/change_form.html:100 msgid "View on site" msgstr "於網站上查看" -#: templates/admin/cms/page/change_form.html:128 +#: templates/admin/cms/page/change_form.html:130 #: templates/admin/cms/page/plugin_change_form.html:84 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" -#: templates/admin/cms/page/change_form.html:148 +#: templates/admin/cms/page/change_form.html:150 msgid "All permissions" msgstr "所有權限" -#: templates/admin/cms/page/change_form.html:149 -#: templates/admin/cms/page/change_form.html:161 +#: templates/admin/cms/page/change_form.html:151 +#: templates/admin/cms/page/change_form.html:163 #: templates/admin/cms/page/loading.html:2 msgid "Loading..." msgstr "載入中..." -#: templates/admin/cms/page/change_form.html:160 +#: templates/admin/cms/page/change_form.html:162 msgid "Page states" msgstr "網頁狀態" -#: templates/admin/cms/page/change_form.html:183 +#: templates/admin/cms/page/change_form.html:185 #, python-format msgid "" -"This page must be moderated at level %(moderation_level)s, post a " -"message for moderator." +"This page must be moderated at level %(moderation_level)s, post a message " +"for moderator." msgstr "這個頁面必須在 %(moderation_level)s 層級被管制,請發送訊息給管制者。" -#: templates/admin/cms/page/change_form.html:185 +#: templates/admin/cms/page/change_form.html:187 msgid "Request approvemet" msgstr "要求核准" @@ -1310,41 +1468,41 @@ msgstr "要求核准" msgid "List of pages" msgstr "網頁列表" -#: templates/admin/cms/page/change_list.html:56 +#: templates/admin/cms/page/change_list.html:58 msgid "Successfully moved" msgstr "成功地被搬移" -#: templates/admin/cms/page/change_list.html:61 +#: templates/admin/cms/page/change_list.html:63 msgid "An error occured. Please reload the page" msgstr "發生一個錯誤。請重新載入網頁" -#: templates/admin/cms/page/change_list.html:82 +#: templates/admin/cms/page/change_list.html:84 #, python-format msgid "Recover deleted %(name)s" msgstr "復原已刪除的 %(name)s" -#: templates/admin/cms/page/change_list.html:85 +#: templates/admin/cms/page/change_list.html:87 #, python-format msgid "Add %(name)s" msgstr "添加 %(name)s" -#: templates/admin/cms/page/change_list.html:97 +#: templates/admin/cms/page/change_list.html:99 msgid "Pages on:" msgstr "網頁位於:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "Filter:" msgstr "篩選器:" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "on" msgstr "開" -#: templates/admin/cms/page/change_list.html:114 +#: templates/admin/cms/page/change_list.html:116 msgid "off" msgstr "關" -#: templates/admin/cms/page/change_list.html:116 +#: templates/admin/cms/page/change_list.html:118 msgid "Filter" msgstr "篩選器" @@ -1368,7 +1526,11 @@ msgstr "開始" msgid "end" msgstr "結束" -#: templates/admin/cms/page/change_list_tree.html:18 +#: templates/admin/cms/page/change_list_tree.html:17 +msgid "restricted" +msgstr "" + +#: templates/admin/cms/page/change_list_tree.html:19 msgid "last changes" msgstr "最新的更改" @@ -1382,8 +1544,7 @@ msgid "edit this page" msgstr "編輯本頁" #: templates/admin/cms/page/menu_item.html:6 -#: templates/cms/toolbar/toolbar.html:206 -#: templates/cms/toolbar/toolbar.html:232 +#: templates/cms/toolbar/toolbar.html:54 msgid "edit" msgstr "編輯" @@ -1439,7 +1600,6 @@ msgid "add" msgstr "添加" #: templates/admin/cms/page/menu_item.html:65 -#: templates/cms/toolbar/toolbar.html:166 msgid "Approve directly" msgstr "直接核准" @@ -1453,11 +1613,6 @@ msgstr "查看" msgid "Unpublish" msgstr "取消發佈" -#: templates/admin/cms/page/menu_item.html:73 -#: templates/cms/toolbar/toolbar.html:171 -msgid "Publish" -msgstr "發佈" - #: templates/admin/cms/page/menu_item.html:79 msgid "View on page" msgstr "在網頁查看" @@ -1502,28 +1657,38 @@ msgstr "允許更改權限" msgid "Can move" msgstr "允許搬移" -#: templates/admin/cms/page/permissions.html:20 +#: templates/admin/cms/page/permissions.html:14 +#, fuzzy +msgid "Can view" +msgstr "允許搬移" + #: templates/admin/cms/page/permissions.html:21 +#: templates/admin/cms/page/permissions.html:22 msgid "(global)" msgstr "(全站)" -#: templates/admin/cms/page/permissions.html:25 +#: templates/admin/cms/page/permissions.html:26 msgid "(current)" msgstr "(目前)" -#: templates/admin/cms/page/permissions.html:41 +#: templates/admin/cms/page/permissions.html:43 msgid "All" msgstr "全部" -#: templates/admin/cms/page/permissions.html:49 +#: templates/admin/cms/page/permissions.html:51 msgid "Page doesn't inherit any permissions." msgstr "網頁不繼承任何權限" +#: templates/admin/cms/page/plugin_change_form.html:114 +#: templates/cms/toolbar/toolbar.html:24 +msgid "Cancel" +msgstr "" + #: templates/admin/cms/page/plugin_forms_history.html:9 msgid "An old revision of a plugin can not be saved!" msgstr "無法儲存插件的舊修定版!" -#: templates/admin/cms/page/plugin_forms_ok.html:17 +#: templates/admin/cms/page/plugin_forms_ok.html:21 msgid "Plugin saved successfully." msgstr "插件儲存成功。" @@ -1558,7 +1723,6 @@ msgid "Generic" msgstr "" #: templates/admin/cms/page/widgets/installed_plugins_inc.html:15 -#: templates/cms/toolbar/add_plugins.html:6 msgid "Add Plugin" msgstr "添加插件" @@ -1582,126 +1746,62 @@ msgstr "沒有選擇任何插件。請在左側選擇一個" msgid "No Plugins present. Add a plugin to this placeholder-slot." msgstr "沒有任何插件存在。請添加插件到這個佔位空間插槽。" -#: templates/cms/toolbar/add_plugins.html:10 +#: templates/cms/toolbar/placeholder.html:32 msgid "Available plugins" msgstr "" -#: templates/cms/toolbar/toolbar.html:33 -#, python-format -msgid "Move to %(name)s" -msgstr "搬移到 %(name)s" +#: templates/cms/toolbar/toolbar.html:22 +msgid "The selected element can not be moved to the desired location." +msgstr "" -#: templates/cms/toolbar/toolbar.html:34 +#: templates/cms/toolbar/toolbar.html:23 msgid "Are you sure you want to delete this plugin?" msgstr "你確定要刪除這個插件?" -#: templates/cms/toolbar/toolbar.html:136 -msgid "Edit mode" -msgstr "編輯模式" +#: templates/cms/toolbar/toolbar.html:55 +msgid "up" +msgstr "上" -#: templates/cms/toolbar/toolbar.html:142 -msgid "Status" -msgstr "狀態" +#: templates/cms/toolbar/toolbar.html:56 +msgid "down" +msgstr "下" + +#: templates/cms/toolbar/toolbar.html:61 +msgid "Move to placeholder" +msgstr "" -#: templates/cms/toolbar/toolbar.html:153 +#: templates/cms/toolbar/items/login.html:5 msgid "Username" msgstr "用戶名稱" -#: templates/cms/toolbar/toolbar.html:157 -#: templates/cms/toolbar/toolbar.html:158 -msgid "login" +#: templates/cms/toolbar/items/login.html:10 +#: templates/cms/toolbar/items/login.html:12 +#, fuzzy +msgid "Login" msgstr "登入" -#: templates/cms/toolbar/toolbar.html:175 -msgid "Request Approval" -msgstr "" - -#: templates/cms/toolbar/toolbar.html:184 -msgid "Template" -msgstr "模板" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "move" -msgstr "搬移" - -#: templates/cms/toolbar/toolbar.html:195 -msgid "Move/add Pages" -msgstr "搬移/添加頁面" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "add child" -msgstr "添加子網頁" - -#: templates/cms/toolbar/toolbar.html:197 -msgid "Add child page" -msgstr "添加子網頁" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "add sibling" -msgstr "添加同級網頁" - -#: templates/cms/toolbar/toolbar.html:198 -msgid "Add sibling page" -msgstr "添加同級網頁" - -#: templates/cms/toolbar/toolbar.html:200 -msgid "Delete Page" -msgstr "刪除網頁" - -#: templates/cms/toolbar/toolbar.html:206 -msgid "Site Administration" -msgstr "網站管理" - -#: templates/cms/toolbar/toolbar.html:208 -msgid "Page Settings" -msgstr "網頁設置" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "history" -msgstr "歷史" - -#: templates/cms/toolbar/toolbar.html:210 -msgid "View History" -msgstr "查看歷史" - -#: templates/cms/toolbar/toolbar.html:218 -#: templates/cms/toolbar/toolbar.html:219 -msgid "Logout" -msgstr "登出" - -#: templates/cms/toolbar/toolbar.html:219 -msgid "Lock" -msgstr "鎖定" - -#: templates/cms/toolbar/toolbar.html:223 -msgid "Close" -msgstr "關閉" - -#: templates/cms/toolbar/toolbar.html:234 -msgid "up" -msgstr "上" - -#: templates/cms/toolbar/toolbar.html:235 -msgid "down" -msgstr "下" +#: templates/cms/toolbar/items/status.html:2 +msgid "Status" +msgstr "狀態" -#: templates/cms/toolbar/toolbar.html:237 -msgid "Settings" -msgstr "設置" +#: templates/cms/toolbar/items/switcher.html:4 +msgid "Switch on/off" +msgstr "" -#: templates/cms/toolbar/toolbar.html:239 -msgid "Delete Plugin" -msgstr "刪除插件" +#: templatetags/cms_admin.py:86 +#, python-format +msgid "%(icon)s" +msgstr "" -#: templatetags/cms_admin.py:85 +#: templatetags/cms_admin.py:99 msgid "Unbind page moderation" msgstr "取消網頁管制" -#: templatetags/cms_admin.py:86 +#: templatetags/cms_admin.py:100 msgid "Unbind children moderation" msgstr "取消子網頁管制" -#: templatetags/cms_admin.py:87 +#: templatetags/cms_admin.py:101 msgid "Unbind descendants moderation" msgstr "取消下層網頁管制" @@ -1713,85 +1813,18 @@ msgstr "" #: templatetags/cms_tags.py:79 #, python-format msgid "" -"A template tag couldn't find the page with lookup arguments `%(page_lookup)s\n" +"A template tag couldn't find the page with lookup arguments `" +"%(page_lookup)s\n" "`. The URL of the request was: http://%(host)s%(path)s" msgstr "" -#: test/run_tests.py:137 test/project/settings.py:116 -msgid "English" -msgstr "" - -#: test/run_tests.py:138 test/project/settings.py:117 -msgid "French" -msgstr "" - -#: test/run_tests.py:139 test/project/settings.py:118 -msgid "German" -msgstr "" - -#: test/run_tests.py:140 test/project/settings.py:119 -msgid "Brazil" -msgstr "" - -#: test/run_tests.py:141 test/project/settings.py:120 -msgid "Dutch" -msgstr "" - -#: test/run_tests.py:158 test/project/settings.py:137 -msgid "two columns" -msgstr "" - -#: test/run_tests.py:159 test/project/settings.py:138 -msgid "three columns" -msgstr "" - -#: test/run_tests.py:160 test/project/settings.py:139 -msgid "navigation examples" -msgstr "" - -#: test/run_tests.py:167 test/project/settings.py:148 -msgid "sidebar column" -msgstr "" - -#: test/run_tests.py:173 test/project/settings.py:154 -msgid "left column" -msgstr "" - -#: test/run_tests.py:179 test/project/settings.py:160 -msgid "right column" -msgstr "" - -#: test/apps/pluginapp/plugins/manytomany_rel/cms_plugins.py:13 -msgid "Articles" -msgstr "" - -#: test/apps/sampleapp/cms_app.py:7 -msgid "Sample App" -msgstr "" - -#: test/apps/sampleapp/menu.py:17 -msgid "sample root page" -msgstr "" - -#: test/apps/sampleapp/menu.py:18 -msgid "sample settings page" -msgstr "" - -#: test/apps/sampleapp/menu.py:19 -msgid "sample account page" -msgstr "" - -#: test/apps/sampleapp/menu.py:20 -msgid "sample my profile page" -msgstr "" - -#: test/apps/sampleapp/menu.py:32 -msgid "Static Menu" -msgstr "" +#: utils/mail.py:38 +msgid "CMS - your user account was created." +msgstr "CMS - 您的用戶帳號已被建立。" -#: test/apps/sampleapp/menu.py:48 -msgid "Static Menu2" -msgstr "" +#: utils/mail.py:40 +msgid "CMS - your user account was changed." +msgstr "CMS - 您的用戶帳號已被更改。" #: utils/moderator.py:83 msgid "parent first" @@ -1806,16 +1839,32 @@ msgstr "核准" msgid "CMS - Page %s requires approvement." msgstr "CMS - 網頁 %s 需要核准。" -#: utils/permissions.py:206 -msgid "CMS - your user account was created." -msgstr "CMS - 您的用戶帳號已被建立。" +#~ msgid "Missing flash plugin." +#~ msgstr "欠缺 flash 插件。" -#: utils/permissions.py:208 -msgid "CMS - your user account was changed." -msgstr "CMS - 您的用戶帳號已被更改。" +#~ msgid "Move to %(name)s" +#~ msgstr "搬移到 %(name)s" + +#~ msgid "move" +#~ msgstr "搬移" + +#~ msgid "add child" +#~ msgstr "添加子網頁" + +#~ msgid "add sibling" +#~ msgstr "添加同級網頁" + +#~ msgid "history" +#~ msgstr "歷史" + +#~ msgid "Lock" +#~ msgstr "鎖定" + +#~ msgid "Close" +#~ msgstr "關閉" -#~ msgid "fgcolor" -#~ msgstr "" +#~ msgid "Settings" +#~ msgstr "設置" -#~ msgid "Wanted language has not been translated yet." -#~ msgstr "" +#~ msgid "Delete Plugin" +#~ msgstr "刪除插件" diff --git a/cms/locale/zh_TW/LC_MESSAGES/djangojs.mo b/cms/locale/zh_TW/LC_MESSAGES/djangojs.mo index 85c37aa3fbf..5475edbf778 100644 Binary files a/cms/locale/zh_TW/LC_MESSAGES/djangojs.mo and b/cms/locale/zh_TW/LC_MESSAGES/djangojs.mo differ diff --git a/cms/locale/zh_TW/LC_MESSAGES/djangojs.po b/cms/locale/zh_TW/LC_MESSAGES/djangojs.po index faaf2cd1e00..5a705c045da 100644 --- a/cms/locale/zh_TW/LC_MESSAGES/djangojs.po +++ b/cms/locale/zh_TW/LC_MESSAGES/djangojs.po @@ -1,38 +1,37 @@ # 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 , YEAR. -# +# msgid "" msgstr "" "Project-Id-Version: django-cms\n" -"Report-Msgid-Bugs-To: https://github.com/divio/django-cms/issues\n" -"POT-Creation-Date: 2011-02-07 07:22-0600\n" -"PO-Revision-Date: 2011-02-16 17:10+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-08-14 09:45-0500\n" +"PO-Revision-Date: 2011-03-22 15:38+0000\n" "Last-Translator: ojii \n" "Language-Team: LANGUAGE \n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0\n" -#: media/cms/js/change_form.js:31 +#: static/cms/js/change_form.js:31 msgid "" -"Are you sure you want to change the %(field_name)s without saving the " -"page first?" +"Are you sure you want to change the %(field_name)s without saving the page " +"first?" msgstr "您確定您想要變更 %(field_name)s 而不先將頁面儲存嗎?" -#: media/cms/js/change_form.js:69 +#: static/cms/js/change_form.js:69 msgid "" "Not all plugins are saved. Are you sure you want to save the page?\n" "All unsaved plugin content will tried to save." msgstr "" -#: media/cms/js/change_form.js:127 +#: static/cms/js/change_form.js:127 msgid "Are you sure you want to change tabs without saving the page first?" msgstr "您確定您想要變更分頁而不先頁面儲存嗎?" -#: media/cms/js/plugin_editor.js:125 +#: static/cms/js/plugin_editor.js:132 msgid "Are you sure you want to delete this plugin?" msgstr "您確定您想要刪除此插件?" diff --git a/cms/management/commands/cms.py b/cms/management/commands/cms.py new file mode 100644 index 00000000000..653b2409e0e --- /dev/null +++ b/cms/management/commands/cms.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +from __future__ import absolute_import +from cms.management.commands.subcommands.base import SubcommandsCommand +from cms.management.commands.subcommands.list import ListCommand +from cms.management.commands.subcommands.moderator import ModeratorCommand +from cms.management.commands.subcommands.uninstall import UninstallCommand +from django.core.management.base import BaseCommand +from optparse import make_option + + +class Command(SubcommandsCommand): + + option_list = BaseCommand.option_list + ( + make_option('--noinput', action='store_false', dest='interactive', default=True, + help='Tells django-cms to NOT prompt the user for input of any kind. '), + ) + + args = '' + + command_name = 'cms' + + subcommands = { + 'uninstall': UninstallCommand, + 'list': ListCommand, + 'moderator': ModeratorCommand, + } + + @property + def help(self): + lines = ['django CMS command line interface.', '', 'Available subcommands:'] + for subcommand in sorted(self.subcommands.keys()): + lines.append(' %s' % subcommand) + lines.append('') + lines.append('Use `manage.py cms --help` for help about subcommands') + return '\n'.join(lines) \ No newline at end of file diff --git a/cms/management/commands/publisher_publish.py b/cms/management/commands/publisher_publish.py index 82ea6ad7aa0..e353a53b7ff 100644 --- a/cms/management/commands/publisher_publish.py +++ b/cms/management/commands/publisher_publish.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from __future__ import absolute_import from django.conf import settings from django.core.management.base import NoArgsCommand, CommandError diff --git a/cms/test/__init__.py b/cms/management/commands/subcommands/__init__.py similarity index 100% rename from cms/test/__init__.py rename to cms/management/commands/subcommands/__init__.py diff --git a/cms/management/commands/subcommands/base.py b/cms/management/commands/subcommands/base.py new file mode 100644 index 00000000000..cb2de14caa2 --- /dev/null +++ b/cms/management/commands/subcommands/base.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +from django.core.management.base import BaseCommand, CommandError +import sys + + + +class SubcommandsCommand(BaseCommand): + subcommands = {} + command_name = '' + + def __init__(self): + super(SubcommandsCommand, self).__init__() + for name, subcommand in self.subcommands.items(): + subcommand.command_name = '%s %s' % (self.command_name, name) + + def handle(self, *args, **options): + stderr = getattr(self, 'stderr', sys.stderr) + stdout = getattr(self, 'stdout', sys.stdout) + if len(args) > 0: + if args[0] in self.subcommands.keys(): + handle_command = self.subcommands.get(args[0])() + handle_command.stdout = stdout + handle_command.stderr = stderr + handle_command.handle(*args[1:], **options) + else: + stderr.write("%r is not a valid subcommand for %r\n" % (args[0], self.command_name)) + stderr.write("Available subcommands are:\n") + for subcommand in sorted(self.subcommands.keys()): + stderr.write(" %r\n" % subcommand) + raise CommandError('Invalid subcommand %r for %r' % (args[0], self.command_name)) + else: + stderr.write("%r must be called with at least one argument, it's subcommand.\n" % self.command_name) + stderr.write("Available subcommands are:\n") + for subcommand in sorted(self.subcommands.keys()): + stderr.write(" %r\n" % subcommand) + raise CommandError('No subcommand given for %r' % self.command_name) \ No newline at end of file diff --git a/cms/management/commands/subcommands/list.py b/cms/management/commands/subcommands/list.py new file mode 100644 index 00000000000..7c079c423c4 --- /dev/null +++ b/cms/management/commands/subcommands/list.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +from cms.management.commands.subcommands.base import SubcommandsCommand +from cms.models.pluginmodel import CMSPlugin +from cms.models.titlemodels import Title +from django.core.management.base import NoArgsCommand + + +class ListApphooksCommand(NoArgsCommand): + + help = 'Lists all apphooks in pages' + def handle_noargs(self, **options): + urls = Title.objects.filter(application_urls__gt='').values_list("application_urls", flat=True) + for url in urls: + self.stdout.write('%s\n' % url) + +class ListPluginsCommand(NoArgsCommand): + + help = 'Lists all plugins in CMSPlugin' + def handle_noargs(self, **options): + plugins = CMSPlugin.objects.distinct().values_list("plugin_type", flat=True) + for plugin in plugins: + self.stdout.write(plugin+'\n') + +class ListCommand(SubcommandsCommand): + help = 'List commands' + subcommands = { + 'apphooks': ListApphooksCommand, + 'plugins': ListPluginsCommand + } \ No newline at end of file diff --git a/cms/management/commands/subcommands/moderator.py b/cms/management/commands/subcommands/moderator.py new file mode 100644 index 00000000000..1c30fd8f4d7 --- /dev/null +++ b/cms/management/commands/subcommands/moderator.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +from cms.management.commands.subcommands.base import SubcommandsCommand +from cms.models.pagemodel import Page +from django.conf import settings +from django.core.management.base import NoArgsCommand + + +class ModeratorOnCommand(NoArgsCommand): + help = 'Turn moderation on, run AFTER setting CMS_MODERATOR = True' + + def handle_noargs(self, **options): + assert settings.CMS_MODERATOR == True, 'Command can only be run if CMS_MODERATOR is True' + for page in Page.objects.filter(published=True): + page.publish() + + +class ModeratorCommand(SubcommandsCommand): + help = 'Moderator utilities' + subcommands = { + 'on': ModeratorOnCommand, + } diff --git a/cms/management/commands/subcommands/uninstall.py b/cms/management/commands/subcommands/uninstall.py new file mode 100644 index 00000000000..b55eba4b9fe --- /dev/null +++ b/cms/management/commands/subcommands/uninstall.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +from cms.management.commands.subcommands.base import SubcommandsCommand +from cms.models.pluginmodel import CMSPlugin +from cms.models.titlemodels import Title +from django.core.management.base import LabelCommand + + +class UninstallApphooksCommand(LabelCommand): + + args = "APPHOK_NAME" + label = 'apphook name (eg SampleApp)' + help = 'Uninstalls (sets to null) specified apphooks for all pages' + + def handle_label(self, label, **options): + queryset = Title.objects.filter(application_urls=label) + number_of_apphooks = queryset.count() + + if number_of_apphooks > 0: + if options.get('interactive'): + confirm = raw_input(""" +You have requested to remove %d %r apphooks. +Are you sure you want to do this? +Type 'yes' to continue, or 'no' to cancel: """ % (number_of_apphooks, label)) + else: + confirm = 'yes' + if confirm == 'yes': + queryset.update(application_urls=None) + self.stdout.write('%d %r apphooks uninstalled\n' % (number_of_apphooks, label)) + else: + self.stdout.write('no %r apphooks found\n' % label) + +class UninstallPluginsCommand(LabelCommand): + + args = "PLUGIN_NAME" + label = 'plugin name (eg SamplePlugin)' + help = 'Uninstalls (deletes) specified plugins from the CMSPlugin model' + + def handle_label(self, label, **options): + queryset = CMSPlugin.objects.filter(plugin_type=label) + number_of_plugins = queryset.count() + + if number_of_plugins > 0: + if options.get('interactive'): + confirm = raw_input(""" +You have requested to remove %d %r plugins. +Are you sure you want to do this? +Type 'yes' to continue, or 'no' to cancel: """ % (number_of_plugins, label)) + else: + confirm = 'yes' + queryset.delete() + self.stdout.write('%d %r plugins uninstalled\n' % (number_of_plugins, label)) + else: + self.stdout.write('no %r plugins found\n' % label) + +class UninstallCommand(SubcommandsCommand): + help = 'Uninstall commands' + subcommands = { + 'apphooks': UninstallApphooksCommand, + 'plugins': UninstallPluginsCommand + } \ No newline at end of file diff --git a/cms/media/cms/js/csrf.js b/cms/media/cms/js/csrf.js deleted file mode 100644 index 822bc8a5ced..00000000000 --- a/cms/media/cms/js/csrf.js +++ /dev/null @@ -1,32 +0,0 @@ -(function($){ - $.fn.cmsPatchCSRF = function () { - $.ajaxSetup({ - beforeSend: function(xhr, settings) { - function getCookie(name) { - var cookieValue = null; - if (document.cookie && document.cookie != '') { - var cookies = document.cookie.split(';'); - for (var i = 0; i < cookies.length; i++) { - var cookie = $.trim(cookies[i]); - // Does this cookie string begin with the name we want? - if (cookie.substring(0, name.length + 1) == (name + '=')) { - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); - break; - } - } - } - return cookieValue; - } - var base_doc_url = document.URL.match(/^http[s]{0,1}:\/\/[^\/]+\//)[0]; - var base_settings_url = settings.url.match(/^http[s]{0,1}:\/\/[^\/]+\//); - if (base_settings_url != null) { - base_settings_url = base_settings_url[0]; - } - if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url)) || base_doc_url == base_settings_url) { - // Only send the token to relative URLs i.e. locally. - xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken')); - } - } - }); - }; -})(jQuery); \ No newline at end of file diff --git a/cms/media/cms/js/lib/jquery.backgroundposition.js b/cms/media/cms/js/lib/jquery.backgroundposition.js deleted file mode 100644 index 2d49ba91ff4..00000000000 --- a/cms/media/cms/js/lib/jquery.backgroundposition.js +++ /dev/null @@ -1,52 +0,0 @@ -(function($){ - - if(!document.defaultView || !document.defaultView.getComputedStyle){ - var oldCurCSS = jQuery.curCSS; - jQuery.curCSS = function(elem, name, force){ - if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){ - return oldCurCSS.apply(this, arguments); - } - var style = elem.style; - if ( !force && style && style[ name ] ){ - return style[ name ]; - } - return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force); - }; - } -})(jQuery); - -(function($) { - - function toArray(strg){ - strg = strg.replace(/left|top/g,'0px'); - strg = strg.replace(/right|bottom/g,'100%'); - strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2"); - var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/); - return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]]; - } - - $.fx.step. backgroundPosition = function(fx) { - if (!fx.bgPosReady) { - - var start = $.curCSS(fx.elem,'backgroundPosition'); - if(!start){//FF2 no inline-style fallback - start = '0px 0px'; - } - - start = toArray(start); - fx.start = [start[0],start[2]]; - - var end = toArray(fx.options.curAnim.backgroundPosition); - fx.end = [end[0],end[2]]; - - fx.unit = [end[1],end[3]]; - fx.bgPosReady = true; - } - - var nowPosX = []; - nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0]; - nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1]; - fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1]; - - }; -})(jQuery); \ No newline at end of file diff --git a/cms/media/cms/js/lib/jquery.js b/cms/media/cms/js/lib/jquery.js deleted file mode 100644 index 40b8eb86f9c..00000000000 --- a/cms/media/cms/js/lib/jquery.js +++ /dev/null @@ -1,4376 +0,0 @@ -/*! - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){ - -var - // Will speed up references to window, and allows munging its name. - window = this, - // Will speed up references to undefined, and allows munging its name. - undefined, - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - // Map over the $ in case of overwrite - _$ = window.$, - - jQuery = window.jQuery = window.$ = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context ); - }, - - // A simple way to check for HTML strings or ID strings - // (both of which we optimize for) - quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/, - // Is it a simple selector - isSimple = /^.[^:#\[\.,]*$/; - -jQuery.fn = jQuery.prototype = { - init: function( selector, context ) { - // Make sure that a selection was provided - selector = selector || document; - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this[0] = selector; - this.length = 1; - this.context = selector; - return this; - } - // Handle HTML strings - if ( typeof selector === "string" ) { - // Are we dealing with HTML string or an ID? - var match = quickExpr.exec( selector ); - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) - selector = jQuery.clean( [ match[1] ], context ); - - // HANDLE: $("#id") - else { - var elem = document.getElementById( match[3] ); - - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem && elem.id != match[3] ) - return jQuery().find( selector ); - - // Otherwise, we inject the element directly into the jQuery object - var ret = jQuery( elem || [] ); - ret.context = document; - ret.selector = selector; - return ret; - } - - // HANDLE: $(expr, [context]) - // (which is just equivalent to: $(content).find(expr) - } else - return jQuery( context ).find( selector ); - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) - return jQuery( document ).ready( selector ); - - // Make sure that old selector state is passed along - if ( selector.selector && selector.context ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return this.setArray(jQuery.isArray( selector ) ? - selector : - jQuery.makeArray(selector)); - }, - - // Start with an empty selector - selector: "", - - // The current version of jQuery being used - jquery: "1.3.2", - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num === undefined ? - - // Return a 'clean' array - Array.prototype.slice.call( this ) : - - // Return just the object - this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems, name, selector ) { - // Build a new jQuery matched element set - var ret = jQuery( elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - ret.context = this.context; - - if ( name === "find" ) - ret.selector = this.selector + (this.selector ? " " : "") + selector; - else if ( name ) - ret.selector = this.selector + "." + name + "(" + selector + ")"; - - // Return the newly-formed element set - return ret; - }, - - // Force the current matched set of elements to become - // the specified array of elements (destroying the stack in the process) - // You should use pushStack() in order to do this, but maintain the stack - setArray: function( elems ) { - // Resetting the length to 0, then using the native Array push - // is a super-fast way to populate an object with array-like properties - this.length = 0; - Array.prototype.push.apply( this, elems ); - - return this; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem && elem.jquery ? elem[0] : elem - , this ); - }, - - attr: function( name, value, type ) { - var options = name; - - // Look for the case where we're accessing a style value - if ( typeof name === "string" ) - if ( value === undefined ) - return this[0] && jQuery[ type || "attr" ]( this[0], name ); - - else { - options = {}; - options[ name ] = value; - } - - // Check to see if we're setting style values - return this.each(function(i){ - // Set all the styles - for ( name in options ) - jQuery.attr( - type ? - this.style : - this, - name, jQuery.prop( this, options[ name ], type, i, name ) - ); - }); - }, - - css: function( key, value ) { - // ignore negative width and height values - if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) - value = undefined; - return this.attr( key, value, "curCSS" ); - }, - - text: function( text ) { - if ( typeof text !== "object" && text != null ) - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - - var ret = ""; - - jQuery.each( text || this, function(){ - jQuery.each( this.childNodes, function(){ - if ( this.nodeType != 8 ) - ret += this.nodeType != 1 ? - this.nodeValue : - jQuery.fn.text( [ this ] ); - }); - }); - - return ret; - }, - - wrapAll: function( html ) { - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).clone(); - - if ( this[0].parentNode ) - wrap.insertBefore( this[0] ); - - wrap.map(function(){ - var elem = this; - - while ( elem.firstChild ) - elem = elem.firstChild; - - return elem; - }).append(this); - } - - return this; - }, - - wrapInner: function( html ) { - return this.each(function(){ - jQuery( this ).contents().wrapAll( html ); - }); - }, - - wrap: function( html ) { - return this.each(function(){ - jQuery( this ).wrapAll( html ); - }); - }, - - append: function() { - return this.domManip(arguments, true, function(elem){ - if (this.nodeType == 1) - this.appendChild( elem ); - }); - }, - - prepend: function() { - return this.domManip(arguments, true, function(elem){ - if (this.nodeType == 1) - this.insertBefore( elem, this.firstChild ); - }); - }, - - before: function() { - return this.domManip(arguments, false, function(elem){ - this.parentNode.insertBefore( elem, this ); - }); - }, - - after: function() { - return this.domManip(arguments, false, function(elem){ - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - }, - - end: function() { - return this.prevObject || jQuery( [] ); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: [].push, - sort: [].sort, - splice: [].splice, - - find: function( selector ) { - if ( this.length === 1 ) { - var ret = this.pushStack( [], "find", selector ); - ret.length = 0; - jQuery.find( selector, this[0], ret ); - return ret; - } else { - return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){ - return jQuery.find( selector, elem ); - })), "find", selector ); - } - }, - - clone: function( events ) { - // Do the clone - var ret = this.map(function(){ - if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { - // IE copies events bound via attachEvent when - // using cloneNode. Calling detachEvent on the - // clone will also remove the events from the orignal - // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored - // as properties will not be copied (such as the - // the name attribute on an input). - var html = this.outerHTML; - if ( !html ) { - var div = this.ownerDocument.createElement("div"); - div.appendChild( this.cloneNode(true) ); - html = div.innerHTML; - } - - return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]; - } else - return this.cloneNode(true); - }); - - // Copy the events from the original to the clone - if ( events === true ) { - var orig = this.find("*").andSelf(), i = 0; - - ret.find("*").andSelf().each(function(){ - if ( this.nodeName !== orig[i].nodeName ) - return; - - var events = jQuery.data( orig[i], "events" ); - - for ( var type in events ) { - for ( var handler in events[ type ] ) { - jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); - } - } - - i++; - }); - } - - // Return the cloned set - return ret; - }, - - filter: function( selector ) { - return this.pushStack( - jQuery.isFunction( selector ) && - jQuery.grep(this, function(elem, i){ - return selector.call( elem, i ); - }) || - - jQuery.multiFilter( selector, jQuery.grep(this, function(elem){ - return elem.nodeType === 1; - }) ), "filter", selector ); - }, - - closest: function( selector ) { - var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null, - closer = 0; - - return this.map(function(){ - var cur = this; - while ( cur && cur.ownerDocument ) { - if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) { - jQuery.data(cur, "closest", closer); - return cur; - } - cur = cur.parentNode; - closer++; - } - }); - }, - - not: function( selector ) { - if ( typeof selector === "string" ) - // test special case where just one selector is passed in - if ( isSimple.test( selector ) ) - return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector ); - else - selector = jQuery.multiFilter( selector, this ); - - var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; - return this.filter(function() { - return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; - }); - }, - - add: function( selector ) { - return this.pushStack( jQuery.unique( jQuery.merge( - this.get(), - typeof selector === "string" ? - jQuery( selector ) : - jQuery.makeArray( selector ) - ))); - }, - - is: function( selector ) { - return !!selector && jQuery.multiFilter( selector, this ).length > 0; - }, - - hasClass: function( selector ) { - return !!selector && this.is( "." + selector ); - }, - - val: function( value ) { - if ( value === undefined ) { - var elem = this[0]; - - if ( elem ) { - if( jQuery.nodeName( elem, 'option' ) ) - return (elem.attributes.value || {}).specified ? elem.value : elem.text; - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type == "select-one"; - - // Nothing was selected - if ( index < 0 ) - return null; - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - if ( option.selected ) { - // Get the specifc value for the option - value = jQuery(option).val(); - - // We don't need an array for one selects - if ( one ) - return value; - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - } - - // Everything else, we just grab the value - return (elem.value || "").replace(/\r/g, ""); - - } - - return undefined; - } - - if ( typeof value === "number" ) - value += ''; - - return this.each(function(){ - if ( this.nodeType != 1 ) - return; - - if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) ) - this.checked = (jQuery.inArray(this.value, value) >= 0 || - jQuery.inArray(this.name, value) >= 0); - - else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(value); - - jQuery( "option", this ).each(function(){ - this.selected = (jQuery.inArray( this.value, values ) >= 0 || - jQuery.inArray( this.text, values ) >= 0); - }); - - if ( !values.length ) - this.selectedIndex = -1; - - } else - this.value = value; - }); - }, - - html: function( value ) { - return value === undefined ? - (this[0] ? - this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") : - null) : - this.empty().append( value ); - }, - - replaceWith: function( value ) { - return this.after( value ).remove(); - }, - - eq: function( i ) { - return this.slice( i, +i + 1 ); - }, - - slice: function() { - return this.pushStack( Array.prototype.slice.apply( this, arguments ), - "slice", Array.prototype.slice.call(arguments).join(",") ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function(elem, i){ - return callback.call( elem, i, elem ); - })); - }, - - andSelf: function() { - return this.add( this.prevObject ); - }, - - domManip: function( args, table, callback ) { - if ( this[0] ) { - var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(), - scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ), - first = fragment.firstChild; - - if ( first ) - for ( var i = 0, l = this.length; i < l; i++ ) - callback.call( root(this[i], first), this.length > 1 || i > 0 ? - fragment.cloneNode(true) : fragment ); - - if ( scripts ) - jQuery.each( scripts, evalScript ); - } - - return this; - - function root( elem, cur ) { - return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ? - (elem.getElementsByTagName("tbody")[0] || - elem.appendChild(elem.ownerDocument.createElement("tbody"))) : - elem; - } - } -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -function evalScript( i, elem ) { - if ( elem.src ) - jQuery.ajax({ - url: elem.src, - async: false, - dataType: "script" - }); - - else - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); - - if ( elem.parentNode ) - elem.parentNode.removeChild( elem ); -} - -function now(){ - return +new Date; -} - -jQuery.extend = jQuery.fn.extend = function() { - // copy reference to target object - var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) - target = {}; - - // extend jQuery itself if only one argument is passed - if ( length == i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) - // Extend the base object - for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) - continue; - - // Recurse if we're merging object values - if ( deep && copy && typeof copy === "object" && !copy.nodeType ) - target[ name ] = jQuery.extend( deep, - // Never move original objects, clone them - src || ( copy.length != null ? [ ] : { } ) - , copy ); - - // Don't bring in undefined values - else if ( copy !== undefined ) - target[ name ] = copy; - - } - - // Return the modified object - return target; -}; - -// exclude the following css properties to add px -var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, - // cache defaultView - defaultView = document.defaultView || {}, - toString = Object.prototype.toString; - -jQuery.extend({ - noConflict: function( deep ) { - window.$ = _$; - - if ( deep ) - window.jQuery = _jQuery; - - return jQuery; - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return toString.call(obj) === "[object Function]"; - }, - - isArray: function( obj ) { - return toString.call(obj) === "[object Array]"; - }, - - // check if an element is in a (or is an) XML document - isXMLDoc: function( elem ) { - return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || - !!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument ); - }, - - // Evalulates a script in a global context - globalEval: function( data ) { - if ( data && /\S/.test(data) ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; - if ( jQuery.support.scriptEval ) - script.appendChild( document.createTextNode( data ) ); - else - script.text = data; - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, length = object.length; - - if ( args ) { - if ( length === undefined ) { - for ( name in object ) - if ( callback.apply( object[ name ], args ) === false ) - break; - } else - for ( ; i < length; ) - if ( callback.apply( object[ i++ ], args ) === false ) - break; - - // A special, fast, case for the most common use of each - } else { - if ( length === undefined ) { - for ( name in object ) - if ( callback.call( object[ name ], name, object[ name ] ) === false ) - break; - } else - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} - } - - return object; - }, - - prop: function( elem, value, type, i, name ) { - // Handle executable functions - if ( jQuery.isFunction( value ) ) - value = value.call( elem, i ); - - // Handle passing in a number to a CSS property - return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ? - value + "px" : - value; - }, - - className: { - // internal only, use addClass("class") - add: function( elem, classNames ) { - jQuery.each((classNames || "").split(/\s+/), function(i, className){ - if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) - elem.className += (elem.className ? " " : "") + className; - }); - }, - - // internal only, use removeClass("class") - remove: function( elem, classNames ) { - if (elem.nodeType == 1) - elem.className = classNames !== undefined ? - jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); - }).join(" ") : - ""; - }, - - // internal only, use hasClass("class") - has: function( elem, className ) { - return elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; - } - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback ) { - var old = {}; - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( var name in options ) - elem.style[ name ] = old[ name ]; - }, - - css: function( elem, name, force, extra ) { - if ( name == "width" || name == "height" ) { - var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - - function getWH() { - val = name == "width" ? elem.offsetWidth : elem.offsetHeight; - - if ( extra === "border" ) - return; - - jQuery.each( which, function() { - if ( !extra ) - val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; - if ( extra === "margin" ) - val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0; - else - val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; - }); - } - - if ( elem.offsetWidth !== 0 ) - getWH(); - else - jQuery.swap( elem, props, getWH ); - - return Math.max(0, Math.round(val)); - } - - return jQuery.curCSS( elem, name, force ); - }, - - curCSS: function( elem, name, force ) { - var ret, style = elem.style; - - // We need to handle opacity special in IE - if ( name == "opacity" && !jQuery.support.opacity ) { - ret = jQuery.attr( style, "opacity" ); - - return ret == "" ? - "1" : - ret; - } - - // Make sure we're using the right name for getting the float value - if ( name.match( /float/i ) ) - name = styleFloat; - - if ( !force && style && style[ name ] ) - ret = style[ name ]; - - else if ( defaultView.getComputedStyle ) { - - // Only "float" is needed here - if ( name.match( /float/i ) ) - name = "float"; - - name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); - - var computedStyle = defaultView.getComputedStyle( elem, null ); - - if ( computedStyle ) - ret = computedStyle.getPropertyValue( name ); - - // We should always get a number back from opacity - if ( name == "opacity" && ret == "" ) - ret = "1"; - - } else if ( elem.currentStyle ) { - var camelCase = name.replace(/\-(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); - - ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { - // Remember the original values - var left = style.left, rsLeft = elem.runtimeStyle.left; - - // Put in the new values to get a computed value out - elem.runtimeStyle.left = elem.currentStyle.left; - style.left = ret || 0; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - elem.runtimeStyle.left = rsLeft; - } - } - - return ret; - }, - - clean: function( elems, context, fragment ) { - context = context || document; - - // !context.createElement fails in IE with an error but returns typeof 'object' - if ( typeof context.createElement === "undefined" ) - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - - // If a single string is passed in and it's a single tag - // just do a createElement and skip the rest - if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) { - var match = /^<(\w+)\s*\/?>$/.exec(elems[0]); - if ( match ) - return [ context.createElement( match[1] ) ]; - } - - var ret = [], scripts = [], div = context.createElement("div"); - - jQuery.each(elems, function(i, elem){ - if ( typeof elem === "number" ) - elem += ''; - - if ( !elem ) - return; - - // Convert html string into DOM nodes - if ( typeof elem === "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ - return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? - all : - front + ">"; - }); - - // Trim whitespace, otherwise indexOf won't work as expected - var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase(); - - var wrap = - // option or optgroup - !tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && - [ 1, "", "
" ] || - - !tags.indexOf("", "" ] || - - // matched above - (!tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - // IE can't serialize and {% endaddtoblock %} +{% addtoblock "js" %} + \ No newline at end of file + +{% endaddtoblock %} + +
+ + + + + + + + + + + + + + + + + + + {% trans "Missing flash plugin. Please download the latest Adobe Flash Player: " %}
+ + {% trans 'Get Adobe Flash Player' %} + + + +
+ +
+
diff --git a/cms/plugins/googlemap/cms_plugins.py b/cms/plugins/googlemap/cms_plugins.py index 079b2e2fe1f..0812f45f162 100644 --- a/cms/plugins/googlemap/cms_plugins.py +++ b/cms/plugins/googlemap/cms_plugins.py @@ -16,8 +16,5 @@ def render(self, context, instance, placeholder): 'placeholder':placeholder, }) return context - - def get_plugin_media(self, request, context, plugin): - return Media(js = ('http://maps.google.com/maps/api/js?sensor=true',)) plugin_pool.register_plugin(GoogleMapPlugin) \ No newline at end of file diff --git a/cms/plugins/googlemap/settings.py b/cms/plugins/googlemap/settings.py deleted file mode 100644 index f37b21c1528..00000000000 --- a/cms/plugins/googlemap/settings.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.conf import settings - -GOOGLE_MAPS_API_KEY = getattr(settings, "GOOGLE_MAPS_API_KEY", "") \ No newline at end of file diff --git a/cms/plugins/googlemap/templates/cms/plugins/googlemap.html b/cms/plugins/googlemap/templates/cms/plugins/googlemap.html index c3f8a0e87e4..2d9d53fe844 100644 --- a/cms/plugins/googlemap/templates/cms/plugins/googlemap.html +++ b/cms/plugins/googlemap/templates/cms/plugins/googlemap.html @@ -1,27 +1,9 @@ -{% load i18n %} -
- -
- - {% if object.route_planer %} -
-
-

{{ object.route_planer_title }}:

-

- - - - -

-
-
- {% endif %} -
- - +{% load i18n sekizai_tags %} +{% addtoblock "js" %}{% endaddtoblock %} +{% addtoblock "js" %} \ No newline at end of file + +{% endaddtoblock %} + +{% addtoblock "css" %} + +{% endaddtoblock %} + +
+ {% if object.get_title %}

{{ object.get_title }}

{% endif %} + + +
+ + {% if object.route_planer %} +
+
+

{{ object.route_planer_title }}:

+

+ + + + +

+
+
+ {% endif %} +
\ No newline at end of file diff --git a/cms/plugins/inherit/cms_plugins.py b/cms/plugins/inherit/cms_plugins.py index 3142595b8a3..7d590004d56 100644 --- a/cms/plugins/inherit/cms_plugins.py +++ b/cms/plugins/inherit/cms_plugins.py @@ -7,7 +7,6 @@ from django.conf import settings from cms.plugins.inherit.forms import InheritForm import copy -from cms.plugins.utils import get_plugin_media class InheritPagePlaceholderPlugin(CMSPluginBase): """ @@ -19,6 +18,7 @@ class InheritPagePlaceholderPlugin(CMSPluginBase): render_template = "cms/plugins/inherit_plugins.html" form = InheritForm admin_preview = False + page_only = True def render(self, context, instance, placeholder): template_vars = { @@ -53,8 +53,6 @@ def render(self, context, instance, placeholder): inst, name = plg.get_plugin_instance() outstr = inst.render_plugin(tmpctx, placeholder) plugin_output.append(outstr) - if request and hasattr(request, 'placeholder_media'): - request.placeholder_media += get_plugin_media(request, context, inst) template_vars['parent_output'] = plugin_output context.update(template_vars) return context diff --git a/cms/plugins/inherit/forms.py b/cms/plugins/inherit/forms.py index a847f9adfa4..d317b3d8f31 100644 --- a/cms/plugins/inherit/forms.py +++ b/cms/plugins/inherit/forms.py @@ -1,13 +1,17 @@ -from django.forms.models import ModelForm -from django.utils.translation import ugettext_lazy as _ -from cms.plugins.link.models import Link -from django import forms from cms.models import Page +from cms.plugins.inherit.models import InheritPagePlaceholder +from django import forms +from django.forms.models import ModelForm from django.forms.util import ErrorList +from django.utils.translation import ugettext_lazy as _ class InheritForm(ModelForm): from_page = forms.ModelChoiceField(label=_("page"), queryset=Page.objects.drafts(), required=False) + class Meta: + model = InheritPagePlaceholder + exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') + def for_site(self, site): # override the page_link fields queryset to containt just pages for # current site @@ -17,8 +21,4 @@ def clean(self): cleaned_data = super(InheritForm, self).clean() if not cleaned_data['from_page'] and not cleaned_data['from_language']: self._errors['from_page'] = ErrorList([_("Language or Page must be filled out")]) - return cleaned_data - - class Meta: - model = Link - exclude = ('page', 'position', 'placeholder', 'language', 'plugin_type') \ No newline at end of file + return cleaned_data \ No newline at end of file diff --git a/cms/plugins/inherit/templates/cms/plugins/inherit_plugins.html b/cms/plugins/inherit/templates/cms/plugins/inherit_plugins.html index 7562d04822b..e111b4bd79a 100644 --- a/cms/plugins/inherit/templates/cms/plugins/inherit_plugins.html +++ b/cms/plugins/inherit/templates/cms/plugins/inherit_plugins.html @@ -1,3 +1 @@ -{% if parent_output %} - {{parent_output|safeseq|join:""}} -{% endif %} \ No newline at end of file +{% if parent_output %}{{parent_output|safeseq|join:""}}{% endif %} \ No newline at end of file diff --git a/cms/plugins/link/cms_plugins.py b/cms/plugins/link/cms_plugins.py index 9dc0e79e835..f323f9b0efa 100644 --- a/cms/plugins/link/cms_plugins.py +++ b/cms/plugins/link/cms_plugins.py @@ -15,18 +15,18 @@ class LinkPlugin(CMSPluginBase): def render(self, context, instance, placeholder): if instance.mailto: - link = u"mailto:%s" % settings.dbgettext(instance.mailto) + link = u"mailto:%s" % instance.mailto elif instance.url: - link = settings.dbgettext(instance.url) + link = instance.url elif instance.page_link: link = instance.page_link.get_absolute_url() else: link = "" context.update({ - 'name':settings.dbgettext(instance.name), - 'link':link, - 'placeholder':placeholder, - 'object':instance + 'name': instance.name, + 'link': link, + 'placeholder': placeholder, + 'object': instance }) return context @@ -62,6 +62,6 @@ def __call__(self, *args, **kwargs): return FakeForm(Form, site) def icon_src(self, instance): - return settings.CMS_MEDIA_URL + u"images/plugins/link.png" + return settings.STATIC_URL + u"cms/images/plugins/link.png" plugin_pool.register_plugin(LinkPlugin) diff --git a/cms/plugins/link/dbgettext_registration.py b/cms/plugins/link/dbgettext_registration.py deleted file mode 100644 index 7adb838d950..00000000000 --- a/cms/plugins/link/dbgettext_registration.py +++ /dev/null @@ -1,8 +0,0 @@ -from dbgettext.registry import registry, Options -from models import Link - -class LinkOptions(Options): - attributes = ('name', 'url', 'mailto') - parent = 'page' - -registry.register(Link, LinkOptions) diff --git a/cms/plugins/link/models.py b/cms/plugins/link/models.py index 83fd5743434..33276b55a04 100644 --- a/cms/plugins/link/models.py +++ b/cms/plugins/link/models.py @@ -6,12 +6,12 @@ class Link(CMSPlugin): """ A link to an other page or to an external website """ - + name = models.CharField(_("name"), max_length=256) - url = models.URLField(_("link"), verify_exists=True, blank=True, null=True) + url = models.URLField(_("link"), verify_exists=False, blank=True, null=True) page_link = models.ForeignKey(Page, verbose_name=_("page"), blank=True, null=True, help_text=_("A link to a page has priority over a text link.")) mailto = models.EmailField(_("mailto"), blank=True, null=True, help_text=_("An email adress has priority over a text link.")) - + def __unicode__(self): return self.name diff --git a/cms/plugins/link/templates/cms/plugins/link.html b/cms/plugins/link/templates/cms/plugins/link.html index 51548db32ac..86e23be31a5 100644 --- a/cms/plugins/link/templates/cms/plugins/link.html +++ b/cms/plugins/link/templates/cms/plugins/link.html @@ -1 +1 @@ -{{ name }} \ No newline at end of file +{{ name }} \ No newline at end of file diff --git a/cms/plugins/picture/cms_plugins.py b/cms/plugins/picture/cms_plugins.py index 554e4aa4d64..0ece1177adb 100644 --- a/cms/plugins/picture/cms_plugins.py +++ b/cms/plugins/picture/cms_plugins.py @@ -12,21 +12,20 @@ class PicturePlugin(CMSPluginBase): def render(self, context, instance, placeholder): if instance.url: - link = settings.dbgettext(instance.url) + link = instance.url elif instance.page_link: link = instance.page_link.get_absolute_url() else: link = "" - instance.alt = settings.dbgettext(instance.alt) context.update({ - 'picture':instance, - 'link':link, - 'placeholder':placeholder + 'picture': instance, + 'link': link, + 'placeholder': placeholder }) return context def icon_src(self, instance): # TODO - possibly use 'instance' and provide a thumbnail image - return settings.CMS_MEDIA_URL + u"images/plugins/image.png" + return settings.STATIC_URL + u"cms/images/plugins/image.png" plugin_pool.register_plugin(PicturePlugin) diff --git a/cms/plugins/picture/dbgettext_registration.py b/cms/plugins/picture/dbgettext_registration.py deleted file mode 100644 index e71b780567c..00000000000 --- a/cms/plugins/picture/dbgettext_registration.py +++ /dev/null @@ -1,8 +0,0 @@ -from dbgettext.registry import registry, Options -from models import Picture - -class PictureOptions(Options): - attributes = ('url', 'alt') - parent = 'page' - -registry.register(Picture, PictureOptions) diff --git a/cms/plugins/picture/models.py b/cms/plugins/picture/models.py index 6e52d027680..3f0ee39c702 100644 --- a/cms/plugins/picture/models.py +++ b/cms/plugins/picture/models.py @@ -8,9 +8,11 @@ class Picture(CMSPlugin): """ A Picture with or without a link """ + CENTER = "center" LEFT = "left" RIGHT = "right" - FLOAT_CHOICES = ((LEFT, _("left")), + FLOAT_CHOICES = ((CENTER, _("center")), + (LEFT, _("left")), (RIGHT, _("right")), ) diff --git a/cms/plugins/picture/templates/cms/plugins/picture.html b/cms/plugins/picture/templates/cms/plugins/picture.html index c4dd56f0ee8..fe6fb78f1b8 100644 --- a/cms/plugins/picture/templates/cms/plugins/picture.html +++ b/cms/plugins/picture/templates/cms/plugins/picture.html @@ -1,3 +1,5 @@ + {% if link %}{% endif %} - +{{ picture.alt }} {% if link %}{% endif %} + \ No newline at end of file diff --git a/cms/plugins/snippet/cms_plugins.py b/cms/plugins/snippet/cms_plugins.py index 31e0b0d5bcb..02bbc7cd379 100644 --- a/cms/plugins/snippet/cms_plugins.py +++ b/cms/plugins/snippet/cms_plugins.py @@ -36,6 +36,6 @@ def render(self, context, instance, placeholder): return context def icon_src(self, instance): - return settings.CMS_MEDIA_URL + u"images/plugins/snippet.png" + return settings.STATIC_URL + u"cms/images/plugins/snippet.png" plugin_pool.register_plugin(SnippetPlugin) diff --git a/cms/plugins/snippet/templates/cms/plugins/snippet.html b/cms/plugins/snippet/templates/cms/plugins/snippet.html index 288480d2b4c..65dd7987271 100644 --- a/cms/plugins/snippet/templates/cms/plugins/snippet.html +++ b/cms/plugins/snippet/templates/cms/plugins/snippet.html @@ -1 +1 @@ -{{ content|safe }} +{{ content|safe }} \ No newline at end of file diff --git a/cms/plugins/teaser/templates/cms/plugins/teaser.html b/cms/plugins/teaser/templates/cms/plugins/teaser.html index c429a69354f..c0e00ccdf4b 100644 --- a/cms/plugins/teaser/templates/cms/plugins/teaser.html +++ b/cms/plugins/teaser/templates/cms/plugins/teaser.html @@ -8,4 +8,4 @@

{{ object.title|title }}

{% if object.description %}

{{ object.description }}

{% endif %} -{% if link %}{% trans "more" %} »{% endif %} +{% if link %}{% trans "more" %} »{% endif %} \ No newline at end of file diff --git a/cms/plugins/text/cms_plugins.py b/cms/plugins/text/cms_plugins.py index 3111ad66b4e..967650775b1 100644 --- a/cms/plugins/text/cms_plugins.py +++ b/cms/plugins/text/cms_plugins.py @@ -46,9 +46,6 @@ def get_form(self, request, obj=None, **kwargs): return super(TextPlugin, self).get_form(request, obj, **kwargs) def render(self, context, instance, placeholder): - if settings.CMS_DBGETTEXT: - from dbgettext.parser import parsed_gettext - instance.body = parsed_gettext(instance, 'body') context.update({ 'body': plugin_tags_to_user_html(instance.body, context, placeholder), 'placeholder': placeholder, diff --git a/cms/plugins/text/dbgettext_registration.py b/cms/plugins/text/dbgettext_registration.py deleted file mode 100644 index d81bbfa83e0..00000000000 --- a/cms/plugins/text/dbgettext_registration.py +++ /dev/null @@ -1,39 +0,0 @@ -from dbgettext.registry import registry, Options -from models import CMSPlugin -from dbgettext.parser import Token -from dbgettext.lexicons import html -from models import Text -import re - -class PluginToken(Token): - """ A CMSPlugin placeholder """ - - def __init__(self, raw, obj): - super(PluginToken, self).__init__('plugin', raw) - self.obj = obj - - def is_translatable(self): - return Token.ALWAYS_TRANSLATE - - def get_key(self): - obj, cls = self.obj.get_plugin_instance() - return '%s-%d:%s' % (repr(cls), obj.id, re.sub('\W', '_', str(obj))) - - -class TextOptions(Options): - parsed_attributes = {'body': html.lexicon} - parent = 'page' - - from cms.plugins.text.utils import OBJ_ADMIN_RE_PATTERN - - def plugin(scanner, token): - try: - obj = CMSPlugin.objects.get(pk=scanner.match.groups()[0]) - except CMSPlugin.DoesNotExist: - obj = None - return PluginToken(token, obj) - - custom_lexicon_rules = [(OBJ_ADMIN_RE_PATTERN, plugin),] - - -registry.register(Text, TextOptions) diff --git a/cms/plugins/text/models.py b/cms/plugins/text/models.py index d695bb2737d..63c2420cb18 100644 --- a/cms/plugins/text/models.py +++ b/cms/plugins/text/models.py @@ -53,7 +53,7 @@ def post_copy(self, old_instance, ziplist): for new, old in ziplist: replace_ids[old.pk] = new.pk - self.body = replace_plugin_tags(old_instance.text.body, replace_ids) + self.body = replace_plugin_tags(old_instance.get_plugin_instance()[0].body, replace_ids) self.save() class Text(AbstractText): diff --git a/cms/plugins/text/settings.py b/cms/plugins/text/settings.py index 0af20f87d2b..6c03c95e42c 100644 --- a/cms/plugins/text/settings.py +++ b/cms/plugins/text/settings.py @@ -1,4 +1,5 @@ from django.conf import settings +from cms.utils import cms_static_url # Uses TinyMCE as editor (no inline plugins). Requires django-tinymce app. # If false, then WYMEditor is used. @@ -60,7 +61,4 @@ #Advantageously replaces WYM_CLASSES and WYM_STYLES ##Prepare url for wymeditor.css -CMS_MEDIA_PATH = getattr(settings, 'CMS_MEDIA_PATH', 'cms/') -WYM_STYLESHEET_PATH = getattr(settings, 'CMS_MEDIA_URL', ''.join((settings.MEDIA_URL, CMS_MEDIA_PATH)) ) -WYM_STYLESHEET = getattr(settings, "WYM_STYLESHEET", '"%scss/wymeditor.css"' % WYM_STYLESHEET_PATH ) - +WYM_STYLESHEET = getattr(settings, "WYM_STYLESHEET", '"%s"' % cms_static_url('css/wymeditor.css')) diff --git a/cms/plugins/text/templates/cms/plugins/text.html b/cms/plugins/text/templates/cms/plugins/text.html index 77100f17ea6..54e9891366f 100644 --- a/cms/plugins/text/templates/cms/plugins/text.html +++ b/cms/plugins/text/templates/cms/plugins/text.html @@ -1 +1 @@ -{{ body|safe }} +{{ body|safe }} \ No newline at end of file diff --git a/cms/plugins/text/templates/cms/plugins/text_plugin_change_form.html b/cms/plugins/text/templates/cms/plugins/text_plugin_change_form.html index bff08aa185a..a15c5539f29 100644 --- a/cms/plugins/text/templates/cms/plugins/text_plugin_change_form.html +++ b/cms/plugins/text/templates/cms/plugins/text_plugin_change_form.html @@ -3,14 +3,14 @@ {% block fieldsets %} {% for fieldset in adminform %} - {% include "cms/plugins/text_plugin_fieldset.html" %} + {% include "cms/plugins/text_plugin_fieldset.html" %} {% endfor %} - + + {% endblock %} diff --git a/cms/plugins/text/templates/cms/plugins/text_plugin_fieldset.html b/cms/plugins/text/templates/cms/plugins/text_plugin_fieldset.html index 7d7c8aa1d34..42c79374f9f 100644 --- a/cms/plugins/text/templates/cms/plugins/text_plugin_fieldset.html +++ b/cms/plugins/text/templates/cms/plugins/text_plugin_fieldset.html @@ -1,24 +1,26 @@
- {% if fieldset.name %}

{{ fieldset.name }}

{% endif %} - {% if fieldset.description %}
{{ fieldset.description|safe }}
{% endif %} - {% for line in fieldset %} -
- {{ line.errors }} - {% for field in line %}{% if not field.field.is_hidden %} - {% endif %} - {% if field.is_checkbox %} - {{ field.field }}{{ field.label_tag }} - {% else %} - {% if field.field.is_hidden %} - {{ field.field }} - {% else %} - {{ field.field }} - {% endif %} - {% endif %} - {% if not field.field.is_hidden %} - {% if field.field.field.help_text %}

{{ field.field.field.help_text|safe }}

{% endif %} -
{% endif %} - {% endfor %} - - {% endfor %} -
+ {% if fieldset.name %}

{{ fieldset.name }}

{% endif %} + {% if fieldset.description %}
{{ fieldset.description|safe }}
{% endif %} + {% for line in fieldset %} +
+ {{ line.errors }} + {% for field in line %} + {% if not field.field.is_hidden %} + {% endif %} + {% if field.is_checkbox %} + {{ field.field }}{{ field.label_tag }} + {% else %} + {% if field.field.is_hidden %} + {{ field.field }} + {% else %} + {{ field.field }} + {% endif %} + {% endif %} + {% if not field.field.is_hidden %} + {% if field.field.field.help_text %}

{{ field.field.field.help_text|safe }}

{% endif %} +
+ {% endif %} + {% endfor %} + + {% endfor %} + \ No newline at end of file diff --git a/cms/plugins/text/templates/cms/plugins/widgets/widget_lib.js b/cms/plugins/text/templates/cms/plugins/widgets/widget_lib.js index 59df7391f91..1231fae8ab9 100644 --- a/cms/plugins/text/templates/cms/plugins/widgets/widget_lib.js +++ b/cms/plugins/text/templates/cms/plugins/widgets/widget_lib.js @@ -46,7 +46,7 @@ function edit_plugin(obj_id) { // Pop up window for editing object. window.open("edit-plugin/" + obj_id + "/?_popup=1", - "Edit_plugin_object", + "Edit_plugin_object" + obj_id, "menubar=no,titlebar=no,toolbar=no,resizable=yes" + ",width=800,height=300,top=0,left=0,scrollbars=yes" + ",location=no" @@ -82,4 +82,3 @@ function get_editor(placeholder) { } return PlaceholderEditorRegistry.retrieveEditor(placeholder); } - diff --git a/cms/plugins/text/templates/cms/plugins/widgets/wymeditor.html b/cms/plugins/text/templates/cms/plugins/widgets/wymeditor.html index ca245310f40..efe4a52ef08 100644 --- a/cms/plugins/text/templates/cms/plugins/widgets/wymeditor.html +++ b/cms/plugins/text/templates/cms/plugins/widgets/wymeditor.html @@ -6,13 +6,15 @@ {% include "cms/plugins/widgets/widget_lib.js" %} - - -$(document).ready(function(){ +jQuery(document).ready(function ($) { + // scroll to top + scrollTo(0, 0); + + // init wysiwyg $('#id_{{ name }}').wymeditor({ lang: '{{ language }}', skin: 'django', - skinPath: "{{ CMS_MEDIA_URL }}js/wymeditor/skins/django/", + skinPath: "{{ STATIC_URL }}cms/js/wymeditor/skins/django/", updateSelector: 'input[type=submit],', updateEvent: 'click', logoHtml: '', @@ -51,12 +53,8 @@ } }); - - - /* onclick for 'Insert object' */ - function init_buttons(placeholder){ $('span.insert-object').click(function(){ var select = $(this).parent().children("select"); @@ -102,8 +100,6 @@ } }); - - function get_plugin_html(){ html = '
  • ' + ' + + + + diff --git a/cms/templates/admin/cms/page/plugin_forms_history.html b/cms/templates/admin/cms/page/plugin_forms_history.html index e211e5cb3c3..dc0339ee0db 100644 --- a/cms/templates/admin/cms/page/plugin_forms_history.html +++ b/cms/templates/admin/cms/page/plugin_forms_history.html @@ -3,7 +3,7 @@ {% block title %}{% trans "Change a page" %}{% endblock %} {% block extrahead %} - + {% endblock %} {% block content_title %}{% trans "An old revision of a plugin can not be saved!" %}{% endblock %} @@ -18,4 +18,4 @@ })(jQuery); //]]> -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/cms/templates/admin/cms/page/plugin_forms_ok.html b/cms/templates/admin/cms/page/plugin_forms_ok.html index 90adf05a005..4c4265d0f94 100644 --- a/cms/templates/admin/cms/page/plugin_forms_ok.html +++ b/cms/templates/admin/cms/page/plugin_forms_ok.html @@ -1,24 +1,32 @@ {% extends "admin/change_form.html" %} {% load i18n admin_modify adminmedia %} + {% block title %}{% trans "Change a page" %}{% endblock %} {% block extrahead %} - -{{ media }} + + {{ media }} {% endblock %} {% block content_title %}{% endblock %} {% block content %} {% endblock %} \ No newline at end of file diff --git a/cms/templates/admin/page_submit_line.html b/cms/templates/admin/page_submit_line.html index b14b7fe4b43..c513601114f 100644 --- a/cms/templates/admin/page_submit_line.html +++ b/cms/templates/admin/page_submit_line.html @@ -12,3 +12,11 @@ {% if show_save_and_add_another %}{% endif %} {% if show_save_and_continue %}{% endif %} + \ No newline at end of file diff --git a/cms/templates/cms/inc/csrf_js.html b/cms/templates/cms/inc/csrf_js.html deleted file mode 100644 index b8bc4d2deeb..00000000000 --- a/cms/templates/cms/inc/csrf_js.html +++ /dev/null @@ -1,18 +0,0 @@ - diff --git a/cms/templates/cms/new.html b/cms/templates/cms/new.html index aab60453ee4..c221f013bf6 100644 --- a/cms/templates/cms/new.html +++ b/cms/templates/cms/new.html @@ -43,7 +43,7 @@
    -

     

    +

     

    Welcome to the django CMS!
    Here is what to do next:

    @@ -52,18 +52,18 @@

    Log into the admin interface and start Make sure you publish them.

     

    - Django-CMS.org + Django-CMS.org Documentation

    - If you don't see the django CMS logo at the end of this line make sure you linked the cms/media folder - to your media files: here should be a logo

    + If you don't see the django CMS logo at the end of this line make sure you linked the static/cms folder + to your static files: here should be a logo

    You're seeing this message because you have DEBUG = True in your django settings file and haven't added any pages yet. Get to work!"

    - \ No newline at end of file + diff --git a/cms/templates/cms/toolbar/add_plugins.html b/cms/templates/cms/toolbar/add_plugins.html deleted file mode 100644 index c795daa8d9a..00000000000 --- a/cms/templates/cms/toolbar/add_plugins.html +++ /dev/null @@ -1,20 +0,0 @@ -{% load i18n %} -
    -
    - {{ placeholder_label }} -
    -
    {% trans "Add Plugin" %}arrow -
      - {% regroup installed_plugins by module as module_list %} - {% for module in module_list %} -
    • {% if module.grouper %}{{ module.grouper|capfirst }}{% else %}{% trans "Available plugins" %}{% endif %} -
        - {% for p in module.list %} - {{ p.name }} - {% endfor %} -
      -
    • - {% endfor %} -
    -
    -
    diff --git a/cms/templates/cms/toolbar/items/_post_button_hidden.html b/cms/templates/cms/toolbar/items/_post_button_hidden.html new file mode 100644 index 00000000000..01bedbc6306 --- /dev/null +++ b/cms/templates/cms/toolbar/items/_post_button_hidden.html @@ -0,0 +1 @@ +{% for name in single %}{% endfor %}{% for name, value in double.items %}{% endfor %} \ No newline at end of file diff --git a/cms/templates/cms/toolbar/items/anchor.html b/cms/templates/cms/toolbar/items/anchor.html new file mode 100644 index 00000000000..e256e44f512 --- /dev/null +++ b/cms/templates/cms/toolbar/items/anchor.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/cms/templates/cms/toolbar/items/button.html b/cms/templates/cms/toolbar/items/button.html new file mode 100644 index 00000000000..e1c929b38fa --- /dev/null +++ b/cms/templates/cms/toolbar/items/button.html @@ -0,0 +1,12 @@ +
    +
    + [hidden] + {% csrf_token %} + + +   +  [title] + + +
    +
    \ No newline at end of file diff --git a/cms/templates/cms/toolbar/items/list.html b/cms/templates/cms/toolbar/items/list.html new file mode 100644 index 00000000000..5c72b9832a0 --- /dev/null +++ b/cms/templates/cms/toolbar/items/list.html @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/cms/templates/cms/toolbar/items/login.html b/cms/templates/cms/toolbar/items/login.html new file mode 100644 index 00000000000..8b615130bb9 --- /dev/null +++ b/cms/templates/cms/toolbar/items/login.html @@ -0,0 +1,14 @@ +{% load i18n %} +
    +
    + {% csrf_token %} + +
    + +
    + + {% trans "Login" %} + + +
    +
    \ No newline at end of file diff --git a/cms/templates/cms/toolbar/items/status.html b/cms/templates/cms/toolbar/items/status.html new file mode 100644 index 00000000000..83e2755fe0e --- /dev/null +++ b/cms/templates/cms/toolbar/items/status.html @@ -0,0 +1,2 @@ +{% load i18n %} +

    {% trans "Status" %}: {% for state in request.toolbar.states %}{{ state.get_action_display }} {% endfor %}

    \ No newline at end of file diff --git a/cms/templates/cms/toolbar/items/switcher.html b/cms/templates/cms/toolbar/items/switcher.html new file mode 100644 index 00000000000..95c7d51f189 --- /dev/null +++ b/cms/templates/cms/toolbar/items/switcher.html @@ -0,0 +1,5 @@ +{% load i18n %} + \ No newline at end of file diff --git a/cms/templates/cms/toolbar/placeholder.html b/cms/templates/cms/toolbar/placeholder.html new file mode 100644 index 00000000000..c08c16c3490 --- /dev/null +++ b/cms/templates/cms/toolbar/placeholder.html @@ -0,0 +1,42 @@ +{% load i18n sekizai_tags %} +{% addtoblock "js" %} + +{% endaddtoblock %} +
    +
    {{ placeholder_label }}
    +
    + + +  {% trans "Add" %} + - + + +
      + {% regroup installed_plugins by module as module_list %} + {% for module in module_list %} +
    • {% if module.grouper %}{{ module.grouper|capfirst }}{% else %}{% trans "Available plugins" %}{% endif %} +
        + {% for p in module.list %} + {{ p.name }} + {% endfor %} +
      +
    • + {% endfor %} +
    +
    +
    \ No newline at end of file diff --git a/cms/templates/cms/toolbar/placeholder_wrapper.html b/cms/templates/cms/toolbar/placeholder_wrapper.html new file mode 100644 index 00000000000..329949fbf73 --- /dev/null +++ b/cms/templates/cms/toolbar/placeholder_wrapper.html @@ -0,0 +1,22 @@ +{% load sekizai_tags %} +{% addtoblock "js" %} + +{% endaddtoblock %} +
    {{ rendered_content }}
    \ No newline at end of file diff --git a/cms/templates/cms/toolbar/toolbar.html b/cms/templates/cms/toolbar/toolbar.html index c5e96676f77..1395a594d91 100644 --- a/cms/templates/cms/toolbar/toolbar.html +++ b/cms/templates/cms/toolbar/toolbar.html @@ -1,256 +1,86 @@ -{% load i18n adminmedia %} - - +{% load i18n adminmedia sekizai_tags %} +{% addtoblock "js" %}{% endaddtoblock %} +{% addtoblock "js" %}{% endaddtoblock %} +{% addtoblock "js" %}{% endaddtoblock %} +{% addtoblock "js" %}{% endaddtoblock %} +{% addtoblock "js" %}{% endaddtoblock %} +{% addtoblock "js" %}{% endaddtoblock %} +{% addtoblock "css" %}{% endaddtoblock %} +{% addtoblock "css" %}{% endaddtoblock %} +{% addtoblock "js" %} - - - - - - - - +{% endaddtoblock %} - if (!seen) { - // show previously posted message if there were an error - //$('#id_df_moderator_message').val($('#id_moderator_message').val()); - } - seen = true - event.preventDefault(); - submitActor = actor; - $('#dialog').dialog('open'); - return false; - } +acontent" - } - response = self.client.post(edit_url, data) - self.assertEquals(response.status_code, 200) - txt = Text.objects.all()[0] - self.assertEquals(txt.body, '
    divcontent
    acontent') - - self.client.logout() - self.user = None + page, placeholder, superuser, staff = self.get_data() + with self.login_user_context(superuser): + plugin = add_plugin(placeholder, 'TextPlugin', 'en', body='body') + # ACTUAL TEST STARTS HERE. + data = { + "body": "
    divcontent
    acontent" + } + edit_url = '%s%s/' % (URL_CMS_PLUGIN_EDIT, plugin.pk) + response = self.client.post(edit_url, data) + self.assertEquals(response.status_code, 200) + txt = Text.objects.all()[0] + self.assertEquals(txt.body, '
    divcontent
    acontent') diff --git a/cms/tests/settings.py b/cms/tests/settings.py index ac6862211a3..74d8ba758a2 100644 --- a/cms/tests/settings.py +++ b/cms/tests/settings.py @@ -1,14 +1,75 @@ # -*- coding: utf-8 -*- from __future__ import with_statement -from cms.conf.patch import post_patch -from cms.test.testcases import CMSTestCase -from cms.test.util.context_managers import SettingsOverride - +from django.core.exceptions import ImproperlyConfigured +from cms.conf.patch import post_patch, post_patch_check +from cms.conf.global_settings import CMS_TEMPLATE_INHERITANCE_MAGIC +from cms.test_utils.util.context_managers import SettingsOverride +from cms.test_utils.testcases import CMSTestCase class SettingsTests(CMSTestCase): - def test_01_dbgettext_deprecation(self): - with SettingsOverride(CMS_DBGETTEXT_SLUGS=True): - self.assertWarns(DeprecationWarning, - "CMS_DBGETTEXT_SLUGS (and general support for django-dbggettext " - "for CMS contents) will be deprecated in django CMS 2.2.", - post_patch) \ No newline at end of file + def test_cms_templates_length(self): + ''' + Ensure that the correct exception is raised when CMS_TEMPLATES is + configured with an empty tuple or the magic value 'INHERIT' + ''' + improperly_configured_template_tests = ( + # don't allow 0 length + (), + + # don't allow length of 1 if the only value is the magic inheritance + ((CMS_TEMPLATE_INHERITANCE_MAGIC, None),), + ) + for value_to_test in improperly_configured_template_tests: + with SettingsOverride(DEBUG=True, CMS_TEMPLATES=value_to_test): + self.assertRaises(ImproperlyConfigured, post_patch_check) + + def test_cms_templates_none(self): + ''' + In fixing #814, CMS_TEMPLATES default after patching changes from None + to an empty tuple. As such, If the user has decided to set None for some + reason, this test lets us know what to expect. + As it stands, we should get a TypeError because post_patch attempts to + turn None into a tuple explicitly. + ''' + + # with CMS_TEMPLATE_INHERITANCE we step into an if statement that errors + with SettingsOverride(DEBUG=True, CMS_TEMPLATE_INHERITANCE=True, CMS_TEMPLATES=None): + self.assertRaises(TypeError, post_patch) + + # without CMS_TEMPLATE_INHERITANCE enabled, the function should return nothing + with SettingsOverride(DEBUG=True, CMS_TEMPLATE_INHERITANCE=False, CMS_TEMPLATES=None): + self.assertEqual(None, post_patch()) + + def test_cms_templates_valid(self): + ''' + These are all formats that should be valid, thus return nothing when DEBUG is True. + ''' + success_template_tests = ( + # one valid template + (('col_two.html', 'two columns'),), + + # two valid templates + (('col_two.html', 'two columns'), + ('col_three.html', 'three columns'),), + + # three valid templates + (('col_two.html', 'two columns'), + ('col_three.html', 'three columns'), + ('nav_playground.html', 'navigation examples'),), + + # three valid templates + inheritance + (('col_two.html', 'two columns'), + ('col_three.html', 'three columns'), + ('nav_playground.html', 'navigation examples'), + (CMS_TEMPLATE_INHERITANCE_MAGIC, None),), + + # same valid templates as above, ensuring we don't short circuit when inheritance + # magic comes first. + ((CMS_TEMPLATE_INHERITANCE_MAGIC, None), + ('col_two.html', 'two columns'), + ('col_three.html', 'three columns'), + ('nav_playground.html', 'navigation examples'),), + ) + for value_to_test in success_template_tests: + with SettingsOverride(DEBUG=True, CMS_TEMPLATES=value_to_test): + self.assertEqual(None, post_patch_check()) diff --git a/cms/tests/site.py b/cms/tests/site.py index 6c0cf8277cd..369b2c6b392 100644 --- a/cms/tests/site.py +++ b/cms/tests/site.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- from __future__ import with_statement +from cms.api import create_page +from cms.models import Page +from cms.test_utils.testcases import CMSTestCase +from cms.test_utils.util.context_managers import SettingsOverride from django.contrib.auth.models import User from django.contrib.sites.models import Site -from cms.models import Page -from cms.test.testcases import CMSTestCase -from cms.test.util.context_managers import SettingsOverride class SiteTestCase(CMSTestCase): """Site framework specific test cases. @@ -19,31 +20,35 @@ def setUp(self): u.save() # setup sites - Site(domain="sample2.com", name="sample2.com").save() # pk 2 - Site(domain="sample3.com", name="sample3.com").save() # pk 3 + self.site2 = Site.objects.create(domain="sample2.com", name="sample2.com") + self.site3 = Site.objects.create(domain="sample3.com", name="sample3.com") - self.login_user(u) + self._login_context = self.login_user_context(u) + self._login_context.__enter__() + + def tearDown(self): + self._login_context.__exit__(None, None, None) - def test_01_site_framework(self): + def test_site_framework(self): #Test the site framework, and test if it's possible to disable it - with SettingsOverride(SITE_ID=2): - page_2a = self.create_page(site=2) + with SettingsOverride(SITE_ID=self.site2.pk): + create_page("page_2a", "nav_playground.html", "en", site=self.site2) - response = self.client.get("/admin/cms/page/?site__exact=3") + response = self.client.get("/admin/cms/page/?site__exact=%s" % self.site3.pk) self.assertEqual(response.status_code, 200) - page_3b = self.create_page(site=3) + create_page("page_3b", "nav_playground.html", "en", site=self.site3) - with SettingsOverride(SITE_ID=3): - page_3a = self.create_page(site=3) + with SettingsOverride(SITE_ID=self.site3.pk): + create_page("page_3a", "nav_playground.html", "en", site=self.site3) # with param - self.assertEqual(Page.objects.on_site(2).count(), 1) - self.assertEqual(Page.objects.on_site(3).count(), 2) + self.assertEqual(Page.objects.on_site(self.site2.pk).count(), 1) + self.assertEqual(Page.objects.on_site(self.site3.pk).count(), 2) self.assertEqual(Page.objects.drafts().on_site().count(), 2) - with SettingsOverride(SITE_ID=2): + with SettingsOverride(SITE_ID=self.site2.pk): # without param self.assertEqual(Page.objects.drafts().on_site().count(), 1) diff --git a/cms/tests/templatetags.py b/cms/tests/templatetags.py new file mode 100644 index 00000000000..c736d4cee92 --- /dev/null +++ b/cms/tests/templatetags.py @@ -0,0 +1,96 @@ +from __future__ import with_statement +from cms.models.pagemodel import Page +from cms.templatetags.cms_tags import get_site_id, _get_page_by_untyped_arg +from cms.test_utils.fixtures.templatetags import TwoPagesFixture +from cms.test_utils.testcases import SettingsOverrideTestCase +from cms.test_utils.util.context_managers import SettingsOverride +from cms.utils.plugins import get_placeholders +from django.contrib.sites.models import Site +from django.core import mail +from django.core.exceptions import ImproperlyConfigured +from unittest import TestCase + + +class TemplatetagTests(TestCase): + def test_get_site_id_from_nothing(self): + with SettingsOverride(SITE_ID=10): + self.assertEqual(10, get_site_id(None)) + + def test_get_site_id_from_int(self): + self.assertEqual(10, get_site_id(10)) + + def test_get_site_id_from_site(self): + site = Site() + site.id = 10 + self.assertEqual(10, get_site_id(site)) + + def test_get_site_id_from_str_int(self): + self.assertEqual(10, get_site_id('10')) + + def test_get_site_id_from_str(self): + with SettingsOverride(SITE_ID=10): + self.assertEqual(10, get_site_id("something")) + + def test_unicode_placeholder_name_fails_fast(self): + self.assertRaises(ImproperlyConfigured, get_placeholders, 'unicode_placeholder.html') + + +class TemplatetagDatabaseTests(TwoPagesFixture, SettingsOverrideTestCase): + settings_overrides = {'CMS_MODERATOR': False} + + def _getfirst(self): + return Page.objects.get(title_set__title='first') + + def _getsecond(self): + return Page.objects.get(title_set__title='second') + + def test_get_page_by_untyped_arg_none(self): + control = self._getfirst() + request = self.get_request('/') + request.current_page = control + page = _get_page_by_untyped_arg(None, request, 1) + self.assertEqual(page, control) + + def test_get_page_by_untyped_arg_page(self): + control = self._getfirst() + request = self.get_request('/') + page = _get_page_by_untyped_arg(control, request, 1) + self.assertEqual(page, control) + + def test_get_page_by_untyped_arg_reverse_id(self): + second = self._getsecond() + request = self.get_request('/') + page = _get_page_by_untyped_arg("myreverseid", request, 1) + self.assertEqual(page, second) + + def test_get_page_by_untyped_arg_dict(self): + second = self._getsecond() + request = self.get_request('/') + page = _get_page_by_untyped_arg({'pk': second.pk}, request, 1) + self.assertEqual(page, second) + + def test_get_page_by_untyped_arg_dict_fail_debug(self): + with SettingsOverride(DEBUG=True): + request = self.get_request('/') + self.assertRaises(Page.DoesNotExist, + _get_page_by_untyped_arg, {'pk': 3}, request, 1 + ) + self.assertEqual(len(mail.outbox), 0) + + def test_get_page_by_untyped_arg_dict_fail_nodebug_do_email(self): + with SettingsOverride(SEND_BROKEN_LINK_EMAILS=True, DEBUG=False, MANAGERS=[("Jenkins", "tests@django-cms.org")]): + request = self.get_request('/') + page = _get_page_by_untyped_arg({'pk': 3}, request, 1) + self.assertEqual(page, None) + self.assertEqual(len(mail.outbox), 1) + + def test_get_page_by_untyped_arg_dict_fail_nodebug_no_email(self): + with SettingsOverride(SEND_BROKEN_LINK_EMAILS=False, DEBUG=False, MANAGERS=[("Jenkins", "tests@django-cms.org")]): + request = self.get_request('/') + page = _get_page_by_untyped_arg({'pk': 3}, request, 1) + self.assertEqual(page, None) + self.assertEqual(len(mail.outbox), 0) + + def test_get_page_by_untyped_arg_fail(self): + request = self.get_request('/') + self.assertRaises(TypeError, _get_page_by_untyped_arg, [], request, 1) \ No newline at end of file diff --git a/cms/tests/toolbar.py b/cms/tests/toolbar.py index 230c5c8d93c..71e85d97233 100644 --- a/cms/tests/toolbar.py +++ b/cms/tests/toolbar.py @@ -1,17 +1,286 @@ from __future__ import with_statement -from cms.test.testcases import SettingsOverrideTestCase -from cms.test.util.context_managers import UserLoginContext +from cms.api import create_page +from cms.cms_toolbar import CMSToolbar +from cms.test_utils.testcases import SettingsOverrideTestCase +from cms.test_utils.util.request_factory import RequestFactory +from cms.toolbar.items import (Anchor, TemplateHTML, Switcher, List, ListItem, + GetButton) from django.conf import settings +from django.contrib.auth.models import AnonymousUser, User +from django.contrib.sessions.middleware import SessionMiddleware +from django.core.urlresolvers import reverse +class ToolbarUserMixin(object): + def get_anon(self): + return AnonymousUser() -class ToolbarTests(SettingsOverrideTestCase): + def get_staff(self): + staff = User( + username='staff', + email='staff@staff.org', + is_active=True, + is_staff=True, + ) + staff.set_password('staff') + staff.save() + return staff + + def get_superuser(self): + superuser = User( + username='superuser', + email='superuser@superuser.org', + is_active=True, + is_staff=True, + is_superuser=True, + ) + superuser.set_password('superuser') + superuser.save() + return superuser + + +class ToolbarTests(SettingsOverrideTestCase, ToolbarUserMixin): settings_overrides = {'CMS_MODERATOR': False} - - def test_01_static_html(self): - page = self.create_page(published=True) + + @property + def request_factory(self): + return RequestFactory() + + def test_toolbar_no_page_anon(self): + request = self.request_factory.get('/') + request.user = self.get_anon() + request.current_page = None + toolbar = CMSToolbar(request) + + items = toolbar.get_items({}) + self.assertEqual(len(items), 2) # Logo + login + + # check the logo is there + logo = items[0] + self.assertTrue(isinstance(logo, Anchor)) + + # check the login form is there + login = items[1] + self.assertTrue(isinstance(login, TemplateHTML)) + self.assertEqual(login.template, 'cms/toolbar/items/login.html') + + def test_toolbar_no_page_staff(self): + request = self.request_factory.get('/') + request.user = self.get_staff() + request.current_page = None + toolbar = CMSToolbar(request) + + items = toolbar.get_items({}) + # Logo + edit-mode + admin-menu + logout + self.assertEqual(len(items), 4) + + # check the logo is there + logo = items[0] + self.assertTrue(isinstance(logo, Anchor)) + + # check the edit-mode switcher is there and the switcher is turned off + edit = items[1] + self.assertTrue(isinstance(edit, Switcher)) + self.assertFalse(toolbar.edit_mode) + + # check the admin-menu + admin = items[2] + self.assertTrue(isinstance(admin, List)) + self.assertEqual(len(admin.raw_items), 1) # only the link to main admin + self.assertTrue(isinstance(admin.raw_items[0], ListItem)) + + # check the logout button + logout = items[3] + self.assertTrue(isinstance(logout, GetButton)) + self.assertEqual(logout.url, '?cms-toolbar-logout') + + def test_toolbar_no_page_superuser(self): + request = self.request_factory.get('/') + request.user = self.get_superuser() + request.current_page = None + toolbar = CMSToolbar(request) + + items = toolbar.get_items({}) + # Logo + edit-mode + admin-menu + logout + self.assertEqual(len(items), 4) + + # check the logo is there + logo = items[0] + self.assertTrue(isinstance(logo, Anchor)) + + # check the edit-mode switcher is there and the switcher is turned off + edit = items[1] + self.assertTrue(isinstance(edit, Switcher)) + self.assertFalse(toolbar.edit_mode) + + # check the admin-menu + admin = items[2] + self.assertTrue(isinstance(admin, List)) + self.assertEqual(len(admin.raw_items), 1) # only the link to main admin + self.assertTrue(isinstance(admin.raw_items[0], ListItem)) + + # check the logout button + logout = items[3] + self.assertTrue(isinstance(logout, GetButton)) + self.assertEqual(logout.url, '?cms-toolbar-logout') + + def test_toolbar_anon(self): + page = create_page('test', 'nav_playground.html', 'en') + request = self.request_factory.get('/') + request.user = self.get_anon() + request.current_page = page + toolbar = CMSToolbar(request) + + items = toolbar.get_items({}) + self.assertEqual(len(items), 2) # Logo + login + + # check the logo is there + logo = items[0] + self.assertTrue(isinstance(logo, Anchor)) + + # check the login form is there + login = items[1] + self.assertTrue(isinstance(login, TemplateHTML)) + self.assertEqual(login.template, 'cms/toolbar/items/login.html') + + def test_toolbar_staff(self): + page = create_page('test', 'nav_playground.html', 'en', published=True) + request = self.request_factory.get(page.get_absolute_url()) + request.user = self.get_staff() + request.current_page = page + toolbar = CMSToolbar(request) + + items = toolbar.get_items({}) + # Logo + edit-mode + templates + page-menu + admin-menu + logout + self.assertEqual(len(items), 6) + + # check the logo is there + logo = items[0] + self.assertTrue(isinstance(logo, Anchor)) + + # check the edit-mode switcher is there and the switcher is turned off + edit = items[1] + self.assertTrue(isinstance(edit, Switcher)) + self.assertFalse(toolbar.edit_mode) + + # check templates + templates = items[2] + self.assertTrue(isinstance(templates, List)) + self.assertEqual(len(templates.raw_items), len(settings.CMS_TEMPLATES)) + base = reverse('admin:cms_page_change_template', args=(page.pk,)) + for item, template in zip(templates.raw_items, settings.CMS_TEMPLATES): + self.assertEqual(item.url, '%s?template=%s' % (base, template[0])) + + # check page menu + pagemenu = items[3] + self.assertTrue(isinstance(pagemenu, List)) + self.assertEqual(len(pagemenu.raw_items), 4) + + overview, addchild, addsibling, delete = pagemenu.raw_items + self.assertEqual(overview.url, reverse('admin:cms_page_changelist')) + self.assertEqual(addchild.serialize_url({}, toolbar), + reverse('admin:cms_page_add') + '?position=last-child&target=%s' % page.pk) + self.assertEqual(addsibling.serialize_url({}, toolbar), + reverse('admin:cms_page_add') + '?position=last-child') + self.assertEqual(delete.serialize_url({}, toolbar), + reverse('admin:cms_page_delete', args=(page.pk,))) + + # check the admin-menu + admin = items[4] + self.assertTrue(isinstance(admin, List)) + self.assertEqual(len(admin.raw_items), 1) # only the link to main admin + self.assertTrue(isinstance(admin.raw_items[0], ListItem)) + + # check the logout button + logout = items[5] + self.assertTrue(isinstance(logout, GetButton)) + self.assertEqual(logout.url, '?cms-toolbar-logout') + + def test_toolbar_markup(self): + superuser = self.get_superuser() + create_page("toolbar-page", "nav_playground.html", "en", + created_by=superuser, published=True) + + with self.login_user_context(superuser): + response = self.client.get('/?edit') + self.assertEquals(response.status_code, 200) + self.assertTemplateUsed(response, 'nav_playground.html') + self.assertContains(response, '
  • My current page
  • {% endblock %} +.. templatetag:: page_language_url ***************** page_language_url @@ -361,6 +348,7 @@ function with the set_language_changer function in cms.utils. For more information, see :doc:`i18n`. +.. templatetag:: language_chooser **************** language_chooser @@ -392,4 +380,21 @@ If the current url has no cms-page and is handled by a navigation extender and the url changes based on the language: You will need to set a language_changer function with the set_language_changer function in cms.utils. -For more information, see :doc:`i18n`. \ No newline at end of file +For more information, see :doc:`i18n`. + +.. templatetag:: cms_toolbar + +*********** +cms_toolbar +*********** + +The ``cms_toolbar`` templatetag will add the needed css and javascript to the +sekizai blocks in the base template. The templatetag should be placed somewhere +within the body of the HTML (within ``...``). + +Example:: + + + {% cms_toolbar %} + ... + diff --git a/docs/conf.py b/docs/conf.py index 107a7c3e6e6..4d82d357ef6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,13 +21,21 @@ sys.path.append(os.path.abspath('.')) sys.path.append(os.path.abspath('..')) -os.environ['DJANGO_SETTINGS_MODULE'] = 'example.settings' +sys.path.append(os.path.join(os.path.abspath('.'), '_ext')) # -- General configuration ----------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc'] +#extensions = ['sphinx.ext.autodoc'] + +extensions = ['djangocms', 'sphinx.ext.intersphinx'] +intersphinx_mapping = { + 'python': ('http://docs.python.org/2.6', None), + 'django': ('http://readthedocs.org/docs/django/en/latest/', None), + 'classytags': ('http://readthedocs.org/docs/django-classy-tags/en/latest/', None), + 'sekizai': ('http://readthedocs.org/docs/django-sekizai/en/latest/', None), +} # Add any paths that contain templates here, relative to this directory. templates_path = ['templates'] @@ -56,7 +64,7 @@ sys.path.insert(0, path) import cms -version = '.'.join(map(str, cms.VERSION)) +version = cms.__version__ # The full version, including alpha/beta/rc tags. release = cms.__version__ diff --git a/docs/contribution.rst b/docs/contribution.rst index fee2dcc5256..cf3e94f7e53 100644 --- a/docs/contribution.rst +++ b/docs/contribution.rst @@ -1,8 +1,8 @@ ########################## -Contributing to Django-CMS +Contributing to django CMS ########################## -Like every open-source project, Django-CMS is always looking for motivated +Like every open-source project, django CMS is always looking for motivated individuals to contribute to it's source code. However, to ensure the highest code quality and keep the repository nice and tidy, everybody has to follow a few rules (nothing major, I promise :) ) @@ -12,12 +12,12 @@ tidy, everybody has to follow a few rules (nothing major, I promise :) ) Community ********* -People interested in developing for the django-cms should join the +People interested in developing for the django CMS should join the `django-cms-developers`_ mailing list as well as heading over to #django-cms on -freenode for help and to discuss the development. +the `freenode`_ IRC network for help and to discuss the development. -You may also be interested in following @djangocmsstatus on twitter to get the -github commits as well as the hudson build reports. There is also a @djangocms +You may also be interested in following `@djangocmsstatus`_ on twitter to get the +GitHub commits as well as the hudson build reports. There is also a `@djangocms`_ account for less technical announcements. @@ -26,14 +26,14 @@ In a nutshell ************* Here's what the contribution process looks like, in a bullet-points fashion, and -only for the stuff we host on github: +only for the stuff we host on GitHub: -#. django-cms is hosted on `Github`_, at https://github.com/divio/django-cms +#. django CMS is hosted on `GitHub`_, at https://github.com/divio/django-cms #. The best method to contribute back is to create an account there, then fork the project. You can use this fork as if it was your own project, and should push your changes to it. -#. When you feel your code is good enough for inclusion, "send us a pull - request", by using the nice Github web interface. +#. When you feel your code is good enough for inclusion, "send us a `pull + request`_", by using the nice GitHub web interface. @@ -45,7 +45,7 @@ Contributing Code Getting the source code ======================= -If you're interested in developing a new feature for the cms, it is recommended +If you're interested in developing a new feature for the CMS, it is recommended that you first discuss it on the `django-cms-developers`_ mailing list so as not to do any work that will not get merged in anyway. @@ -58,10 +58,10 @@ not to do any work that will not get merged in anyway. - Usually, if unit tests are written, pass, and your change is relevant, then it'll be merged. -Since we're hosted on github, django-cms uses git as a version control system. +Since we're hosted on GitHub, django CMS uses `git`_ as a version control system. -The `Github help`_ is very well written and will get you started on using git -and github in a jiffy. It is an invaluable resource for newbies and old timers +The `GitHub help`_ is very well written and will get you started on using git +and GitHub in a jiffy. It is an invaluable resource for newbies and old timers alike. @@ -82,7 +82,7 @@ Process This is how you fix a bug or add a feature: -#. `fork`_ us on github. +#. `fork`_ us on GitHub. #. Checkout your fork. #. Hack hack hack, test test test, commit commit commit, test again. #. Push to your fork. @@ -135,7 +135,7 @@ correctness. Documentation should be: -- We use `Sphinx`_/restructuredText. So obviously this is the format you should +- We use `Sphinx`_/`restructuredText`_. So obviously this is the format you should use :) File extensions should be .rst. - Written in English. We can discuss how it would bring more people to the project to have a Klingon translation or anything, but that's a problem we @@ -148,7 +148,7 @@ Documentation should be: A brief description of what it does is also welcome. Pulling of documentation is pretty fast and painless. Usually somebody goes over -your text and merges it, since there are no "breaks" and that github parses rst +your text and merges it, since there are no "breaks" and that GitHub parses rst files automagically it's really convenient to work with. Also, contributing to the documentation will earn you great respect from the @@ -173,7 +173,7 @@ Translations ************ -For translators we have a `transifex account +For translators we have a `Transifex account `_ where you can translate the .po files and don't need to install git or mercurial to be able to contribute. All changes there will be automatically sent to the project. @@ -182,5 +182,12 @@ contribute. All changes there will be automatically sent to the project. .. _Sphinx: http://sphinx.pocoo.org/ .. _PEP8: http://www.python.org/dev/peps/pep-0008/ .. _django-cms-developers: http://groups.google.com/group/django-cms-developers -.. _Github : http://www.github.com -.. _Github help : http://help.github.com \ No newline at end of file +.. _GitHub : http://www.github.com +.. _GitHub help : http://help.github.com +.. _freenode : http://freenode.net/ +.. _@djangocmsstatus : https://twitter.com/djangocmsstatus +.. _@djangocms : https://twitter.com/djangocms +.. _pull request : http://help.github.com/send-pull-requests/ +.. _git : http://git-scm.com/ +.. _restructuredText: http://docutils.sourceforge.net/docs/ref/rst/introduction.html + diff --git a/docs/extending_cms/api_references.rst b/docs/extending_cms/api_references.rst index 574c32de3b8..ad625daac01 100644 --- a/docs/extending_cms/api_references.rst +++ b/docs/extending_cms/api_references.rst @@ -2,6 +2,174 @@ API References ############## +******* +cms.api +******* + +Python APIs for creating CMS contents. This is done in :mod:`cms.api` and not +on the models and managers, because the direct API via models and managers is +slightly counterintuitive for developers. Also the functions defined in this +module do sanity checks on arguments. + +.. warning:: None of the functions in this modules do any security or permission + checks. They verify their input values to be sane wherever + possible, however permission checks should be implemented manually + before calling any of these functions. + + +Functions and constants +======================= + +.. module:: cms.api + +.. data:: VISIBILITY_ALL + + Used for the ``limit_menu_visibility`` keyword argument to + :func:`create_page`. Does not limit menu visibility. + + +.. data:: VISIBILITY_USERS + + Used for the ``limit_menu_visibility`` keyword argument to + :func:`create_page`. Limits menu visibility to authenticated users. + + +.. data:: VISIBILITY_STAFF + + Used for the ``limit_menu_visibility`` keyword argument to + :func:`create_page`. Limits menu visibility to staff users. + + +.. function:: create_page(title, template, language, menu_title=None, slug=None, apphook=None, redirect=None, meta_description=None, meta_keywords=None, created_by='python-api', parent=None, publication_date=None, publication_end_date=None, in_navigation=False, soft_root=False, reverse_id=None, navigation_extenders=None, published=False, site=None, login_required=False, limit_visibility_in_menu=VISIBILITY_ALL, position="last-child") + + Creates a :class:`cms.models.pagemodel.Page` instance and returns it. Also + creates a :class:`cms.models.titlemodel.Title` instance for the specified + language. + + :param string title: Title of the page + :param string template: Template to use for this page. Must be in :setting:`CMS_TEMPLATES` + :param string language: Language code for this page. Must be in :setting:`django:LANGUAGES` + :param string menu_title: Menu title for this page + :param string slug: Slug for the page, by default uses a slugified version of *title* + :param apphook: Application to hook on this page, must be a valid apphook + :type apphook: string or :class:`cms.app_base.CMSApp` subclass + :param string redirect: URL redirect (only applicable if :setting:`CMS_REDIRECTS` is ``True``) + :param string meta_description: Description of this page for SEO + :param string meta_keywords: Keywords for this page for SEO + :param created_by: User that creates this page + :type created_by: string of :class:`django.contrib.auth.models.User` instance + :param parent: Parent page of this page + :type parent: :class:`cms.models.pagemodel.Page` instance + :param datetime publication_date: Date to publish this page + :param datetime publication_end_date: Date to unpublish this page + :param boolean in_navigation: Whether this page should be in the navigation or not + :param boolean soft_root: Whether this page is a softroot or not + :param string reverse_id: Reverse ID of this page (for template tags) + :param string navigation_extenders: Menu to attach to this page, must be a valid menu + :param boolean published: Whether this page should be published or not + :param site: Site to put this page on + :type site: :class:`django.contrib.sites.models.Site` instance + :param boolean login_required: Whether users must be logged in or not to view this page + :param limit_menu_visibility: Limits visibility of this page in the menu + :type limit_menu_visibility: :data:`VISIBILITY_ALL` or :data:`VISIBILITY_USERS` or :data:`VISIBILITY_STAFF` + :param string position: Where to insert this node if *parent* is given, must be ``'first-child'`` or ``'last-child'`` + :param string overwrite_url: Overwritten path for this page + + +.. function:: create_title(language, title, page, menu_title=None, slug=None, apphook=None, redirect=None, meta_description=None, meta_keywords=None, parent=None) + + Creates a :class:`cms.models.titlemodel.Title` instance and returns it. + + :param string language: Language code for this page. Must be in :setting:`django:LANGUAGES` + :param string title: Title of the page + :param page: The page for which to create this title + :type page: :class:`cms.models.pagemodel.Page` instance + :param string menu_title: Menu title for this page + :param string slug: Slug for the page, by default uses a slugified version of *title* + :param apphook: Application to hook on this page, must be a valid apphook + :type apphook: string or :class:`cms.app_base.CMSApp` subclass + :param string redirect: URL redirect (only applicable if :setting:`CMS_REDIRECTS` is ``True``) + :param string meta_description: Description of this page for SEO + :param string meta_keywords: Keywords for this page for SEO + :param parent: Used for automated slug generation + :type parent: :class:`cms.models.pagemodel.Page` instance + :param string overwrite_url: Overwritten path for this page + + +.. function:: add_plugin(placeholder, plugin_type, language, position='last-child', **data) + + Adds a plugin to a placeholder and returns it. + + :param placeholder: Placeholder to add the plugin to + :type placeholder: :class:`cms.models.placeholdermodel.Placeholder` instance + :param plugin_type: What type of plugin to add + :type plugin_type: string or :class:`cms.plugin_base.CMSPluginBase` subclass, must be a valid plugin + :param string language: Language code for this plugin, must be in :setting:`django:LANGUAGES` + :param string position: Position to add this plugin to the placeholder, must be a valid django-mptt position + :param kwargs data: Data for the plugin type instance + + +.. function:: create_page_user(created_by, user, can_add_page=True, can_change_page=True, can_delete_page=True, can_recover_page=True, can_add_pageuser=True, can_change_pageuser=True, can_delete_pageuser=True, can_add_pagepermission=True, can_change_pagepermission=True, can_delete_pagepermission=True, grant_all=False) + + Creates a page user for the user provided and returns that page user. + + :param created_by: The user that creates the page user + :type created_by: :class:`django.contrib.auth.models.User` instance + :param user: The user to create the page user from + :type user: :class:`django.contrib.auth.models.User` instance + :param boolean can_*: Permissions to give the user + :param boolean grant_all: Grant all permissions to the user + + +.. function:: assign_user_to_page(page, user, grant_on=ACCESS_PAGE_AND_DESCENDANTS, can_add=False, can_change=False, can_delete=False, can_change_advanced_settings=False, can_publish=False, can_change_permissions=False, can_move_page=False, can_moderate=False, grant_all=False) + + Assigns a user to a page and gives them some permissions. Returns the + :class:`cms.models.permissionmodels.PagePermission` object that gets + created. + + :param page: The page to assign the user to + :type page: :class:`cms.models.pagemodel.Page` instance + :param user: The user to assign to the page + :type user: :class:`django.contrib.auth.models.User` instance + :param grant_on: Controls which pages are affected + :type grant_on: :data:`cms.models.moderatormodels.ACCESS_PAGE`, :data:`cms.models.moderatormodels.ACCESS_CHILDREN`, :data:`cms.models.moderatormodels.ACCESS_DESCENDANTS` or :data:`cms.models.moderatormodels.ACCESS_PAGE_AND_DESCENDANTS` + :param can_*: Permissions to grant + :param boolean grant_all: Grant all permissions to the user + + +.. function:: publish_page(page, user, approve=False) + + Publishes a page and optionally approves that publication. + + :param page: The page to publish + :type page: :class:`cms.models.pagemodel.Page` instance + :param user: The user that performs this action + :type user: :class:`django.contrib.auth.models.User` instance + :param boolean approve: Whether to approve the publication or not + + +.. function:: approve_page(page, user) + + Approves a page. + + :param page: The page to approve + :type page: :class:`cms.models.pagemodel.Page` instance + :param user: The user that performs this action + :type user: :class:`django.contrib.auth.models.User` instance + + +Example workflows +================= + +Create a page called ``'My Page`` using the template ``'my_template.html'`` and +add a text plugin with the content ``'hello world'``. This is done in English:: + + from cms.api import create_page, add_plugin + + page = create_page('My Page', 'my_template.html', 'en') + placeholder = page.placeholders.get(slot='body') + add_plugin(placeholder, 'TextPlugin', 'en', body='hello world') + *************** cms.plugin_base @@ -27,13 +195,13 @@ cms.plugin_base .. attribute:: model - Is the CMSPlugin model we created earlier. If you don't need a model - because you just want to display some template logic, use CMSPlugin from - ``cms.models`` as the model instead. + Is the :class:`CMSPlugin` model we created earlier. If you don't need + model because you just want to display some template logic, use + :class:`CMSPlugin` from :mod:`cms.models` as the model instead. .. attribute:: module - Will be group the plugin in the plugin editor. If module is None, + Will be group the plugin in the plugin editor. If module is ``None``, plugin is grouped "Generic" group. .. attribute:: name @@ -71,20 +239,6 @@ cms.plugin_base :param instance: Plugin instance that is being rendered. :param placeholder: Name of the placeholder the plugin is in. :rtype: ``dict`` - - .. class:: PluginMedia - - Defines media which is required to render this plugin. - - .. attribute:: css - - The CSS files required to render this plugin as a dictionary with - the display type as keys and a sequence of strings as values. - - .. attribute:: js - - The Javascript files required to render this plugin as a sequence - of strings. ********** @@ -105,4 +259,24 @@ menus.base :param dict attr: Optional, dictionary of additional information to store on this node. :param bool visible: Optional, defaults to ``True``, whether this item is - visible or not. \ No newline at end of file + visible or not. + + + .. method:: get_descendants + + Returns a list of all children beneath the current menu item. + + .. method:: get_ancestors + + Returns a list of all parent items, excluding the current menu item. + + .. method:: get_absolute_url + + Utility method to return the URL associated with this menu item, + primarily to follow naming convention asserted by Django. + + .. method:: get_menu_title + + Utility method to return the associated title, using the same naming + convention used by :class:`cms.models.pagemodel.Page`. + diff --git a/docs/extending_cms/app_integration.rst b/docs/extending_cms/app_integration.rst index df42f44edde..a1d8ee10a0c 100644 --- a/docs/extending_cms/app_integration.rst +++ b/docs/extending_cms/app_integration.rst @@ -2,7 +2,7 @@ App Integration ############### -It is pretty easy to integrate your own Django applications with django-cms. +It is pretty easy to integrate your own Django applications with django CMS. You have 5 ways of integrating your app: 1. Menus @@ -52,8 +52,9 @@ Create a menu.py in your application and write the following inside:: menu_pool.register_menu(TestMenu) If you refresh a page you should now see the menu entries from above. -The get_nodes function should return a list of NavigationNode instances. -A NavigationNode takes the following arguments: +The get_nodes function should return a list of +:class:`NavigationNode ` instances. A +:class:`NavigationNode` takes the following arguments: - title @@ -69,7 +70,7 @@ A NavigationNode takes the following arguments: - parent_id=None - If this is a child of an other node give here the id of the parent. + If this is a child of another node give here the id of the parent. - parent_namespace=None @@ -77,21 +78,29 @@ A NavigationNode takes the following arguments: namespace. The namespace is the name of the class. In the above example that would be: "TestMenu" - - attr=None +- attr=None A dictionary of additional attributes you may want to use in a modifier or in the template. +- visible=True + + Whether or not this menu item should be visible. + +Additionally, each :class:`NavigationNode` provides a number of methods, which are +detailed in the :class:`NavigationNode ` API references. ************ Attach Menus ************ -Classes that extend from `Menu` always get attached to the root. But if you -want the menu be attached to a CMS-page you can do that as well. +Classes that extend from :class:`menus.base.Menu` always get attached to the +root. But if you want the menu be attached to a CMS Page you can do that as +well. -Instead of extending from `Menu` you need to extend from `CMSAttachMenu` and -you need to define a name. We will do that with the example from above:: +Instead of extending from :class:`~menus.base.Menu` you need to extend from +:class:`cms.menu_bases.CMSAttachMenu` and you need to define a name. We will do +that with the example from above:: from menus.base import NavigationNode @@ -121,24 +130,18 @@ you need to define a name. We will do that with the example from above:: Now you can link this Menu to a page in the 'Advanced' tab of the page settings under attached menu. +Each must have a :meth:`get_menu_title` method, a +:meth:`~django.db.models.Model.get_absolute_url` method, and a ``childrens`` +list with all of its children inside (the 's' at the end of ``childrens`` is +done on purpose because ``children`` is already taken by django-mptt). -It is encouraged to use `django-mptt `_ -(a suitable version is included in the `mptt` directory) for the tree -structure because of performance considerations. The objects provided must -adhere to the following structure: - -Each must have a ``get_menu_title`` function, a ``get_absolute_url`` function, -and a ``childrens`` array with all of its children inside (the 's' at the end -of ``childrens`` is done on purpose because ``children`` is already taken by -mptt). +Be sure that :meth:`get_menu_title` and :meth:`get_absolute_url` don't trigger +any queries when called in a template or you may have some serious performance +and database problems with a lot of queries. -Be sure that ``get_menu_title`` and ``get_absolute_url`` don't trigger any -queries when called in a template or you may have some serious performance and -DB problems with a lot of queries. - -It may be wise to cache the output of ``get_nodes``. For this you may need to -write a wrapper class because of dynamic content that the pickle module can't -handle. +It may be wise to cache the output of :meth:`~menu.base.Menu.get_nodes`. For +this you may need to write a wrapper class because of dynamic content that the +pickle module can't handle. If you want to display some static pages in the navigation ("login", for example) you can write your own "dummy" class that adheres to the conventions @@ -154,7 +157,7 @@ App-Hooks With App-Hooks you can attach whole Django applications to pages. For example you have a news app and you want it attached to your news page. -To create an apphook create a cms_app.py in your application. And in there +To create an apphook create a ``cms_app.py`` in your application. And in there write the following:: from cms.app_base import CMSApp @@ -167,19 +170,29 @@ write the following:: apphook_pool.register(MyApphook) -Replace "myapp.urls" with the path to your applications urls.py. +Replace ``myapp.urls`` with the path to your applications ``urls.py``. Now edit a page and open the advanced settings tab. Select your new apphook under "Application". Save the page. -** ATTENTION ** If you are on a multi-threaded server (mostly all webservers, -except the dev-server): Restart the server because the URLs are cached by -Django and in a multi-threaded environment we don't know which caches are -cleared yet. +.. warning:: + + If you are on a multi-threaded server (mostly all webservers, + except the dev-server): Restart the server because the URLs are cached by + Django and in a multi-threaded environment we don't know which caches are + cleared yet. + +.. note:: + + If at some point you want to remove this apphook after deleting the cms_app.py + there is a cms management command called uninstall apphooks + that removes the specified apphook(s) from all pages by name. + eg. ``manage.py cms uninstall apphooks MyApphook``. + To find all names for uninstallable apphooks there is a command for this aswell + ``manage.py cms list apphooks``. -If you attached the app to a page with the url `/hello/world/` and the app has -a urls.py that looks like this: -:: +If you attached the app to a page with the url ``/hello/world/`` and the app has +a urls.py that looks like this:: from django.conf.urls.defaults import * @@ -188,27 +201,37 @@ a urls.py that looks like this: url(r'^sublevel/$', 'sample_view', name='app_sublevel'), ) -The 'main_view' should now be available at `/hello/world/` and the -'sample_view' has the url '/hello/world/sublevel/'. +The ``main_view`` should now be available at ``/hello/world/`` and the +``sample_view`` has the url ``/hello/world/sublevel/``. -.. note:: All views that are attached like this must return a RequestContext - instance instead of the default Context instance. +.. note:: -**Language Namespaces** + All views that are attached like this must return a + :class:`~django.template.RequestContext` instance instead of the + default :class:`~django.template.Context` instance. + + +Language Namespaces +------------------- An additional feature of apphooks is that if you use the -MultilingualURLMiddleware all apphook urls are language namespaced. +:class:`cms.middleware.multilingual.MultilingualURLMiddleware` all apphook urls +are language namespaced. What this means: To reverse the first url from above you would use something like this in your -template:: +template: + +.. code-block:: html+django {% url app_main %} If you want to access the same url but in a different language use a langauge -namespace:: +namespace: + +.. code-block:: html+django {% url de:app_main %} {% url en:app_main %} @@ -227,9 +250,9 @@ in your app add it to your apphook like this:: apphook_pool.register(MyApphook) -For an example if your app has a Category model and you want this category -model to be displayed in the menu when you attach the app to a page. We assume -the following model:: +For an example if your app has a :class:`Category` model and you want this +category model to be displayed in the menu when you attach the app to a page. +We assume the following model:: from django.db import models from django.core.urlresolvers import reverse @@ -250,10 +273,6 @@ the following model:: except mptt.AlreadyRegistered: pass -It is encouraged to use `django-mptt `_ -(a suitable version is included in the `mptt` directory) if you have data that -is organized in a tree. - We would now create a menu out of these categories:: from menus.base import NavigationNode @@ -269,7 +288,13 @@ We would now create a menu out of these categories:: def get_nodes(self, request): nodes = [] for category in Category.objects.all().order_by("tree_id", "lft"): - nodes.append(NavigationNode(category.name, category.pk, category.parent_id)) + node = NavigationNode( + category.name, + category.get_absolute_url(), + category.pk, + category.parent_id + ) + nodes.append(node) return nodes menu_pool.register_menu(CategoryMenu) @@ -283,16 +308,41 @@ If you add this menu now to your app-hook:: urls = ["myapp.urls"] menus = [MyAppMenu, CategoryMenu] -You get the static entries of MyAppMenu and the dynamic entries of -CategoryMenu both attached to the same page. +You get the static entries of :class:`MyAppMenu` and the dynamic entries of +:class:`CategoryMenu` both attached to the same page. ******************** Navigation Modifiers ******************** -Navigation Modifiers can add or change properties of NavigationNodes, they -even can rearrange whole menus. You normally want to create them in your apps -menu.py. +Navigation Modifiers give your application access to navigation menus. + +A modifier can change the properties of existing nodes or rearrange entire +menus. + + +An example use-case +------------------- + +A simple example: you have a news application that publishes pages +independently of django CMS. However, you would like to integrate the +application into the menu structure of your site, so that at appropriate +places a *News* node appears in the navigation menu. + +In such a case, a Navigation Modifier is the solution. + + +How it works +------------ + +Normally, you'd want to place modifiers in your application's +``menu.py``. + +To make your modifier available, it then needs to be registered with +``menus.menu_pool.menu_pool``. + +Now, when a page is loaded and the menu generated, your modifier will +be able to inspect and modify its nodes. A simple modifier looks something like this:: @@ -311,9 +361,12 @@ A simple modifier looks something like this:: node.counter = count count += 1 return nodes + + menu_pool.register_modifier(MyMode) -It has a function modify that should return a list of NavigationNodes. Modify -should take the following arguments: +It has a method :meth:`~menus.base.Modifier.modify` that should return a list +of :class:`~menus.base.NavigationNode` instances. +:meth:`~menus.base.Modifier.modify` should take the following arguments: - request @@ -335,17 +388,17 @@ should take the following arguments: - post_cut - Every modifier is called 2 times. First on the whole tree. After that the + Every modifier is called two times. First on the whole tree. After that the tree gets cut. To only show the nodes that are shown in the current menu. After the cut the modifiers are called again with the final tree. If this is - the case post_cut is True. + the case ``post_cut`` is ``True``. - breadcrumb Is this not a menu call but a breadcrumb call? -Here is an example of a build in modifier that marks all nodes level:: +Here is an example of a built-in modifier that marks all node levels:: class Level(Modifier): @@ -373,6 +426,8 @@ Here is an example of a build in modifier that marks all nodes level:: else: child.level = node.level + 1 self.mark_levels(child, post_cut) + + menu_pool.register_modifier(Level) ************** Custom Plugins diff --git a/docs/extending_cms/custom_plugins.rst b/docs/extending_cms/custom_plugins.rst index 33b325f2003..1713f8951ba 100644 --- a/docs/extending_cms/custom_plugins.rst +++ b/docs/extending_cms/custom_plugins.rst @@ -2,264 +2,381 @@ Custom Plugins ############## +CMS Plugins are reusable content publishers, that can be inserted into django +CMS pages (or indeed into any content that uses django CMS placeholders) in +order to publish information automatically, without further intervention. -You have three options to extend Django CMS: Custom plugins, plugin context -processors, and plugin processors. +This means that your published web content, whatever it is, can be kept +instantly up-to-date at all times. -*********************** -Writing a custom plugin -*********************** +It's like magic, but quicker. -You can use ``python manage.py startapp`` to get some basefiles for your plugin, -or just add a folder ``gallery`` to your project's root folder, add an empty -``__init__.py``, so that the module gets detected. +Unless you're lucky enough to discover that your needs can be met by the +built-in plugins, or by the many available 3rd-party plugins, you'll have +to write your own custom CMS Plugin. -Suppose you have the following gallery model:: +Don't worry though, since writing a CMS Plugin is rather simple. - class Gallery(models.Model): - name = models.CharField(max_length=30) +************************************* +Why would you need to write a plugin? +************************************* - class Picture(models.Model): - gallery = models.ForeignKey(Gallery) - image = models.ImageField(upload_to="uploads/images/") - description = models.CharField(max_length=60) +A plugin is the most convenient way to integrate content from another Django +app into a django CMS page. -And that you want to display this gallery between two text blocks. +For example, suppose you're developing a site for a record company in django +CMS. You might like to have on your site's home page a "Latest releases" box. -You can do this with a CMS plugin. To create a CMS plugin you need two -components: a CMSPlugin model and a cms_plugins.py file. +Of course, you could every so often edit that page and update the information. +However, a sensible record company will manage its catalogue in Django too, +which means Django already knows what this week's new releases are. -Plugin Model -============ +This is an excellent opportunity to make use of that information to make your +life easier - all you need to do is create a django CMS plugin that you can +insert into your home page, and leave it to do the work of publishing information +about the latest releases for you. -First create a model that links to the gallery via a ForeignKey field:: +Plugins are **reusable**. Perhaps your record company is producing a series of +reissues of seminal Swiss punk records; on your site's page about the series, +you could insert the same plugin, configured a little differently, that will +publish information about recent new releases in that series. - from cms.models import CMSPlugin +******** +Overview +******** - class GalleryPlugin(CMSPlugin): - gallery = models.ForeignKey(Gallery) +A django CMS plugin is fundamentally composed of three things. -Be sure that your model inherits the CMSPlugin class. -The plugin model can have any fields it wants. They are the fields that -get displayed if you edit the plugin. +* a plugin **editor**, to configure a plugin each time it is deployed +* a plugin **publisher**, to do the automated work of deciding what to publish +* a plugin **template**, to render the information into a web page -Now models.py looks like the following:: +These correspond to the familiar with the Model-View-Template scheme: - from django.db import models - from cms.models import CMSPlugin +* the plugin **model** to store its configuration +* the plugin **view** that works out what needs to be displayed +* the plugin **template** to render the information - class Gallery(models.Model): - parent = models.ForeignKey('self', blank=True, null=True) - name = models.CharField(max_length=30) +And so to build your plugin, you'll make it out of: - def __unicode__(self): - return self.name +* a subclass of :class:`cms.models.pluginmodel.CMSPlugin` to + **store the configuration** for your plugin instances +* a subclass of :class:`cms.plugin_base.CMSPluginBase` that **defines + the operating logic** of your plugin +* a template that **renders your plugin** - def get_absolute_url(self): - return reverse('gallery_view', args=[self.pk]) +A note about :class:`cms.plugin_base.CMSPluginBase` +=================================================== - class Meta: - verbose_name_plural = 'gallery' +:class:`cms.plugin_base.CMSPluginBase` is actually a subclass of :class:`django.contrib.admin.options.ModelAdmin`. +It is its :meth:`render` method that is the plugin's **view** function. - class Picture(models.Model): - gallery = models.ForeignKey(Gallery) - image = models.ImageField(upload_to="uploads/images/") - description = models.CharField(max_length=60) +An aside on models and configuration +==================================== +The plugin **model**, the subclass of :class:`cms.models.pluginmodel.CMSPlugin`, +is actually optional. - class GalleryPlugin(CMSPlugin): - gallery = models.ForeignKey(Gallery) +You could have a plugin that didn't need to be configured, because it only +ever did one thing. +For example, you could have a plugin that always and only publishes information +about the top-selling record of the past seven days. Obviously, this wouldn't +be very flexible - you wouldn't be able to use the same plugin to for the +best-selling release of the last *month* instead. -.. warning:: +Usually, you find that it is useful to be able to configure your plugin, and it +will require a model. - ``CMSPlugin`` subclasses cannot be further subclassed, if you want to make - a reusable plugin model, make an abstract base model which does not extend - ``CMSPlugin`` and subclass this abstract model as well as ``CMSPlugin`` in - your real plugin model. - Further note that you cannot name your model fields the same as any plugin's - lowercased model name you use is called, due to the implicit one to one - relation Django uses for subclassed models. +******************* +The simplest plugin +******************* +You may use ``python manage.py startapp`` to set up the basic layout for you +plugin app, alternatively, just add a file called ``cms_plugins.py`` to an +existing Django application. -Handling Relations ------------------- +In there, you place your plugins, in our example the following code:: -If your custom plugin has foreign key or many-to-many relations you are -responsible for copying those if necessary whenever the CMS copies the plugin. + from cms.plugin_base import CMSPluginBase + from cms.plugin_pool import plugin_pool + from cms.models.pluginmodel import CMSPlugin + from django.utils.translation import ugettext_lazy as _ -To do this you can implement a method called ``copy_relations`` on your plugin -model which get's the *old* instance of the plugin as argument. + class HelloPlugin(CMSPluginBase): + model = CMSPlugin + name = _("Hello Plugin") + render_template = "hello_plugin.html" -Lets assume this is your plugin:: + def render(self, context, instance, placeholder): + return context - class ArticlePluginModel(CMSPlugin): - title = models.CharField(max_length=50) - sections = models.ManyToManyField(Section) + plugin_pool.register_plugin(HelloPlugin) - def __unicode__(self): - return self.title +Now we're almost done, all that's left is adding the template. Add the +following into the root template directory in a file called +``hello_plugin.html``: -Now when the plugin gets copied, you want to make sure the sections stay:: +.. code-block:: html+django - def copy_relations(self, oldinstance): - self.sections = oldinstance.sections.all() +

    Hello {% if request.user.is_authenticated %}{{ request.user.first_name }} {{ request.user.last_name}}{% else %}Guest{% endif %}

    -Your full model now:: +This plugin will now greet the users on your website either by their name if +they're logged in, or as Guest if they're not. - class ArticlePluginModel(CMSPlugin): - title = models.CharField(max_length=50) - sections = models.ManyToManyField(Section) +Now let's take a closer look at what we did there. The ``cms_plugins.py`` files +are where you should define your subclasses of +:class:`cms.plugin_base.CMSPluginBase`, these classes define the different +plugins. - def __unicode__(self): - return self.title +There are three required attributes on those classes: - def copy_relations(self, oldinstance): - self.sections = oldinstance.sections.all() +* ``model``: The model you wish to use to store information about this plugin, + if you do not require any special information, for example configuration, to + be stored for your plugins, you may just use + :class:`cms.models.pluginmodel.CMSPlugin`. We'll look at that model more + closely in a bit. +* ``name``: The name of your plugin as displayed in the admin. It is generally + good practice to mark this string as translatable using + :func:`django.utils.translation.ugettext_lazy`, however this is optional. +* ``render_template``: The template to render this plugin with. +In addition to those three attributes, you must also define a +:meth:`render` method on your subclasses. It is specifically this `render` +method that is the **view** for your plugin. -cms_plugins.py -============== +That `render` method takes three arguments: + +* ``context``: The context with which the page is rendered. +* ``instance``: The instance of your plugin that is rendered. +* ``placeholder``: The name of the placeholder that is rendered. + +This method must return a dictionary or an instance of +:class:`django.template.Context`, which will be used as context to render the +plugin template. + + +********************* +Storing configuration +********************* + +In many cases, you want to store configuration for your plugin instances, for +example if you have a plugin that shows the latest blog posts, you might want +to be able to choose the amount of entries shown. Another example would be a +gallery plugin, where you want to choose the pictures to show for the plugin. -After that create in the application folder (the same one where models.py is) a -cms_plugins.py file. +To do so, you create a Django model by subclassing +:class:`cms.models.pluginmodel.CMSPlugin` in the ``models.py`` of an installed +application. -In there write the following:: +Let's improve our ``HelloPlugin`` from above by making it configurable what the +fallback name for non-authenticated users should be. + +In our ``models.py`` we add following model:: + + from cms.models.pluginmodel import CMSPlugin + + from django.db import models + + class Hello(CMSPlugin): + guest_name = models.CharField(max_length=50, default='Guest') + + +If you followed the Django tutorial, this shouldn't look too new to you. The +only difference to normal models is that you subclass +:class:`cms.models.pluginmodel.CMSPlugin` rather than +:class:`django.db.models.base.Model`. + +Now we need to change our plugin definition to use this model, so our new +``cms_plugins.py`` looks like this:: from cms.plugin_base import CMSPluginBase from cms.plugin_pool import plugin_pool - from models import GalleryPlugin - from django.utils.translation import ugettext as _ + from django.utils.translation import ugettext_lazy as _ + + from models import Hello - class CMSGalleryPlugin(CMSPluginBase): - model = GalleryPlugin - name = _("Gallery") - render_template = "gallery/gallery.html" + class HelloPlugin(CMSPluginBase): + model = Hello + name = _("Hello Plugin") + render_template = "hello_plugin.html" def render(self, context, instance, placeholder): - context.update({ - 'gallery':instance.gallery, - 'object':instance, - 'placeholder':placeholder - }) + context['instance'] = instance return context - plugin_pool.register_plugin(CMSGalleryPlugin) + plugin_pool.register_plugin(HelloPlugin) +We changed the ``model`` attribute to point to our newly created ``Hello`` +model and pass the model instance to the context. -CMSPluginBase itself inherits from ModelAdmin so you can use all the things -(inlines for example) you would use in a regular admin class. +As a last step, we have to update our template to make use of this +new configuration: +.. code-block:: html+django -For a list of all the options you have on CMSPluginBase have a look at the -plugin reference +

    Hello {% if request.user.is_authenticated %}{{ request.user.first_name }} {{ request.user.last_name}}{% else %}{{ instance.guest_name }}{% endif %}

    +The only thing we changed there is that we use the template variable +``{{ instance.guest_name }}`` instead of the hardcoded ``Guest`` string in the +else clause. -Template -======== +.. warning:: -Now create a gallery.html template in ``templates/gallery/`` and write the -following in there:: + :class:`cms.models.pluginmodel.CMSPlugin` subclasses cannot be further + subclassed at the moment. In order to make your plugin models reusable, + please use abstract base models. - {% for image in gallery.picture_set.all %} - {{ image.description }} - {% endfor %} +.. warning:: + + You cannot name your model fields the same as any installed plugins + lower-cased model name, due to the implicit one-to-one relation Django uses + for subclassed models. If you use all core plugins, this includes: + ``file``, ``flash``, ``googlemap``, ``link``, ``picture``, ``snippetptr``, + ``teaser``, ``twittersearch``, ``twitterrecententries`` and ``video``. + + Additionally, it is *recommended* that you avoid using ``page`` as a model + field, as it is declared as a property of :class:`cms.models.pluginmodel.CMSPlugin`, + and your plugin will not work as intended in the administration without + further work. -Add a file ``admin.py`` in your plugin root-folder and insert the following:: +Handling Relations +================== - from django.contrib import admin - from cms.admin.placeholderadmin import PlaceholderAdmin - from models import Gallery,Picture +If your custom plugin has foreign key or many-to-many relations you are +responsible for copying those if necessary whenever the CMS copies the plugin. - class PictureInline(admin.StackedInline): - model = Picture +To do this you can implement a method called +:meth:`cms.models.pluginmodel.CMSPlugin.copy_relations` on your plugin +model which gets the **old** instance of the plugin as argument. - class GalleryAdmin(admin.ModelAdmin): - inlines = [PictureInline] +Lets assume this is your plugin:: - admin.site.register(Gallery, GalleryAdmin) + class ArticlePluginModel(CMSPlugin): + title = models.CharField(max_length=50) + sections = models.ManyToManyField(Section) + def __unicode__(self): + return self.title -Now go into the admin create a gallery and afterwards go into a page and add a -gallery plugin and some pictures should appear in your page. +Now when the plugin gets copied, you want to make sure the sections stay:: -Limiting Plugins per Placeholder -================================ + def copy_relations(self, oldinstance): + self.sections = oldinstance.sections.all() -You can limit in which placeholder certain plugins can appear. Add a -``CMS_PLACEHOLDER_CONF`` to your ``settings.py``. +Your full model now:: -Example:: + class ArticlePluginModel(CMSPlugin): + title = models.CharField(max_length=50) + sections = models.ManyToManyField(Section) - CMS_PLACEHOLDER_CONF = { - 'col_sidebar': { - 'plugins': ('FilePlugin', 'FlashPlugin', 'LinkPlugin', 'PicturePlugin', 'TextPlugin', 'SnippetPlugin'), - 'name': gettext("sidebar column") - }, + def __unicode__(self): + return self.title + + def copy_relations(self, oldinstance): + self.sections = oldinstance.sections.all() - 'col_left': { - 'plugins': ('FilePlugin', 'FlashPlugin', 'LinkPlugin', 'PicturePlugin', 'TextPlugin', 'SnippetPlugin','GoogleMapPlugin','CMSTextWithTitlePlugin','CMSGalleryPlugin'), - 'name': gettext("left column") - }, - 'col_right': { - 'plugins': ('FilePlugin', 'FlashPlugin', 'LinkPlugin', 'PicturePlugin', 'TextPlugin', 'SnippetPlugin','GoogleMapPlugin',), - 'name': gettext("right column") - }, - } +******** +Advanced +******** -"**col_left**" and "**col_right**" are the names of two placeholders. The plugins list are filled with -Plugin class names you find in the ``cms_plugins.py``. You can add extra context to each placeholder so -plugin-templates can react to them. -You can change the displayed name in the admin with the **name** parameter. In combination with gettext -you can translate this names according to the language of the user. Additionally you can limit the number -of plugins (either total or by type) for each placeholder with the **limits** parameter (see -``Configuration`` for details). +Plugin form +=========== +Since :class:`cms.plugin_base.CMSPluginBase` extends +:class:`django.contrib.admin.options.ModelAdmin`, you can customize the form +for your plugins just as you would customize your admin interfaces. -Advanced -======== +.. note:: -CMSGalleryPlugin can be even further customized: + If you want to overwrite the form be sure to extend from + ``admin/cms/page/plugin_change_form.html`` to have a unified look across the + plugins and to have the preview functionality automatically installed. -Because CMSPluginBase extends ModelAdmin from django.contrib.admin you can use all the things you are used -to with normal admin classes. You can define inlines, the form, the form template etc. +.. _custom-plugins-handling-media: -Note: If you want to overwrite the form be sure to extend from ``admin/cms/page/plugin_change_form.html`` -to have an unified look across the plugins and to have the preview functionality automatically installed. +Handling media +============== -************************* -Plugin Context Processors -************************* +If your plugin depends on certain media files, javascript or stylesheets, you +can include them from your plugin template using `django-sekizai`_. Your CMS +templates are always enforced to have the ``css`` and ``js`` sekizai namespaces, +therefore those should be used to include the respective files. For more +information about django-sekizai, please refer to the +`django-sekizai documentation`_. + +Sekizai style +------------- + +To fully harness the power of django-sekizai, it is helpful to have a consistent +style on how to use it. Here is a set of conventions that should, but don't +necessarily need to, be followed: + +* One bit per ``addtoblock``. Always include one external CSS or JS file per + ``addtoblock`` or one snippet per ``addtoblock``. This is needed so + django-sekizai properly detects duplicate files. +* External files should be on one line, with no spaces or newlines between the + ``addtoblock`` tag and the HTML tags. +* When using embedded javascript or CSS, the HTML tags should be on a newline. + +A **good** example: + +.. code-block:: html+django + + {% load sekizai_tags %} + + {% addtoblock "js" %}{% endaddtoblock %} + {% addtoblock "js" %}{% endaddtoblock %} + {% addtoblock "css" %}{% endaddtoblock %} + {% addtoblock "js" %} + + {% endaddtoblock %} + +A **bad** example: + +.. code-block:: html+django + + {% load sekizai_tags %} + + {% addtoblock "js" %} + {% endaddtoblock %} + {% addtoblock "css" %} + + {% endaddtoblock %} + {% addtoblock "js" %}{% endaddtoblock %} -Plugin context processors are callables that modify all plugin's context before -rendering. They are enabled using the ``CMS_PLUGIN_CONTEXT_PROCESSORS`` setting. -A plugin context processor takes 2 arguments: -**instance**: +Plugin Context Processors +========================= -The instance of the plugin model +Plugin context processors are callables that modify all plugins' context before +rendering. They are enabled using the :setting:`CMS_PLUGIN_CONTEXT_PROCESSORS` +setting. -**placeholder**: +A plugin context processor takes 2 arguments: -The instance of the placeholder this plugin appears in. +* ``instance``: The instance of the plugin model +* ``placeholder``: The instance of the placeholder this plugin appears in. The return value should be a dictionary containing any variables to be added to the context. Example:: - # settings.py: - CMS_PLUGIN_CONTEXT_PROCESSORS = ( - 'yourapp.cms_plugin_context_processors.add_verbose_name', - ) - - # yourapp.cms_plugin_context_processors.py: def add_verbose_name(instance, placeholder): ''' This plugin context processor adds the plugin model's verbose_name to context. @@ -267,61 +384,52 @@ Example:: return {'verbose_name': instance._meta.verbose_name} -***************** + Plugin Processors -***************** +================= -Plugin processors are callables that modify all plugin's output after rendering. -They are enabled using -the ``CMS_PLUGIN_PROCESSORS`` setting. +Plugin processors are callables that modify all plugins' output after rendering. +They are enabled using the :setting:`CMS_PLUGIN_PROCESSORS` setting. A plugin processor takes 4 arguments: -**instance**: - -The instance of the plugin model - -**placeholder**: - -The instance of the placeholder this plugin appears in. - -**rendered_content**: - -A string containing the rendered content of the plugin. - -**original_context**: - -The original context for the template used to render the plugin. - -Note that plugin processors are also applied to plugins embedded in Text. -Depending on what your processor does, this might break the output. For example, -if your processor wraps the output in a DIV tag, you might end up having DIVs -inside of P tags, which is invalid. You can prevent such cases by returning -`rendered_content` unchanged if `instance._render_meta.text_enabled` is True, -which is the case when rendering an embedded plugin. +* ``instance``: The instance of the plugin model +* ``placeholder``: The instance of the placeholder this plugin appears in. +* ``rendered_content``: A string containing the rendered content of the plugin. +* ``original_context``: The original context for the template used to render + the plugin. + +.. note:: Plugin processors are also applied to plugins embedded in Text + plugins (and any custom plugin allowing nested plugins). Depending on + what your processor does, this might break the output. For example, + if your processor wraps the output in a ``div`` tag, you might end up + having ``div`` tags inside of ``p`` tags, which is invalid. You can + prevent such cases by returning ``rendered_content`` unchanged if + ``instance._render_meta.text_enabled`` is ``True``, which is the case + when rendering an embedded plugin. Example -======= +------- Suppose you want to put wrap each plugin in the main placeholder in a colored box, but it would be too complicated to edit each individual plugin's template: -In your settings.py:: +In your ``settings.py``:: CMS_PLUGIN_PROCESSORS = ( 'yourapp.cms_plugin_processors.wrap_in_colored_box', ) -In your yourapp.cms_plugin_processors.py:: +In your ``yourapp.cms_plugin_processors.py``:: def wrap_in_colored_box(instance, placeholder, rendered_content, original_context): ''' This plugin processor wraps each plugin's output in a colored box if it is in the "main" placeholder. ''' - if placeholder.slot != 'main' \ # Plugins not in the main placeholder should remain unchanged - or (instance._render_meta.text_enabled # Plugins embedded in Text should remain unchanged in order not to break output - and instance.parent): - return rendered_content + # Plugins not in the main placeholder should remain unchanged + # Plugins embedded in Text should remain unchanged in order not to break output + if placeholder.slot != 'main' or (instance._render_meta.text_enabled and instance.parent): + return rendered_content else: from django.template import Context, Template # For simplicity's sake, construct the template from a string: @@ -336,3 +444,8 @@ In your yourapp.cms_plugin_processors.py:: }) # Finally, render the content through that template, and return the output return t.render(c) + + +.. _Django admin documentation: http://docs.djangoproject.com/en/1.2/ref/contrib/admin/ +.. _django-sekizai: https://github.com/ojii/django-sekizai +.. _django-sekizai documentation: http://django-sekizai.readthedocs.org \ No newline at end of file diff --git a/docs/extending_cms/extending_examples.rst b/docs/extending_cms/extending_examples.rst index 6da2331b259..cebe52847b2 100644 --- a/docs/extending_cms/extending_examples.rst +++ b/docs/extending_cms/extending_examples.rst @@ -5,7 +5,8 @@ Extending the CMS: Examples From this part onwards, this tutorial assumes you have done the `Django Tutorial`_ and we will show you how to integrate that poll app into the django CMS. If a poll app is mentioned here, we mean the one you get when -finishing the `Django Tutorial`_. +finishing the `Django Tutorial`_. +Also, make sure the poll app is in your :setting:`django:INSTALLED_APPS`. We assume your main ``urls.py`` looks somewhat like this:: @@ -43,10 +44,13 @@ In your poll application's ``models.py`` add the following model:: return self.poll.question -.. note:: django CMS Plugins must inherit from ``cms.models.CMSPlugin`` (or a - subclass thereof) and not ``django.db.models.Model``. +.. note:: -Run ``syncdb`` to create the database tables for this model or see + django CMS plugins must inherit from :class:`cms.models.CMSPlugin` + (or a subclass thereof) and not + :class:`models.Model `. + +Run ``manage.py syncdb`` to create the database tables for this model or see :doc:`../getting_started/using_south` to see how to do it using `South`_ @@ -86,27 +90,31 @@ For our poll plugin, write following plugin class:: plugin_pool.register_plugin(PollPlugin) # register the plugin -.. note:: All plugin classes must inherit from ``cms.plugin_base.CMSPluginBase`` - and must register themselves with the ``cms.plugin_pool.plugin_pool``. +.. note:: + + All plugin classes must inherit from + :class:`cms.plugin_base.CMSPluginBase` and must register themselves + with the :data:`cms.plugin_pool.plugin_pool`. The Template ============ -You probably noticed the ``render_template`` attribute on that plugin class, for -our plugin to work, that template must exist and is responsible for rendering -the plugin. +You probably noticed the +:attr:`render_template ` +attribute on that plugin class, for our plugin to work, that template must +exist and is responsible for rendering the plugin. The template could look like this: .. code-block:: html+django -

    {{ poll.question }}

    +

    {{ instance.poll.question }}

    {% csrf_token %} - {% for choice in poll.choice_set.all %} + {% for choice in instance.poll.choice_set.all %}
    {% endfor %} @@ -114,18 +122,21 @@ The template could look like this: -.. note:: We don't show the errors here, because when submitting the form you're - taken off this page to the actual voting page. +.. note:: + + We don't show the errors here, because when submitting the form you're + taken off this page to the actual voting page. ********************** My First App (apphook) ********************** -Right now, external apps are statically hooked into the main ``urls.py``, that is not -the preferred way in the django CMS. Ideally you attach your apps to CMS Pages. +Right now, external apps are statically hooked into the main ``urls.py``, that +is not the preferred way in the django CMS. Ideally you attach your apps to CMS +pages. -For that purpose you write CMS Apps. That is just a small class telling the CMS -how to include that app. +For that purpose you write a :class:`CMSApp `. That is +just a small class telling the CMS how to include that app. CMS Apps live in a file called ``cms_app.py``, so go ahead and create that to make your polls app look like this:: @@ -241,7 +252,7 @@ So open your ``cms_apps.py`` and write:: class PollsApp(CMSApp): name = _("Poll App") urls = ["polls.urls"] - menu = [PollsMenu] # attach a CMSAttachMenu to this apphook. + menus = [PollsMenu] # attach a CMSAttachMenu to this apphook. apphook_pool.register(PollsApp) diff --git a/docs/extending_cms/fields.rst b/docs/extending_cms/fields.rst new file mode 100644 index 00000000000..18f9e5fd9e9 --- /dev/null +++ b/docs/extending_cms/fields.rst @@ -0,0 +1,32 @@ +##################### +Form and model fields +##################### + + +************ +Model fields +************ + + +.. py:class:: cms.models.fields.PageField + + This is a foreign key field to the :class:`cms.models.pagemodel.Page` model + that defaults to the :class:`cms.forms.fields.PageSelectFormField` form + field when rendered in forms. It has the same API as the + :class:`django.db.models.fields.related.ForeignKey` but does not require + the ``othermodel`` argument. + + +*********** +Form fields +*********** + + +.. py:class:: cms.forms.fields.PageSelectFormField + + Behaves like a :class:`django.forms.models.ModelChoiceField` field for the + :class:`cms.models.pagemodel.Page` model, but displays itself as a split + field with a select dropdown for the site and one for the page. It also + indents the page names based on what level they're on, so that the page + select dropdown is easier to use. This takes the same arguments as + :class:`django.forms.models.ModelChoiceField`. diff --git a/docs/extending_cms/placeholders.rst b/docs/extending_cms/placeholders.rst index b8955c555e3..463b63b1123 100644 --- a/docs/extending_cms/placeholders.rst +++ b/docs/extending_cms/placeholders.rst @@ -2,23 +2,25 @@ Placeholders outside the CMS ############################ -Placeholders are special model fields that DjangoCMS uses to render +Placeholders are special model fields that django CMS uses to render user-editable content (plugins) in templates. That is, it's the place where a user can add text, video or any other plugin to a webpage, using either the normal Django admin interface or the so called `frontend editing`. -Placeholders can be viewed as containers of ``CMSPlugins``, and can be used -outside the CMS in custom applications using the ``PlaceholderField``. +Placeholders can be viewed as containers for :class:`CMSPlugin` instances, and +can be used outside the CMS in custom applications using the +:class:`~cms.models.fields.PlaceholderField`. -By defining one (or serveral) ``PlaceholderField`` on a custom model you can take -advantage of the full power of ``CMSPlugins``, including frontend editing. +By defining one (or several) :class:`~cms.models.fields.PlaceholderField` on a custom model you can take +advantage of the full power of :class:`CMSPlugin`, including frontend editing. ********** Quickstart ********** -You need to define a ``PlaceholderField`` on the model you would like to use:: +You need to define a :class:`~cms.models.fields.PlaceholderField` on the model you would like to +use:: from django.db import models from cms.models.fields import PlaceholderField @@ -28,12 +30,13 @@ You need to define a ``PlaceholderField`` on the model you would like to use:: my_placeholder = PlaceholderField('placeholder_name') # your methods -The ``PlaceholderField`` takes a string as first argument which will be used to -configure which plugins can be used in this placeholder. The configuration is -the same as for placeholders in the CMS. +The :class:`~cms.models.fields.PlaceholderField` takes a string as first +argument which will be used to configure which plugins can be used in this +placeholder. The configuration is the same as for placeholders in the CMS. If you install this model in the admin application, you have to use -``PlaceholderAdmin`` instead of ``ModelAdmin`` so the interface renders +:class:`~cms.admin.placeholderadmin.PlaceholderAdmin` instead of +:class:`~django.contrib.admin.ModelAdmin` so the interface renders correctly:: from django.contrib import admin @@ -42,16 +45,20 @@ correctly:: admin.site.register(MyModel, PlaceholderAdmin) -Now to render the placeholder in a template you use the ``render_placeholder`` -tag from the ``placeholder_tags`` template tag library:: +Now to render the placeholder in a template you use the +:ttag:`render_placeholder` tag from the +:mod:`~cms.templatetags.placeholder_tags` template tag library: + +.. code-block:: html+django {% load placeholder_tags %} {% render_placeholder mymodel_instance.my_placeholder "640" %} -The ``render_placeholder`` tag takes a ``PlaceholderField`` instance as first -argument and optionally accepts a width parameter as second argument for context -sensitive plugins. +The :ttag:`render_placeholder` tag takes a +:class:`~cms.models.fields.PlaceholderField` instance as first argument and +optionally accepts a width parameter as second argument for context sensitive +plugins. ******************************* @@ -65,10 +72,11 @@ Using the front-end editor ========================== Probably the most simple way to add content to a placeholder, simply visit the -page displaying your model (where you put the ``render_placeholder`` tag), then -append "?edit" to the page's URL. This will make a top banner appear, and after -switching the "Edit mode" button to "on", the banner will prompt you for your -username/password (the user should be allowed to edit the page, obviously) +page displaying your model (where you put the :ttag:`render_placeholder` tag), +then append ``?edit`` to the page's URL. This will make a top banner appear, +and after switching the "Edit mode" button to "on", the banner will prompt you +for your username and password (the user should be allowed to edit the page, +obviously). You are now using the so-called *front-end edit mode*: @@ -77,7 +85,7 @@ You are now using the so-called *front-end edit mode*: .. |edit-banner| image:: ../images/edit-banner.png Once in Front-end editing mode, your placeholders should display a menu, -allowing you to add ``plugins`` to them: the following screenshot shows a +allowing you to add plugins to them: the following screen shot shows a default selection of plugins in an empty placeholder. |frontend-placeholder-add-plugin| @@ -93,10 +101,11 @@ clicking the "Edit mode" button in the banner again. Fieldsets ********* -There are some hard restrictions if you want to add custom fieldsets to an admin -page with at least one ``PlaceholderField``: +There are some hard restrictions if you want to add custom fieldsets to an +admin page with at least one :class:`~cms.models.fields.PlaceholderField`: -1. Every ``PlacehoderField`` **must** be in it's own fieldsets, one - ``PlaceholderField`` per fieldset. +1. Every :class:`~cms.models.fields.PlaceholderField` **must** be in it's own + :attr:`fieldset `, one + :class:`~cms.models.fields.PlaceholderField` per fieldset. 2. You **must** include the following two classes: ``'plugin-holder'`` and ``'plugin-holder-nopage'`` diff --git a/docs/extending_cms/searchdocs.rst b/docs/extending_cms/searchdocs.rst index ff7d691068e..c32d46ccd7b 100644 --- a/docs/extending_cms/searchdocs.rst +++ b/docs/extending_cms/searchdocs.rst @@ -1,21 +1,9 @@ ######################### -Search and the Django-CMS +Search and the django CMS ######################### -Currently the best way to integrate search with the Django-CMS is `Haystack`_, -however it is not officially supported. +For powerful full-text search in with the django CMS, we suggest using +`Haystack`_ together with `django-cms-search`_. .. _Haystack: http://haystacksearch.org/ - - -******** -Haystack -******** - -If you go the Haystack way, you'll need a ``search_indexes.py``. Haystack -doesn't care if it's in the same app as the models, so you can put it into any -app within your project. - -Here is an example **untested** and **unsupported** ``search_indexes.py``: - -.. literalinclude:: ../src/haystack.py +.. _django-cms-search: https://github.com/piquadrat/django-cms-search \ No newline at end of file diff --git a/docs/getting_started/configuration.rst b/docs/getting_started/configuration.rst index 75fd3f0c8df..263871868c0 100644 --- a/docs/getting_started/configuration.rst +++ b/docs/getting_started/configuration.rst @@ -1,18 +1,22 @@ +.. _configuration: + ############# Configuration ############# -The Django-CMS has a lot of settings you can use to customize your installation +The django CMS has a lot of settings you can use to customize your installation of the CMS to be exactly like you want it to be. ***************** Required Settings ***************** +.. setting:: CMS_TEMPLATES + CMS_TEMPLATES ============= -Default: ``None`` (Not a valid setting!) +Default: ``()`` (Not a valid setting!) A list of templates you can select for a page. @@ -25,11 +29,19 @@ Example:: ('extra.html', gettext('Some extra fancy template')), ) +.. note:: + + All templates defined in :setting:`CMS_TEMPLATES` must contain at least the + ``js`` and ``css`` sekizai namespaces, for more information, see + :ref:`sekizai-namespaces`. + ******************* Basic Customization ******************* +.. setting:: CMS_TEMPLATE_INHERITANCE + CMS_TEMPLATE_INHERITANCE ======================== @@ -43,6 +55,8 @@ template from the nearest ancestor. New pages default to this setting if the new page is not a root page. +.. setting:: CMS_PLACEHOLDER_CONF + CMS_PLACEHOLDER_CONF ==================== @@ -105,6 +119,7 @@ Dictionary keys are plugin names; values are their respective limits. Special case: "global" - Limit the absolute number of plugins in this placeholder regardless of type (takes precedence over the type-specific limits). +.. setting:: CMS_PLUGIN_CONTEXT_PROCESSORS CMS_PLUGIN_CONTEXT_PROCESSORS ============================= @@ -115,6 +130,7 @@ A list of plugin context processors. Plugin context processors are callables that modify all plugin's context before rendering. See :doc:`../extending_cms/custom_plugins` for more information. +.. setting:: CMS_PLUGIN_PROCESSORS CMS_PLUGIN_PROCESSORS ===================== @@ -125,16 +141,17 @@ A list of plugin processors. Plugin processors are callables that modify all plugin's output after rendering. See :doc:`../extending_cms/custom_plugins` for more information. +.. setting:: CMS_APPHOOKS CMS_APPHOOKS ============ Default: ``()`` -A list of import paths for ``cms.app_base.CMSApp`` subclasses. +A list of import paths for :class:`cms.app_base.CMSApp` subclasses. Defaults to an empty list which means CMS applications are auto-discovered in -all ``INSTALLED_APPS`` by trying to import their ``cms_app`` module. +all :setting:`django:INSTALLED_APPS` by trying to import their ``cms_app`` module. If this setting is set, the auto-discovery is disabled. @@ -146,33 +163,63 @@ Example:: 'sampleapp.cms_app.SampleApp', ) +.. setting:: PLACEHOLDER_FRONTEND_EDITING + PLACEHOLDER_FRONTEND_EDITING ============================ Default: ``True`` If set to ``False``, frontend editing is not available for models using -``cms.models.fields.PlaceholderField``. +:class:`cms.models.fields.PlaceholderField`. + +******************** +Editor configuration +******************** +The Wymeditor from :mod:`cms.plugins.text` plugin can take the same +configuration as vanilla Wymeditor. Therefore you will need to learn +how to configure that. The best way to understand this is to head +over to `Wymeditor examples page +`_ +After understand how Wymeditor works. + +The :mod:`cms.plugins.text` plugin exposes several variables named +WYM_* that correspond to the wym configuration. The simplest +way to get started with this is to go to ``cms/plugins/text/settings.py`` +and copy over the WYM_* variables and you will realize they +match one to one to Wymeditor's. + +Currently the following variables are available: + +* ``WYM_TOOLS`` +* ``WYM_CONTAINERS`` +* ``WYM_CLASSES`` +* ``WYM_STYLES`` +* ``WYM_STYLESHEET`` ************* I18N and L10N ************* +.. setting:: CMS_HIDE_UNTRANSLATED + CMS_HIDE_UNTRANSLATED ===================== Default: ``True`` -By default django-cms hides menu items that are not yet translated into the +By default django CMS hides menu items that are not yet translated into the current language. With this setting set to False they will show up anyway. +.. setting:: CMS_LANGUAGES + CMS_LANGUAGES ============= -Default: Value of ``LANGUAGES`` +Default: Value of :setting:`django:LANGUAGES` -Defines the languages available in the CMS. +Defines the languages available in django CMS. Example:: @@ -182,8 +229,9 @@ Example:: ('en', gettext('English')), ) -.. note:: Make sure you only define languages which are also in ``LANGUAGES``. +.. note:: Make sure you only define languages which are also in :setting:`django:LANGUAGES`. +.. setting:: CMS_LANGUAGE_FALLBACK CMS_LANGUAGE_FALLBACK ===================== @@ -193,6 +241,7 @@ Default: ``True`` This will redirect the browser to the same page in another language if the page is not available in the current language. +.. setting:: CMS_LANGUAGE_CONF CMS_LANGUAGE_CONF ================= @@ -208,14 +257,16 @@ Example:: 'en': ['de'], } +.. setting:: CMS_SITE_LANGUAGES + CMS_SITE_LANGUAGES ================== Default: ``{}`` -If you have more than one site and CMS_LANGUAGES differs between the sites, you -may want to fill this out so if you switch between the sites in the admin you -only get the languages available on this site. +If you have more than one site and :setting:`CMS_LANGUAGES` differs between +the sites, you may want to fill this out so if you switch between the sites +in the admin you only get the languages available on this site. Example:: @@ -225,13 +276,14 @@ Example:: 3:['en'], } +.. setting:: CMS_FRONTEND_LANGUAGES CMS_FRONTEND_LANGUAGES ====================== -Default: Value of ``CMS_LANGUAGES`` +Default: Value of :setting:`CMS_LANGUAGES` -A list of languages Django CMS uses in the frontend. For example, if +A list of languages django CMS uses in the frontend. For example, if you decide you want to add a new language to your page but don't want to show it to the world yet. @@ -240,72 +292,58 @@ Example:: CMS_FRONTEND_LANGUAGES = ("de", "en", "pt-BR") -CMS_DBGETTEXT -============= - -Default: ``False`` (unless ``dbgettext`` is in ``settings.INSTALLED_APPS``) - -Enable gettext-based translation of CMS content rather than use the standard -administration interface. Requires `django-dbgettext -`_. - -.. warning:: This feature is deprecated and will be removed in 2.2. - -CMS_DBGETTEXT_SLUGS -=================== - -Default: ``False`` - -Enable gettext-based translation of page paths/slugs. Experimental at this -stage, as resulting translations cannot be guaranteed to be unique. - -For general dbgettext settings, see the `dbgettext documentation -`_. - -.. warning:: This feature is deprecated and will be removed in 2.2. - - ************** Media Settings ************** +.. setting:: CMS_MEDIA_PATH CMS_MEDIA_PATH ============== default: ``cms/`` -The path from MEDIA_ROOT to the media files located in ``cms/media/`` +The path from :setting:`django:MEDIA_ROOT` to the media files located in ``cms/media/`` + +.. setting:: CMS_MEDIA_ROOT CMS_MEDIA_ROOT ============== -Default: ``settings.MEDIA_ROOT + CMS_MEDIA_PATH`` +Default: :setting:`django:MEDIA_ROOT` + :setting:`CMS_MEDIA_PATH` The path to the media root of the cms media files. +.. setting:: CMS_MEDIA_URL CMS_MEDIA_URL ============= -default: ``MEDIA_URL + CMS_MEDIA_PATH`` +default: :setting:`django:MEDIA_URL` + :setting:`CMS_MEDIA_PATH` + +The location of the media files that are located in ``cms/media/cms/`` -The location of the media files that are located in cms/media/cms/ +.. setting:: CMS_PAGE_MEDIA_PATH CMS_PAGE_MEDIA_PATH =================== Default: ``'cms_page_media/'`` -By default, Django CMS creates a folder called 'cms_page_media' in your static -files folder where all uploaded media files are stored. The media files are -stored in subfolders numbered with the id of the page. +By default, django CMS creates a folder called ``cms_page_media`` in your +static files folder where all uploaded media files are stored. The media files +are stored in subfolders numbered with the id of the page. + +You should take care that the directory to which it points is writable by the +user under which Django will be running. **** URLs **** +.. setting:: CMS_URL_OVERWRITE + CMS_URL_OVERWRITE ================= @@ -314,6 +352,7 @@ Default: ``True`` This adds a new field "url overwrite" to the "advanced settings" tab of your page. With this field you can overwrite the whole relative url of the page. +.. setting:: CMS_MENU_TITLE_OVERWRITE CMS_MENU_TITLE_OVERWRITE ======================== @@ -324,10 +363,14 @@ This adds a new "menu title" field beside the title field. With this field you can overwrite the title that is displayed in the menu. -To access the menu title in the template, use:: +To access the menu title in the template, use: + +.. code-block:: html+django {{ page.get_menu_title }} +.. setting:: CMS_REDIRECTS + CMS_REDIRECTS ============= @@ -338,9 +381,10 @@ This adds a new "redirect" field to the "advanced settings" tab of the page You can set a url here, which a visitor will be redirected to when the page is accessed. -Note: Don't use this too much. django.contrib.redirect is much more flexible, -handy, and is designed exactly for this purpose. +Note: Don't use this too much. :mod:`django.contrib.redirects` is much more +flexible, handy, and is designed exactly for this purpose. +.. setting:: CMS_FLAT_URLS CMS_FLAT_URLS ============= @@ -352,6 +396,7 @@ If this is enabled the slugs are not nested in the urls. So a page with a "world" slug will have a "/world" url, even it is a child of the "hello" page. If disabled the page would have the url: "/hello/world/" +.. setting:: CMS_SOFTROOT CMS_SOFTROOT ============ @@ -369,6 +414,7 @@ If you have a huge site you can easily partition the menu with this. Advanced Settings ***************** +.. setting:: CMS_PERMISSION CMS_PERMISSION ============== @@ -392,6 +438,18 @@ a certain page all users he creates can, in turn, only edit this page. Naturally he can limit the rights of the users he creates even further, allowing them to see only a subset of the pages he's allowed access to, for example. +.. setting:: CMS_PUBLIC_FOR + +CMS_PUBLIC_FOR +============== + +Default: ``all`` + +Decides if pages without any view restrictions are public by default, or staff +only. Possible values are ``all`` and ``staff``. + +.. setting:: CMS_MODERATOR + CMS_MODERATOR ============= @@ -407,14 +465,23 @@ will need to approve it anyway. This allows you to change a lot of pages for a new version of the site, for example, and go live with all the changes at the same time. +.. note:: When switching this value to ``True`` on an existing site, you have + to run the ``cms moderator on`` command to make the required database + changes. + +.. setting:: CMS_SHOW_START_DATE +.. setting:: CMS_SHOW_END_DATE CMS_SHOW_START_DATE & CMS_SHOW_END_DATE ======================================= Default: ``False`` for both -This adds 2 new date-time fields in the advanced-settings tab of the page. -With this option you can limit the time a page is published. +This adds two new :class:`~django.db.models.DateTimeField` fields in the +"advanced settings" tab of the page. With this option you can limit the time a +page is published. + +.. setting:: CMS_SEO_FIELDS CMS_SEO_FIELDS ============== @@ -424,7 +491,9 @@ Default: ``False`` This adds a new "SEO Fields" fieldset to the page admin. You can set the Page Title, Meta Keywords and Meta Description in there. -To access these fields in the template use:: +To access these fields in the template use: + +.. code-block:: html+django {% load cms_tags %} @@ -435,30 +504,60 @@ To access these fields in the template use:: ... -CMS_CONTENT_CACHE_DURATION -========================== +.. setting:: CMS_CACHE_DURATIONS + +CMS_CACHE_DURATIONS +=================== + +This dictionary carries the various cache duration settings. + +``'content'`` +------------- Default: ``60`` -Cache expiration (in seconds) for ``show_placeholder`` and ``page_url`` template tags. +Cache expiration (in seconds) for :ttag:`show_placeholder` and :ttag:`page_url` +template tags. -MENU_CACHE_DURATION -=================== +.. note:: + + This settings was previously called :setting:`CMS_CONTENT_CACHE_DURATION` + +``'menus'`` +----------- Default: ``3600`` Cache expiration (in seconds) for the menu tree. +.. note:: + + This settings was previously called :setting:`MENU_CACHE_DURATION` + +``'permissions'`` +----------------- + +Default: ``3600`` + +Cache expiration (in seconds) for view and other permissions. + +.. setting:: CMS_CACHE_PREFIX + CMS_CACHE_PREFIX ================ -Default: ``None`` +Default: ``cms-`` The CMS will prepend the value associated with this key to every cache access (set and get). -This is useful when you have several Django-CMS installations, and you don't want them +This is useful when you have several django CMS installations, and you don't want them to share cache objects. Example:: - CMS_CACHE_PREFIX = 'mysite-live' \ No newline at end of file + CMS_CACHE_PREFIX = 'mysite-live' + +.. note:: + + Django 1.3 introduced a site-wide cache key prefix. See Django's own docs on + :ref:`cache key prefixing ` diff --git a/docs/getting_started/installation.rst b/docs/getting_started/installation.rst index a12aeda4963..35f96aceec8 100644 --- a/docs/getting_started/installation.rst +++ b/docs/getting_started/installation.rst @@ -10,44 +10,80 @@ Requirements ************ * `Python`_ 2.5 (or a higher release of 2.x). -* `Django`_ 1.2.3 (or a higher release of 1.2). +* `Django`_ 1.2.5 (or a 1.3.x release). * `South`_ 0.7.2 or higher * `PIL`_ 1.1.6 or higher -* `django-classy-tags`_ 0.2.2 or higher +* `django-classy-tags`_ 0.3.4.1 or higher +* `django-mptt`_ 0.4.2 or higher +* `django-sekizai`_ 0.4.2 or higher +* `html5lib`_ 0.90 or higher * An installed and working instance of one of the databases listed in the `Databases`_ section. - -.. note:: When installing the django CMS using pip, both Django and - django-classy-tags will be installed automatically. + +.. note:: When installing the django CMS using pip, Django, django-mptt + django-classy-tags, django-sekizai, south and html5lib will be + installed automatically. .. _Python: http://www.python.org .. _Django: http://www.djangoproject.com .. _PIL: http://www.pythonware.com/products/pil/ .. _South: http://south.aeracode.org/ .. _django-classy-tags: https://github.com/ojii/django-classy-tags +.. _django-mptt: https://github.com/django-mptt/django-mptt +.. _django-sekizai: https://github.com/ojii/django-sekizai +.. _html5lib: http://code.google.com/p/html5lib/ + +Recommended +=========== + +* `django-filer`_ with its `django CMS plugins`_, file and image management + application to use instead of some core plugins +* `django-reversion`_ 1.4, to support versions of your content + +.. _django-filer: https://github.com/stefanfoulis/django-filer +.. _django CMS plugins: https://github.com/stefanfoulis/cmsplugin-filer +.. _django-reversion: https://github.com/etianen/django-reversion On Ubuntu ========= +.. warning:: + + The instructions here install certain packages, such as PIL, Django, South + and django CMS globally, which is not recommended. We recommend you use + `virtualenv`_ to use instead. If you chose to do so, install Django, + django CMS and South inside a virtualenv. + If you're using Ubuntu (tested with 10.10), the following should get you started: -``sudo aptitude install python2.6 python-setuptools python-imaging`` +.. code-block:: bash -``sudo easy_install pip`` - -``sudo pip install django-cms south django-appmedia`` + sudo aptitude install python2.6 python-setuptools python-imaging + sudo easy_install pip + sudo pip install Django==1.3 django-cms south Additionally, you need the python driver for your selected database: -``sudo aptitude python-psycopg2`` +.. code-block:: bash + + sudo aptitude python-psycopg2 + or -``sudo aptitude install python-mysql`` + +.. code-block:: bash + + sudo aptitude install python-mysql This will install PIL and your database's driver globally. You have now everything that is needed for you to follow the :doc:`tutorial`. +.. note:: This will install Django version 1.3 for use with the CMS. While + later versions of Django (such as 1.4) are know to work for some + people, it is NOT recommended and will not be supported until further + notice (and tests) + On Mac OSX ========== @@ -63,14 +99,15 @@ On Microsoft Windows Databases ********* -We recommend using `PostgreSQL`_ or `MySQL`_ with Django CMS. Installing and +We recommend using `PostgreSQL`_ or `MySQL`_ with django CMS. Installing and maintaining database systems is outside the scope of this documentation, but is very well documented on the system's respective websites. -To use Django CMS efficiently, we recommend: +To use django CMS efficiently, we recommend: * Create a separate set of credentials for django CMS. * Create a separate database for django CMS to use. .. _PostgreSQL: http://www.postgresql.org/ -.. _MySQL: http://www.mysql.com \ No newline at end of file +.. _MySQL: http://www.mysql.com +.. _virtualenv: http://www.virtualenv.org/ diff --git a/docs/getting_started/navigation.rst b/docs/getting_started/navigation.rst index 12dd5500ee8..2cb45ae2956 100644 --- a/docs/getting_started/navigation.rst +++ b/docs/getting_started/navigation.rst @@ -7,21 +7,25 @@ Navigation There are four template tags for use in the templates that are connected to the menu: -* ``show_menu`` -* ``show_menu_below_id`` -* ``show_sub_menu`` -* ``show_breadcrumb`` +* :ttag:`show_menu` +* :ttag:`show_menu_below_id` +* :ttag:`show_sub_menu` +* :ttag:`show_breadcrumb` + +To use any of these templatetags, you need to have ``{% load menu_tags %}`` in +your template before the line on which you call the templatetag. .. note:: - Please note that menus were originally implemented to be application-independant - and as such, live in the ``menus`` application instead of the "normal" ``cms`` + Please note that menus were originally implemented to be + application-independent and as such, live in the :mod:`menus` application + instead of the :mod:`cms` application. ********* show_menu ********* -``{% show_menu %}`` renders the navigation of the current page. +:ttag:`{% show_menu %} ` renders the navigation of the current page. You can overwrite the appearance and the HTML if you add a ``menu/menu.html`` template to your project or edit the one provided with django-cms. ``show_menu`` takes four optional parameters: ``start_level``, ``end_level``, @@ -37,15 +41,17 @@ The third parameter, ``extra_inactive`` (default=0), specifies how many levels of navigation should be displayed if a node is not a direct ancestor or descendant of the current active node. -Finally, the fourth parameter, ``extra_active`` (default=100), specifies how +The fourth parameter, ``extra_active`` (default=100), specifies how many levels of descendants of the currently active node should be displayed. +You can supply a ``template`` parameter to the tag. + Some Examples ============= Complete navigation (as a nested list):: - {% load cache menu_tags %} + {% load menu_tags %}
      {% show_menu 0 100 100 100 %}
    @@ -85,7 +91,7 @@ meta that is not displayed in the navigation and that has the id "meta":: {% show_menu_below_id "meta" %} -You can give it the same optional parameters as ``show_menu``:: +You can give it the same optional parameters as :ttag:`show_menu`::
      {% show_menu_below_id "meta" 0 100 100 100 "myapp/menu.html" %} @@ -156,7 +162,7 @@ in the next section) the first node still would have 0 as its `menu_level`. {{ node.get_absolute_url }} -The absolute URL of the node. +The absolute URL of the node, without any protocol, domain or port. :: {{ node.get_title }} @@ -192,17 +198,79 @@ If true this node is a "soft root". Soft Roots ********** -"Soft roots" are pages that start a new navigation. -If you are in a child of a soft root node you can only see the path to the soft -root. This feature is useful if you have big navigation trees with a lot of -pages and don't want to overwhelm the user. - -To enable it put the following in your ``settings.py`` file:: +What Soft Roots do +================== + +A *soft root* is a page that acts as the root for a menu +navigation tree. + +Typically, this will be a page that is the root of a significant +new section on your site. + +When the *soft root* feature is enabled, the navigation menu +for any page will start at the nearest *soft root*, rather than +at the real root of the site's page hierarchy. + +This feature is useful when your site has deep page hierarchies +(and therefore multiple levels in its navigation trees). In such +a case, you usually don't want to present site visitors with deep +menus of nested items. + +For example, you're on the page "Introduction to Bleeding", so the menu might look like this: + +* School of Medicine + * Medical Education + * Departments + * Department of Lorem Ipsum + * Department of Donec Imperdiet + * Department of Cras Eros + * Department of Mediaeval Surgery + * Theory + * Cures + * Bleeding + * Introduction to Bleeding + * Bleeding - the scientific evidence + * Cleaning up the mess + * Cupping + * Leaches + * Maggots + * Techniques + * Instruments + * Department of Curabitur a Purus + * Department of Sed Accumsan + * Department of Etiam + * Research + * Administration + * Contact us + * Impressum + +which is frankly overwhelming. + +By making "Department of Mediaeval Surgery" a *soft root*, the +menu becomes much more manageable: + +* Department of Mediaeval Surgery + * Theory + * Cures + * Bleeding + * Introduction to Bleeding + * Bleeding - the scientific evidence + * Cleaning up the mess + * Cupping + * Leaches + * Maggots + * Techniques + * Instruments + +Using Soft Roots +================ + +To enable the feature, ``settings.py`` requires: CMS_SOFTROOT = True -Now you can mark a page as "soft root" in the 'Advanced' tab of the page's -settings in the admin interface. +Mark a page as *soft root* in the 'Advanced' tab of the its settings +in the admin interface. ****************************** Modifying & Extending the menu diff --git a/docs/getting_started/plugin_reference.rst b/docs/getting_started/plugin_reference.rst index fa6acf49427..c404f2292fb 100644 --- a/docs/getting_started/plugin_reference.rst +++ b/docs/getting_started/plugin_reference.rst @@ -2,6 +2,10 @@ Plugins reference ################# +.. :module:: cms.plugins.file + +.. :class:: cms.plugins.file.models.FilePlugin + **** File **** @@ -9,8 +13,8 @@ File Allows you to upload a file. A filetype icon will be assigned based on the file extension. -For installation be sure you have the following in the ``INSTALLED_APPS`` setting -in your project's ``settings.py`` file:: +For installation be sure you have the following in the :setting:`django:INSTALLED_APPS` +setting in your project's ``settings.py`` file:: INSTALLED_APPS = ( # ... @@ -18,6 +22,26 @@ in your project's ``settings.py`` file:: # ... ) +You should take care that the directory defined by the configuration setting +:setting:`CMS_PAGE_MEDIA_PATH` (by default ``cms_page_media/`` relative to +:setting:`django:MEDIA_ROOT`) is writable by the user under which django will be +running. + +You might consider using `django-filer`_ with `django CMS plugin`_ and its +``cmsplugin_filer_file`` component instead. + +.. warning:: + + The builtin file plugin does only work with local storages. If you need + more advanced solutions, please look at alternative file plugins for the + django CMS, such as `django-filer`_. + +.. _django-filer: https://github.com/stefanfoulis/django-filer +.. _django CMS plugin: https://github.com/stefanfoulis/cmsplugin-filer + +.. :module:: cms.plugins.flash + +.. :class:: cms.plugins.flash.cms_plugins.FlashPlugin ***** Flash @@ -25,8 +49,8 @@ Flash Allows you to upload and display a Flash SWF file on your page. -For installation be sure you have the following in the ``INSTALLED_APPS`` -setting in your project's ``settings.py`` file:: +For installation be sure you have the following in the +:setting:`django:INSTALLED_APPS` setting in your project's ``settings.py`` file:: INSTALLED_APPS = ( # ... @@ -34,6 +58,9 @@ setting in your project's ``settings.py`` file:: # ... ) +.. :module:: cms.plugins.googlemap + +.. :class:: cms.plugins.googlemap.cms_plugins.GoogleMapPlugin ********* GoogleMap @@ -41,7 +68,7 @@ GoogleMap Displays a map of an address on your page. -For installation be sure you have the following in the ``INSTALLED_APPS`` +For installation be sure you have the following in the :setting:`django:INSTALLED_APPS` setting in your project's ``settings.py`` file:: INSTALLED_APPS = ( @@ -50,10 +77,9 @@ setting in your project's ``settings.py`` file:: # ... ) -The Google Maps API key is also required. You can either put this in a project -setting called ``GOOGLE_MAPS_API_KEY`` or be sure the template context has a -variable with the same name. +.. :module:: cms.plugins.link +.. :class:: cms.plugins.link.cms_plugins.LinkPlugin **** Link @@ -62,7 +88,7 @@ Link Displays a link to an arbitrary URL or to a page. If a page is moved the URL will still be correct. -For installation be sure to have the following in the ``INSTALLED_APPS`` +For installation be sure to have the following in the :setting:`django:INSTALLED_APPS` setting in your project's ``settings.py`` file:: INSTALLED_APPS = ( @@ -71,6 +97,14 @@ setting in your project's ``settings.py`` file:: # ... ) +.. note:: As of version 2.2, the link plugin no longer verifies the existance of + link targets. + + +.. :module:: cms.plugins.picture + +.. :class:: cms.plugins.picture.cms_plugins.PicturePlugin + ******* Picture @@ -78,7 +112,7 @@ Picture Displays a picture in a page. -For installation be sure you have the following in the ``INSTALLED_APPS`` +For installation be sure you have the following in the :setting:`django:INSTALLED_APPS` setting in your project's ``settings.py`` file:: INSTALLED_APPS = ( @@ -92,7 +126,9 @@ recommend `sorl.thumbnail `_. In your project template directory create a folder called ``cms/plugins`` and create a file called ``picture.html`` in there. Here is an example -``picture.html`` template:: +``picture.html`` template: + +.. code-block:: html+django {% load i18n thumbnail %} {% spaceless %} @@ -111,14 +147,33 @@ create a file called ``picture.html`` in there. Here is an example In this template the picture is scaled differently based on which placeholder it was placed in. +You should take care that the directory defined by the configuration setting +:setting:`CMS_PAGE_MEDIA_PATH` (by default ``cms_page_media/`` relative to +:setting:`django:MEDIA_ROOT`) is writable by the user under which django will be +running. + + + +.. note:: For more advanced use cases where you would like to upload your media + to a central location, consider using `django-filer`_ with + `django CMS plugin`_ and its ``cmsplugin_filer_video`` component + instead. + +.. _django-filer: https://github.com/stefanfoulis/django-filer +.. _django CMS plugin: https://github.com/stefanfoulis/cmsplugin-filer + +.. :module:: cms.plugins.snippet + +.. :class:: cms.plugins.snippet.cms_plugins.SnippetPlugin ******* Snippet ******* -Just renders some HTML snippet. Mostly used for development or hackery. +Renders a HTML snippet from a HTML file in your templates directories or a +snippet given via direct input. -For installation be sure you have the following in the ``INSTALLED_APPS`` +For installation be sure you have the following in the :setting:`django:INSTALLED_APPS` setting in your project's ``settings.py`` file:: INSTALLED_APPS = ( @@ -127,6 +182,13 @@ setting in your project's ``settings.py`` file:: # ... ) +.. note:: This plugin should mainly be used during development to quickly test + HTML snippets. + + +.. :module:: cms.plugins.teaser + +.. :class:: cms.plugins.teaser.cms_plugins.TeaserPlugin ****** Teaser @@ -135,7 +197,7 @@ Teaser Displays a teaser box for another page or a URL. A picture and a description can be added. -For installation be sure you have the following in the ``INSTALLED_APPS`` +For installation be sure you have the following in the :setting:`django:INSTALLED_APPS` settings in your project's ``settings.py`` file:: INSTALLED_APPS = ( @@ -144,30 +206,48 @@ settings in your project's ``settings.py`` file:: # ... ) +You should take care that the directory defined by the configuration setting +:setting:`CMS_PAGE_MEDIA_PATH` (by default ``cms_page_media/`` relative to +:setting:`django:MEDIA_ROOT`) is writable by the user under which django will be +running. + +.. note:: For more advanced use cases where you would like to upload your media + to a central location, consider using `django-filer`_ with + `django CMS plugin`_ and its ``cmsplugin_filer_video`` component + instead. + +.. _django-filer: https://github.com/stefanfoulis/django-filer +.. _django CMS plugin: https://github.com/stefanfoulis/cmsplugin-filer + +.. :module:: cms.plugins.text + +.. :class:: cms.plugins.text.cms_plugins.TextPlugin **** Text **** Displays text. If plugins are text-enabled they can be placed inside the -text-flow. At this moment the following plugins are text-enabled: +text-flow. At this moment the following core plugins are text-enabled: -- link -- picture -- file -- snippet +- :mod:`cms.plugins.link` +- :mod:`cms.plugins.picture` +- :mod:`cms.plugins.file` +- :mod:`cms.plugins.snippet` The current editor is `Wymeditor `_. If you want to -use TinyMce you need to install `django-tinymce -`_. If ``tinymce`` is in your -``INSTALLED_APPS`` it will be automatically enabled. If you have tinymce +use TinyMce you need to install `django-tinymce`_. If ``tinymce`` is in your +:setting:`django:INSTALLED_APPS` it will be automatically enabled. If you have tinymce installed but don't want to use it in the cms put the following in your ``settings.py``:: CMS_USE_TINYMCE = False +.. note:: When using django-tinymce, you also need to configure it. See the + `django-tinymce docs`_ for more information. + For installation be sure you have the following in your project's -``INSTALLED_APPS`` setting:: +:setting:`django:INSTALLED_APPS` setting:: INSTALLED_APPS = ( # ... @@ -175,6 +255,12 @@ For installation be sure you have the following in your project's # ... ) +.. _django-tinymce: http://code.google.com/p/django-tinymce/ +.. _django-tinymce docs: http://django-tinymce.googlecode.com/svn/tags/release-1.5/docs/.build/html/installation.html#id2 + +.. :module:: cms.plugins.video + +.. :class:: cms.plugins.video.cms_plugins.VideoPlugin ***** Video @@ -184,7 +270,8 @@ Plays Video Files or Youtube / Vimeo Videos. Uses the `OSFlashVideoPlayer `_. If you upload a file use .flv files or h264 encoded video files. -For installation be sure you have the following in your project's ``INSTALLED_APPS`` setting:: +For installation be sure you have the following in your project's +:setting:`django:INSTALLED_APPS` setting:: INSTALLED_APPS = ( # ... @@ -195,22 +282,38 @@ For installation be sure you have the following in your project's ``INSTALLED_AP There are some settings you can set in your settings.py to overwrite some default behavior: -- VIDEO_AUTOPLAY default=False -- VIDEO_AUTOHIDE default=False -- VIDEO_FULLSCREEN default=True -- VIDEO_LOOP default=False -- VIDEO_AUTOPLAY default=False -- VIDEO_AUTOPLAY default=False +* ``VIDEO_AUTOPLAY`` ((default: ``False``) +* ``VIDEO_AUTOHIDE`` (default: ``False``) +* ``VIDEO_FULLSCREEN`` (default: ``True``) +* ``VIDEO_LOOP`` (default: ``False``) +* ``VIDEO_AUTOPLAY`` (default: ``False``) +* ``VIDEO_BG_COLOR`` (default: ``"000000"``) +* ``VIDEO_TEXT_COLOR`` (default: ``"FFFFFF"``) +* ``VIDEO_SEEKBAR_COLOR`` (default: ``"13ABEC"``) +* ``VIDEO_SEEKBARBG_COLOR`` (default: ``"333333"``) +* ``VIDEO_LOADINGBAR_COLOR`` (default: ``"828282"``) +* ``VIDEO_BUTTON_OUT_COLOR`` (default: ``"333333"``) +* ``VIDEO_BUTTON_OVER_COLOR`` (default: ``"000000"``) +* ``VIDEO_BUTTON_HIGHLIGHT_COLOR`` (default: ``"FFFFFF"``) + +You should take care that the directory defined by the configuration setting +:setting:`CMS_PAGE_MEDIA_PATH` (by default ``cms_page_media/`` relative to +:setting:`django:MEDIA_ROOT`) is writable by the user under which django will be +running. + +.. note:: For more advanced use cases where you would like to upload your media + to a central location, consider using `django-filer`_ with + `django CMS plugin`_ and its ``cmsplugin_filer_video`` component + instead. -- VIDEO_BG_COLOR default="000000" -- VIDEO_TEXT_COLOR default="FFFFFF" -- VIDEO_SEEKBAR_COLOR default="13ABEC" -- VIDEO_SEEKBARBG_COLOR default="333333" -- VIDEO_LOADINGBAR_COLOR default="828282" -- VIDEO_BUTTON_OUT_COLOR default="333333" -- VIDEO_BUTTON_OVER_COLOR default="000000" -- VIDEO_BUTTON_HIGHLIGHT_COLOR default="FFFFFF" +.. _django-filer: https://github.com/stefanfoulis/django-filer +.. _django CMS plugin: https://github.com/stefanfoulis/cmsplugin-filer +.. :module:: cms.plugins.twitter + +.. :class:: cms.plugins.twitter.cms_plugins.TwitterRecentEntriesPlugin + +.. :class:: cms.plugins.twitter.cms_plugins.TwitterSearchPlugin ******* Twitter @@ -219,7 +322,7 @@ Twitter Displays the last number of post of a twitter user. For installation be sure you have the following in your project's -``INSTALLED_APPS`` setting:: +:setting:`django:INSTALLED_APPS` setting:: INSTALLED_APPS = ( # ... @@ -227,16 +330,22 @@ For installation be sure you have the following in your project's # ... ) +.. note:: Since avatars are not guaranteed to be available over SSL (HTTPS), by + default the Twitter plugin does not use avatars on secure sites. + +.. :module:: cms.plugins.inherit + +.. :class:: cms.plugins.twitter.cms_plugins.InheritPagePlaceholderPlugin ******* Inherit ******* -Displays all plugins of an other page or an other language. Great if you need +Displays all plugins of another page or another language. Great if you need always the same plugins on a lot of pages. For installation be sure you have the following in your project's -``INSTALLED_APPS`` setting:: +:setting:`django:INSTALLED_APPS` setting:: INSTALLED_APPS = ( # ... diff --git a/docs/getting_started/tutorial.rst b/docs/getting_started/tutorial.rst index a968a36bce2..a42c4bba11a 100644 --- a/docs/getting_started/tutorial.rst +++ b/docs/getting_started/tutorial.rst @@ -5,10 +5,21 @@ Introductory Tutorial This guide assumes your machine meets the requirements outlined in the :doc:`installation` section of this documentation. + +************ +Getting help +************ + +Should you run into trouble and can't figure out how to solve it yourself, you +can get help from either our `mailinglist`_ or IRC channel ``#django-cms`` on +the ``irc.freenode.net`` network. + + *********************** Configuration and setup *********************** + Preparing the environment ========================= @@ -49,32 +60,66 @@ To make your life easier, add the following at the top of the file:: PROJECT_PATH = os.path.abspath(os.path.dirname(__file__)) -Add the following apps to your ``INSTALLED_APPS``: +Add the following apps to your :setting:`django:INSTALLED_APPS` which enable django CMS +and required or highly recommended applications/libraries): -* ``'cms'`` -* ``'mptt'`` -* ``'menus'`` -* ``'south'`` -* ``'appmedia'`` +* ``'cms'``, django CMS itself +* ``'mptt'``, utilities for implementing a modified pre-order traversal tree +* ``'menus'``, helper for model independent hierarchical website navigation +* ``'south'``, intelligent schema and data migrations +* ``'sekizai'``, for javascript and css management Also add any (or all) of the following plugins, depending on your needs: -* ``'cms.plugins.text'`` -* ``'cms.plugins.picture'`` -* ``'cms.plugins.link'`` * ``'cms.plugins.file'`` -* ``'cms.plugins.snippet'`` +* ``'cms.plugins.flash'`` * ``'cms.plugins.googlemap'`` +* ``'cms.plugins.link'`` +* ``'cms.plugins.picture'`` +* ``'cms.plugins.snippet'`` +* ``'cms.plugins.teaser'`` +* ``'cms.plugins.text'`` +* ``'cms.plugins.video'`` +* ``'cms.plugins.twitter'`` + +They are described in more detail in chapter :doc:`Plugins reference `. +There is even more plugins available on django CMS `extensions page`_. + +.. _extensions page: http://www.django-cms.org/en/extensions/ + +Further, make sure you uncomment (enable) ``'django.contrib.admin'`` + +You might consider using `django-filer`_ with `django CMS plugin`_ and its +components instead of :mod:`cms.plugins.file`, :mod:`cms.plugins.picture`, +:mod:`cms.plugins.teaser` and :mod:`cms.plugins.video` core plugins. In this +case you should not add them to :setting:`django:INSTALLED_APPS` but add those +instead: + +* ``'filer'`` +* ``'cmsplugin_filer_file'`` +* ``'cmsplugin_filer_folder'`` +* ``'cmsplugin_filer_image'`` +* ``'cmsplugin_filer_teaser'`` +* ``'cmsplugin_filer_video'`` + +.. _django-filer: https://github.com/stefanfoulis/django-filer +.. _django CMS plugin: https://github.com/stefanfoulis/cmsplugin-filer -If you wish to use the moderation workflow, also add: +If you opt for core plugins you should take care that directory to which +:setting:`CMS_PAGE_MEDIA_PATH` setting points (by default ``cms_page_media/`` +relative to :setting:`django:MEDIA_ROOT`) is writable by the user under which Django +will be running. If you have opted for django-filer then similar requirement +exists based on its configuration. -* ``'publisher'`` +If you want versioning of your content you should also install `django-reversion`_ +and add it to :setting:`django:INSTALLED_APPS`: -Further, make sure you uncomment ``'django.contrib.admin'`` +* ``'reversion'`` -You need to add the django CMS middlewares to your ``MIDDLEWARE_CLASSES`` at the -right position:: +.. _django-reversion: https://github.com/etianen/django-reversion +You need to add the django CMS middlewares to your :setting:`django:MIDDLEWARE_CLASSES` +at the right position:: MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', @@ -82,40 +127,56 @@ right position:: 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', + 'cms.middleware.multilingual.MultilingualURLMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware.user.CurrentUserMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', - 'cms.middleware.media.PlaceholderMediaMiddleware', ) -You need at least the following ``TEMPLATE_CONTEXT_PROCESSORS`` (a default Django -settings file will not have any):: +You need at least the following :setting:`django:TEMPLATE_CONTEXT_PROCESSORS`:: TEMPLATE_CONTEXT_PROCESSORS = ( - 'django.core.context_processors.auth', + 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.i18n', 'django.core.context_processors.request', 'django.core.context_processors.media', + 'django.core.context_processors.static', 'cms.context_processors.media', + 'sekizai.context_processors.sekizai', ) -Almost there! -Point your ``MEDIA_ROOT`` to where the static media should live (that is, your images, -CSS files, Javascript files...):: +.. note:: + + This setting will be missing from automatically generated Django settings + files, so you will have to add it. + +Point your :setting:`django:STATIC_ROOT` to where the static files should live +(that is, your images, CSS files, Javascript files...):: + + STATIC_ROOT = os.path.join(PROJECT_PATH, "static") + STATIC_URL = "/static/" + ADMIN_MEDIA_PREFIX = "/static/admin/" + +For uploaded files, you will need to set up the :setting:`django:MEDIA_ROOT` +setting:: MEDIA_ROOT = os.path.join(PROJECT_PATH, "media") MEDIA_URL = "/media/" - ADMIN_MEDIA_PREFIX="/media/admin/" -Now add a little magic to the ``TEMPLATE_DIRS`` section of the file:: +.. note:: + + Please make sure both the ``static`` and ``media`` subfolder exist in your + project and are writable. + +Now add a little magic to the :setting:`django:TEMPLATE_DIRS` section of the file:: TEMPLATE_DIRS = ( # The docs say it should be absolute path: PROJECT_PATH is precisely one. # Life is wonderful! - os.path.join(PROJECT_PATH, "templates") + os.path.join(PROJECT_PATH, "templates"), ) -Add at least one template to ``CMS_TEMPLATES``; for example:: +Add at least one template to :setting:`CMS_TEMPLATES`; for example:: CMS_TEMPLATES = ( ('template_1.html', 'Template One'), @@ -127,7 +188,7 @@ now, and simply paste this code in your settings file. .. note:: - The templates you define in ``CMS_TEMPLATES`` have to exist at runtime and + The templates you define in :setting:`CMS_TEMPLATES` have to exist at runtime and contain at least one ``{% placeholder %}`` template tag to be useful for django CMS. For more details see `Creating templates`_ @@ -138,16 +199,16 @@ translations for, this is way too many so we'll limit it to English for now:: ('en', 'English'), ] -Finally, setup the ``DATABASES`` part of the file to reflect your database -deployement. If you just want to try out things locally, sqlite3 is the easiest -database to set up, however it should not be used in production. If you still -wish to use it for now, this is what your ``DATABASES`` setting should look -like:: +Finally, setup the :setting:`django:DATABASES` part of the file to reflect your +database deployment. If you just want to try out things locally, sqlite3 is the +easiest database to set up, however it should not be used in production. If you +still wish to use it for now, this is what your :setting:`django:DATABASES` +setting should look like:: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(PROJECT_DIR, 'database.sqlite'), + 'NAME': os.path.join(PROJECT_PATH, 'database.sqlite'), } } @@ -171,68 +232,22 @@ urlpatterns. We suggest starting with the following ``urls.py``:: if settings.DEBUG: urlpatterns = patterns('', - (r'^' + settings.MEDIA_URL.lstrip('/'), include('appmedia.urls')), - ) + urlpatterns - -To have access to app specific media files, use ``python manage.py symlinkmedia`` -and `django-appmedia`_ will do all the work for you. - -.. _django-appmedia: http://pypi.python.org/pypi/django-appmedia - -Initial database setup -====================== - -This command depends on whether you **upgrade** your installation or do a -**fresh install**. We recommend that you get familiar with the way `South`_ works, -as it is a very powerful, easy and convenient tool. Django CMS uses it extensively. - -Fresh install -------------- - -Run:: - - python manage.py syncdb --all - python manage.py migrate --fake - -The first command will prompt you to create a super user; choose 'yes' and enter -appropriate values. - -Upgrade -------- - -Run:: - - python manage.py syncdb - python manage.py migrate - -Up and running! -=============== - -That should be it. Restart your development server using ``python manage.py runserver`` -and point a web browser to `127.0.0.1:8000 `_ :you should get -the Django CMS "It Worked" screen. - -|it-works-cms| - -.. |it-works-cms| image:: ../images/it-works-cms.png - -Head over to the `admin panel ` and log in with -the user you created during the database setup. - -To deploy your django CMS project on a production webserver, please refer to the -`Django Documentation `_. + url(r'^media/(?P.*)$', 'django.views.static.serve', + {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), + url(r'', include('django.contrib.staticfiles.urls')), + ) + urlpatterns ****************** Creating templates ****************** -Django CMS uses templates to define how a page should look and what parts of -it are editable. Editable areas are called *placeholders*. These templates are +django CMS uses templates to define how a page should look and what parts of +it are editable. Editable areas are called **placeholders**. These templates are standard Django templates and you may use them as described in the `official documentation`_. -Templates you wish to use on your pages must be declared in the ``CMS_TEMPLATES`` +Templates you wish to use on your pages must be declared in the :setting:`CMS_TEMPLATES` setting:: CMS_TEMPLATES = ( @@ -251,11 +266,15 @@ Here is a simple example for a base template called ``base.html``: .. code-block:: html+django - {% load cms_tags %} + {% load cms_tags sekizai_tags %} + + {% render_block "css" %} + - {% placeholder base_content %} - {% block base_content%}{% endblock %} + {% placeholder base_content %} + {% block base_content%}{% endblock %} + {% render_block "js" %} @@ -279,13 +298,77 @@ template ``template_1.html`` and another is ``base_content`` from the extended When working with a lot of placeholders, make sure to give descriptive names for your placeholders, to more easily identify them in the admin panel. -Now, feel free to experiment and make a ``template_2.html`` file! If you don't feel creative, -just copy template_1 and name the second placeholder something like "template_2_content". +Now, feel free to experiment and make a ``template_2.html`` file! If you don't +feel creative, just copy template_1 and name the second placeholder something +like "template_2_content". + + +.. _sekizai-namespaces: + +Static files handling with sekizai +================================== + +The django CMS handles media files (css stylesheets and javascript files) +required by CMS plugins using `django-sekizai`_. This requires you to define at +least two sekizai namespaces in your templates: ``js`` and ``css``. You can do +so using the ``render_block`` template tag from the ``sekizai_tags`` template +tag libary. It is highly recommended to put the ``{% render_block "css" %}`` tag +as last thing before the closing ```` HTML tag and the +``{% render_block "js" %}`` tag as the last thing before the closing ```` +HTML tag. + + +.. _django-sekizai: https://github.com/ojii/django-sekizai + +Initial database setup +====================== + +This command depends on whether you **upgrade** your installation or do a +**fresh install**. We recommend that you get familiar with the way `South`_ works, +as it is a very powerful, easy and convenient tool. django CMS uses it extensively. + + +Fresh install +------------- + +Run:: + + python manage.py syncdb --all + python manage.py migrate --fake + +The first command will prompt you to create a super user; choose 'yes' and enter +appropriate values. + + +Upgrade +------- + +Run:: + + python manage.py syncdb + python manage.py migrate + + +Up and running! +=============== + +That should be it. Restart your development server using ``python manage.py runserver`` +and point a web browser to `127.0.0.1:8000 `_ :you should get +the django CMS "It Worked" screen. + +|it-works-cms| + +.. |it-works-cms| image:: ../images/it-works-cms.png + +Head over to the `admin panel ` and log in with +the user you created during the database setup. + +To deploy your django CMS project on a production webserver, please refer to the +`Django documentation `_. -.. _official documentation: http://docs.djangoproject.com/en/1.2/topics/templates/ ***************************** -Creating your first CMS page! +Creating your first CMS Page! ***************************** That's it, now the best part: you can start using the CMS! @@ -299,6 +382,7 @@ Once in the admin part of your site, you should see something like the following .. |first-admin| image:: ../images/first-admin.png + Adding a page ============= @@ -316,32 +400,39 @@ pages. .. |my-first-page| image:: ../images/my-first-page.png -Congratulations! You now have a fully functional Django CMS installation! +Congratulations! You now have a fully functional django CMS installation! + Publishing a page ================= The list of pages available is a handy way to change a few parameters about your pages: + Visibility ---------- -By default, pages are "invisible". To let people access them you should mark them as "published". -Menus +By default, pages are "invisible". To let people access them you should mark +them as "published". + + +Menus ----- -Another option this view lets you tweak is wether or not the page should appear in -your site's navigation (that is, wether there should be a menu entry to reach it + +Another option this view lets you tweak is whether or not the page should appear in +your site's navigation (that is, whether there should be a menu entry to reach it or not) + Adding content to a page ======================== -So far, our page doesn't do much. Make sure it's marked as "published", the click on the page's -"edit" button. +So far, our page doesn't do much. Make sure it's marked as "published", then +click on the page's "edit" button. Ignore most of the interface for now, and click the "view on site" button on the -top right-hand corner of the screen. As expected, your page is blank for the time being, -since our template is really a minimal one. +top right-hand corner of the screen. As expected, your page is blank for the +time being, since our template is really a minimal one. Let's get to it now then! @@ -354,7 +445,7 @@ The admin interfaces shows you theses placeholders as sub menus: .. |first-placeholders| image:: ../images/first-placeholders.png Scroll down the "Available plugins" drop-down list. This displays the plugins you -added to your INSTALLED_APPS settings. Choose the "text" plugin in the drop-down, +added to your :setting:`django:INSTALLED_APPS` settings. Choose the "text" plugin in the drop-down, then press the "Add" button. The right part of the plugin area displays a rich text editor (`TinyMCE`_). @@ -374,56 +465,8 @@ Where to go from here Congratulations, you now have a fully functional CMS! Feel free to play around with the different plugins provided out of the box, and build great websites! -*************** -Troubleshooting -*************** - -If you've created a page & you don't see it in the cms list of the Django admin: - -- Be sure you copied all the media files. Check with firebug and its "net" panel - to see if you have any 404s. - -If you're editing a Page in the Django admin, but don't see an "Add Plugin" -button with a dropdown-list of plugins: - -- Be sure your ``CMS_TEMPLATES`` setting is correct, the templates specified - exist, and they contain at least one ``{% placeholder %}`` templatetag. - - -Template errors -=============== - -If your placeholder content isn't displayed when you view a CMS page: change the -CMS_MODERATOR variable in settings.py to False. This bug has been recently -fixed, so upgrade to the latest version of Django CMS. See: -https://github.com/divio/django-cms/issues/issue/430 - - -Javascript errors -================= - -If plugins don't work (e.g.: you add a text plugin, but don't see the Javascript -text editor in the plugin window), you should use a Javascript inspector in your -browser to investigate the issue (e.g.: Firebug for Firefox, Web Inspector for -Safari or Chrome). The Javascript inspector may report the following errors: - -- **TypeError: Result of expression 'jQuery' [undefined] is not a function.** - -If you see this, check the ``MEDIA_URL`` variable in your settings.py file. Your -webserver (e.g.: Apache) should be configured to serve static media files from -this URL. - -- **Unsafe JavaScript attempt to access frame with URL - http://localhost/media/cms/wymeditor/iframe/default/wymiframe.html from frame - with URL http://127.0.0.1:8000/admin/cms/page/1/edit-plugin/2/. Domains, - protocols and ports must match.** - -This error is due to the Django test server running on a different port and URL -than the main webserver. In your test environment, you can overcome this issue -by adding a CMS_MEDIA_URL variable to your settings.py file, and adding a url -rule in urls.py to make the Django development serve the Django CMS files from -this location. .. _South: http://south.aeracode.org/ .. _TinyMCE: http://tinymce.moxiecode.com/ - +.. _official documentation: http://docs.djangoproject.com/en/1.2/topics/templates/ +.. _mailinglist: https://groups.google.com/forum/#!forum/django-cms diff --git a/docs/getting_started/using_south.rst b/docs/getting_started/using_south.rst index 9345707d0cc..f98c5d8e0e8 100644 --- a/docs/getting_started/using_south.rst +++ b/docs/getting_started/using_south.rst @@ -1,5 +1,5 @@ ########################### -Using South with Django-CMS +Using South with django CMS ########################### South is an incredible piece of software that lets you handle database @@ -17,7 +17,7 @@ as easy as typing:: pip install South -Then, simply add "South" to the list of ``INSTALLED_APPS`` in your +Then, simply add ``south`` to the list of :setting:`django:INSTALLED_APPS` in your ``settings.py`` file. @@ -27,15 +27,15 @@ Basic usage For a very short crash course: -#. Instead of the initial manage.py syncdb command, simply run +#. Instead of the initial ``manage.py syncdb`` command, simply run ``manage.py schemamigration --initial ``. This will create a new migrations package, along with a new migration file (in the form of a python script). -#. Run the migration using manage.py migrate. Your tables have now been created - in the database, Django will work as usual +#. Run the migration using ``manage.py migrate``. Your tables have now been created + in the database, Django will work as usual. #. Whenever you make changes to your models.py file, run ``manage.py schemamigration --auto `` to create a new migration - file, then ``manage.py migrate`` to apply the newly created migration! + file, then ``manage.py migrate`` to apply the newly created migration. **************************** diff --git a/docs/images/it-works-cms.png b/docs/images/it-works-cms.png index a7293e123d9..79dc10e9f5d 100644 Binary files a/docs/images/it-works-cms.png and b/docs/images/it-works-cms.png differ diff --git a/docs/index.rst b/docs/index.rst index 46bc6199798..44b9c5182d4 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,7 +4,7 @@ contain the root `toctree` directive. ###################################### -Welcome to django cms's documentation! +Welcome to django CMS's documentation! ###################################### This document refers to version |release| @@ -18,6 +18,7 @@ Getting Started :numbered: getting_started/installation + upgrade/index getting_started/tutorial getting_started/using_south getting_started/configuration @@ -36,6 +37,7 @@ Advanced advanced/i18n advanced/sitemap advanced/templatetags + advanced/cli ***************** @@ -52,11 +54,12 @@ Extending the CMS extending_cms/api_references extending_cms/placeholders extending_cms/searchdocs + extending_cms/fields -*********************** -Contributing to the CMS -*********************** +************************** +Contributing to django CMS +************************** .. toctree:: :maxdepth: 2 diff --git a/docs/src/haystack.py b/docs/src/haystack.py deleted file mode 100644 index 81a88c3828f..00000000000 --- a/docs/src/haystack.py +++ /dev/null @@ -1,61 +0,0 @@ -from django.conf import settings -from django.utils.translation import string_concat, ugettext_lazy - -from haystack import indexes, site - -from cms.models.managers import PageManager -from cms.models.pagemodel import Page - -def page_index_factory(lang, lang_name): - if isinstance(lang_name, basestring): - lang_name = ugettext_lazy(lang_name) - - def get_absolute_url(self): - return '/%s%s' % (lang, Page.get_absolute_url(self)) - - class Meta: - proxy = True - app_label = 'cms' - verbose_name = string_concat(Page._meta.verbose_name, ' (', lang_name, ')') - verbose_name_plural = string_concat(Page._meta.verbose_name_plural, ' (', lang_name, ')') - - attrs = {'__module__': Page.__module__, - 'Meta': Meta, - 'objects': PageManager(), - 'get_absolute_url': get_absolute_url} - - _PageProxy = type("Page%s" % lang.title() , (Page,), attrs) - - _PageProxy._meta.parent_attr = 'parent' - _PageProxy._meta.left_attr = 'lft' - _PageProxy._meta.right_attr = 'rght' - _PageProxy._meta.tree_id_attr = 'tree_id' - - class _PageIndex(indexes.SearchIndex): - language = lang - - text = indexes.CharField(document=True, use_template=False) - pub_date = indexes.DateTimeField(model_attr='publication_date') - login_required = indexes.BooleanField(model_attr='login_required') - url = indexes.CharField(stored=True, indexed=False, model_attr='get_absolute_url') - title = indexes.CharField(stored=True, indexed=False, model_attr='get_title') - - def prepare(self, obj): - self.prepared_data = super(_PageIndex, self).prepare(obj) - plugins = obj.cmsplugin_set.filter(language=lang) - text = '' - for plugin in plugins: - instance, _ = plugin.get_plugin_instance() - if hasattr(instance, 'search_fields'): - text += ''.join(getattr(instance, field) for field in instance.search_fields) - self.prepared_data['text'] = text - return self.prepared_data - - def get_queryset(self): - return _PageProxy.objects.published().filter(title_set__language=lang, publisher_is_draft=False).distinct() - - return _PageProxy, _PageIndex - -for lang_tuple in settings.LANGUAGES: - lang, lang_name = lang_tuple - site.register(*page_index_factory(lang, lang_name)) \ No newline at end of file diff --git a/docs/upgrade/2.2.rst b/docs/upgrade/2.2.rst new file mode 100644 index 00000000000..d8dbe2b7b59 --- /dev/null +++ b/docs/upgrade/2.2.rst @@ -0,0 +1,102 @@ +################################## +2.2 release notes (IN DEVELOPMENT) +################################## + +***************** +What's new in 2.2 +***************** + +``django-mptt`` now a proper dependency +======================================= + +`django-mptt`_ is now used as a +proper dependency and is no longer shipped with the django CMS. This solves the +version conflict issues many people had when trying to use the django CMS +together with other Django apps that require django-mptt. django CMS 2.2 +requires django-mptt 0.4.2 or higher. + +.. warning:: + + Please remove the old ``mptt`` package from your Python site-packages + directory before upgrading. The ``setup.py`` file will install the + `django-mptt`_ package as an external dependency! + +.. _django-mptt: https://github.com/django-mptt/django-mptt/ + + +Django 1.3 support +================== + +The django CMS 2.2 supports both Django 1.2.5 and Django 1.3. + + +View permissions +================ + +You can now give view permissions for django CMS pages to groups and users. + +****************************** +Backwards incompatible changes +****************************** + +``django-sekizai`` instead of PluginMedia +========================================= + +Due to the sorry state of the old plugin media framework, it has been dropped in +favor of the more stable and more flexible django-sekizai, which is a new +dependency for the django CMS 2.2. + +The following methods and properties of :class:`cms.plugins_base.CMSPluginBase` +are affected: + +* :class:`cms.plugins_base.CMSPluginBase.PluginMedia` +* :attr:`cms.plugins_base.CMSPluginBase.pluginmedia` +* :meth:`cms.plugins_base.CMSPluginBase.get_plugin_media` + +Accessing those attribtues or methods will raise a +:exc:`cms.exceptions.Deprecated` error. + +The :class:`cms.middleware.media.PlaceholderMediaMiddleware` middleware was also +removed in this process and is therefore no longer required, however you now +require to have the ``'sekizai.context_processors.sekizai'`` context processor +in your :setting:`django:TEMPLATE_CONTEXT_PROCESSORS` setting. + +All templates in :setting:`CMS_TEMPLATES` must contain at least the ``js`` and +``css`` sekizai namespaces. + +Please refer to the documentation on :ref:`custom-plugins-handling-media` in +custom CMS plugins and the +`django-sekizai documentation `_ for +more information. + + +Toolbar must be enabled explicitly in templates +=============================================== + +The toolbar no longer hacks itself into responses in the middleware, but rather +has to be enabled explictely using the ``{% cms_toolbar %}`` template tag from +the ``cms_tags`` template tag library in your templates. The template tag +should be placed somewhere within the body of the HTML (within ``...``). + +This solves issues people where having with the toolbar showing up in places it +shouldn't. + + +Static files moved to /static/ +============================== + +The static files (css/javascript/images) were moved to from ``/media/`` to +``/static/`` to work with the new ``django.contrib.staticfiles`` app in Django +1.3. This means you will have to make sure you serve static files as well as +media files on your server. + + +************************** +Features deprecated in 2.2 +************************** + +``django-dbgettext`` support +============================ + +The django-dbgettext support has been fully dropped in 2.2 in favor of the +built-in mechanisms to achieve multilinguality. diff --git a/docs/upgrade/index.rst b/docs/upgrade/index.rst new file mode 100644 index 00000000000..7256a588a6f --- /dev/null +++ b/docs/upgrade/index.rst @@ -0,0 +1,12 @@ +################################### +Upgrading a django CMS installation +################################### + +*********** +2.2 Release +*********** + +.. toctree:: + :maxdepth: 1 + + 2.2 \ No newline at end of file diff --git a/example/manage.py b/example/manage.py deleted file mode 100755 index 83fee1805c7..00000000000 --- a/example/manage.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env python -import os, sys -from django.core.management import execute_manager -sys.path.insert(0, os.path.abspath('./..')) -try: - import settings # Assumed to be in the same directory. -except ImportError: - import sys - sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__) - sys.exit(1) - -if __name__ == "__main__": - execute_manager(settings) - - \ No newline at end of file diff --git a/example/media/css/960.css b/example/media/css/960.css deleted file mode 100644 index bdfa213a6a6..00000000000 --- a/example/media/css/960.css +++ /dev/null @@ -1 +0,0 @@ -.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;position:relative;margin-left:10px;margin-right:10px}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/example/media/css/print.css b/example/media/css/print.css deleted file mode 100644 index f4ebc450a70..00000000000 --- a/example/media/css/print.css +++ /dev/null @@ -1,3 +0,0 @@ -*,body{background:#fff;} -body{color:#000;font:12px Arial, sans-serif;} -#header, #nav_sub, #cms_toolbar{display:none;} \ No newline at end of file diff --git a/example/media/css/reset.css b/example/media/css/reset.css deleted file mode 100644 index 99a021167c7..00000000000 --- a/example/media/css/reset.css +++ /dev/null @@ -1 +0,0 @@ -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/example/media/css/style.css b/example/media/css/style.css deleted file mode 100644 index 386a3261d42..00000000000 --- a/example/media/css/style.css +++ /dev/null @@ -1,171 +0,0 @@ -@import url('reset.css'); -@import url('960.css'); -@import url('text.css'); - -body{ - background:url(../img/body.jpg) repeat-x; -} - -#logo a{ - display:block; - height:70px; - background:url(../img/sprite.jpg) no-repeat 0 0; - text-indent:-9999px; - width:150px; - float:left; -} - -/* Navigation language */ -#nav_lang{ - float:right; -} -#nav_lang ul, #nav_lang li{ - list-style:none; - margin:0; - padding:0; -} -#nav_lang li{display:block;float:left;} -#nav_lang a{ - display:block; - float:left; - padding:2px 5px; - border-left:1px solid #E0E0E0; - color:#666666; - text-decoration:none; - font-size:12px; -} -#nav_lang a:hover{ - color:#5B80B2; -} -#nav_lang a.selected{ - color:#5B80B2; - font-weight:bold; -} -#nav_lang li:first-child a{ - border-left:none; -} - -/* Navigation main */ -#nav_main{ - clear:both; - border:1px solid #E0E0E0; -} -#nav_main ul, #nav_main li{ - list-style:none; - margin:0; - padding:0; -} -#nav_main li, #nav_main a{ - display:block; - float:left; - text-decoration:none; -} -#nav_main a{ - border-right:1px solid #E0E0E0; - color:#666666; - padding:11px 10px; - font-size:13px; -} -#nav_main a:hover{ - color:#fff; - background:#5B80B2; -} -#nav_main a.selected, #nav_main a.ancestor{ - color:#5B80B2; - font-weight:bold; -} -#nav_main a.selected:hover, #nav_main a.ancestor:hover{ - background:#fff; -} - - -/* Navigation Sub */ -#nav_sub{ - margin-bottom:20px; -} -#nav_sub ul, #nav_sub li{ - list-style:none; - margin:0; - padding:0; -} -#nav_sub li{ -} -#nav_sub a{ - display:block; - border-bottom:1px solid #E0E0E0; - color:#666666; - font-size:13px; - text-decoration:none; - padding:3px 0 3px 0; - zoom:1; -} -#nav_sub a:hover{ - color:#5B80B2; -} - -#nav_sub li li{ - padding-left:10px; -} - -#nav_sub a.selected, #nav_sub a.ancestor{ - color:#5B80B2; -} -#nav_sub a.selected{ - font-weight:bold; -} - -/* breadcrumb */ -ul.breadcrumb, ul.breadcrumb li{ - list-style:none; - margin:0; - padding:0; -} -ul.breadcrumb{ - clear:both; - margin-bottom:20px; - /*border-right:1px solid #E0E0E0; - border-bottom:1px solid #E0E0E0;*/ - border-left:1px solid #E0E0E0; - float:left; -} -ul.breadcrumb li{ - float:left; - color:#666; -} -ul.breadcrumb a,ul.breadcrumb span{ - color:#666; - text-decoration:none; - background:url(../img/sprite.jpg) no-repeat right 0; - display:block; - float:left; - padding-right:15px; - padding-left:10px; - line-height:22px; -} -ul.breadcrumb a:hover{ - color:#5B80B2; -} -ul.breadcrumb span{ - background-position:-200px -25px; -} - -/* Content */ -#main{ - clear:both; -} - -#col1:after, #col2:after{ - content: "\00a0"; -} - -/* PLUGIN gogole_map */ -.plugin_googlemap{margin-bottom:20px;} -.googlemap-map{ - height:250px; -} -.grid_4 .googlemap-map{ - height:220px; -} -.grid_6 .googlemap-map{ - height:340px; -} diff --git a/example/media/css/text.css b/example/media/css/text.css deleted file mode 100644 index bbdb7d33a49..00000000000 --- a/example/media/css/text.css +++ /dev/null @@ -1,18 +0,0 @@ -body{font:12px/1.5 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif;color:#666;} -a{color:#666;} -a:focus{outline:1px dotted} -a:hover{color:#5B80B2;} -hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0} - -h1{font-size:25px} -h2{font-size:23px} -h3{font-size:21px} -h4{font-size:19px} -h5{font-size:17px} -h6{font-size:15px} - -ol{list-style:decimal} -ul{list-style:disc} -li{margin-left:30px} - -p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px} \ No newline at end of file diff --git a/example/media/img/body.jpg b/example/media/img/body.jpg deleted file mode 100644 index 5c298036dd4..00000000000 Binary files a/example/media/img/body.jpg and /dev/null differ diff --git a/example/media/img/source/sprite.png b/example/media/img/source/sprite.png deleted file mode 100644 index fd8a0f530f3..00000000000 Binary files a/example/media/img/source/sprite.png and /dev/null differ diff --git a/example/media/img/sprite.jpg b/example/media/img/sprite.jpg deleted file mode 100644 index fb7eac58edc..00000000000 Binary files a/example/media/img/sprite.jpg and /dev/null differ diff --git a/example/media/img/x-repeat.jpg b/example/media/img/x-repeat.jpg deleted file mode 100644 index 5c298036dd4..00000000000 Binary files a/example/media/img/x-repeat.jpg and /dev/null differ diff --git a/example/sampleapp/menu.py b/example/sampleapp/menu.py deleted file mode 100644 index 7228d768c78..00000000000 --- a/example/sampleapp/menu.py +++ /dev/null @@ -1,61 +0,0 @@ -from menus.base import Menu, NavigationNode -from example.sampleapp.models import Category -from django.core.urlresolvers import reverse, NoReverseMatch -from menus.menu_pool import menu_pool -from django.utils.translation import ugettext_lazy as _ -from cms.menu_bases import CMSAttachMenu - -class SampleAppMenu(Menu): - - def get_nodes(self, request): - nodes = [] - for cat in Category.objects.all(): - n = NavigationNode(cat.name, cat.get_absolute_url(), "sampleapp", cat.pk, cat.parent_id, "sampleapp") - nodes.append(n) - try: - n = NavigationNode(_('sample root page'), reverse('sample-root'), 1) - n2 = NavigationNode(_('sample settings page'), reverse('sample-settings'), 2) - n3 = NavigationNode(_('sample account page'), reverse('sample-account'), 3) - n4 = NavigationNode(_('sample my profile page'), reverse('sample-profile'), 4, 3) - nodes.append(n) - nodes.append(n2) - nodes.append(n3) - nodes.append(n4) - except NoReverseMatch: - pass - return nodes - -menu_pool.register_menu(SampleAppMenu) - -class StaticMenu(CMSAttachMenu): - name = _("Static Menu") - def get_nodes(self, request): - nodes = [] - n = NavigationNode('static root page', "/fresh/", 1) - n2 = NavigationNode('static settings page', "/bye/", 2) - n3 = NavigationNode('static account page', "/hello/", 3) - n4 = NavigationNode('static my profile page', "/hello/world/", 4, 3) - nodes.append(n) - nodes.append(n2) - nodes.append(n3) - nodes.append(n4) - return nodes - -menu_pool.register_menu(StaticMenu) - -class StaticMenu2(CMSAttachMenu): - name = _("Static Menu2") - def get_nodes(self, request): - nodes = [] - n = NavigationNode('static2 root page', "/fresh/", 1) - n2 = NavigationNode('static2 settings page', "/bye/", 2) - n3 = NavigationNode('static2 account page', "/hello/", 3) - n4 = NavigationNode('static2 my profile page', "/hello/world/", 4, 3) - nodes.append(n) - nodes.append(n2) - nodes.append(n3) - nodes.append(n4) - return nodes - -menu_pool.register_menu(StaticMenu2) - diff --git a/example/sampleapp/templates/sampleapp/home.html b/example/sampleapp/templates/sampleapp/home.html deleted file mode 100644 index 4fdf2caeed5..00000000000 --- a/example/sampleapp/templates/sampleapp/home.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends "base.html" %} -{% load cms_tags %} - -{% block content %} -

      Sample application home page

      -

      {{ message }}

      - {{ block.super }} - -

      Sample image - appmedia works?

      - gift -{% endblock content %} \ No newline at end of file diff --git a/example/sampleapp/urls.py b/example/sampleapp/urls.py deleted file mode 100644 index 5530b9d55e3..00000000000 --- a/example/sampleapp/urls.py +++ /dev/null @@ -1,9 +0,0 @@ -from django.conf.urls.defaults import patterns, url - -urlpatterns = patterns('sampleapp.views', - url(r'^$', 'sample_view', {'message': 'sample root page',}, name='sample-root'), - url(r'^settings/$', 'sample_view', kwargs={'message': 'sample settings page'}, name='sample-settings'), - url(r'^account/$', 'sample_view', {'message': 'sample account page'}, name='sample-account'), - url(r'^account/my_profile/$', 'sample_view', {'message': 'sample my profile page'}, name='sample-profile'), - url(r'(?P[0-9]+)/$', 'category_view', name='category_view'), -) diff --git a/example/sampleapp/views.py b/example/sampleapp/views.py deleted file mode 100644 index 8d5c065b784..00000000000 --- a/example/sampleapp/views.py +++ /dev/null @@ -1,11 +0,0 @@ -# Create your views here. -from django.shortcuts import render_to_response -from django.template.context import RequestContext -from example.sampleapp.models import Category - -def sample_view(request, **kw): - context = RequestContext(request, kw) - return render_to_response("sampleapp/home.html", context) - -def category_view(request, id): - return render_to_response('sampleapp/category_view.html', RequestContext(request, {'category':Category.objects.get(pk=id)})) \ No newline at end of file diff --git a/example/sampleblog/admin.py b/example/sampleblog/admin.py deleted file mode 100644 index 14c943a7c52..00000000000 --- a/example/sampleblog/admin.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.contrib import admin -from cms.admin.placeholderadmin import PlaceholderAdmin -from sampleblog.models import BlogPost - -admin.site.register(BlogPost, PlaceholderAdmin) diff --git a/example/sampleblog/models.py b/example/sampleblog/models.py deleted file mode 100644 index 30bf491439f..00000000000 --- a/example/sampleblog/models.py +++ /dev/null @@ -1,8 +0,0 @@ -from django.db import models -from cms.models.fields import PlaceholderField - - -class BlogPost(models.Model): - created_at = models.DateTimeField(auto_now_add=True) - created_by = models.ForeignKey('auth.User') - contents = PlaceholderField('blogpost') diff --git a/example/sampleblog/templates/blog/post.html b/example/sampleblog/templates/blog/post.html deleted file mode 100644 index 4b15c4ec206..00000000000 --- a/example/sampleblog/templates/blog/post.html +++ /dev/null @@ -1,7 +0,0 @@ -{% extends "index.html" %} -{% load placeholder_tags %} - -{% block content %} - - {% render_placeholder post.contents "640" %} -{% endblock content %} diff --git a/example/sampleblog/views.py b/example/sampleblog/views.py deleted file mode 100644 index 94107abd11f..00000000000 --- a/example/sampleblog/views.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.shortcuts import render_to_response -from sampleblog.models import BlogPost - -def blog_post(request, post_id): - return render_to_response('blog/post.html', {'post': BlogPost.objects.get(pk=post_id)}) diff --git a/example/settings.py b/example/settings.py deleted file mode 100644 index a4dc65d8df4..00000000000 --- a/example/settings.py +++ /dev/null @@ -1,170 +0,0 @@ -# Django settings for cms project. -import os -PROJECT_DIR = os.path.dirname(__file__) - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -ADMINS = ( -) - -CACHE_BACKEND = 'locmem:///' - -MANAGERS = ADMINS - -DATABASE_ENGINE = 'sqlite3' -DATABASE_NAME = 'cms.sqlite' - -TEST_DATABASE_CHARSET = "utf8" -TEST_DATABASE_COLLATION = "utf8_general_ci" - -DATABASE_SUPPORTS_TRANSACTIONS = True - -TIME_ZONE = 'America/Chicago' - -SITE_ID = 1 - -USE_I18N = True - -MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media/') - -CMS_MEDIA_ROOT = os.path.join(PROJECT_DIR, '../cms/media/cms/') -MEDIA_URL = '/media/' - -ADMIN_MEDIA_PREFIX = '/media/admin/' - -FIXTURE_DIRS = [os.path.join(PROJECT_DIR, 'fixtures')] - -SECRET_KEY = '*xq7m@)*f2awoj!spa0(jibsrz9%c0d=e(g)v*!17y(vx0ue_3' - -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', - 'django.template.loaders.eggs.Loader', -) - -TEMPLATE_CONTEXT_PROCESSORS = ( - "django.core.context_processors.auth", - "django.core.context_processors.i18n", - "django.core.context_processors.debug", - "django.core.context_processors.request", - "django.core.context_processors.media", - 'django.core.context_processors.csrf', - "cms.context_processors.media", -) - -INTERNAL_IPS = ('127.0.0.1',) - -MIDDLEWARE_CLASSES = ( - 'django.contrib.sessions.middleware.SessionMiddleware', - 'cms.middleware.multilingual.MultilingualURLMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.doc.XViewMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'cms.middleware.media.PlaceholderMediaMiddleware', - 'cms.middleware.user.CurrentUserMiddleware', - 'cms.middleware.page.CurrentPageMiddleware', - 'cms.middleware.toolbar.ToolbarMiddleware', -) - -DEBUG_TOOLBAR_CONFIG = { - 'INTERCEPT_REDIRECTS': False -} - -ROOT_URLCONF = 'example.urls' - - -TEMPLATE_DIRS = ( - os.path.join(PROJECT_DIR, 'templates'), -) - -INSTALLED_APPS = ( - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.admin', - 'django.contrib.sites', - 'cms', - 'publisher', - 'menus', - 'cms.plugins.text', - 'cms.plugins.picture', - 'cms.plugins.file', - 'cms.plugins.flash', - 'cms.plugins.link', - 'cms.plugins.snippet', - 'cms.plugins.googlemap', - 'cms.plugins.teaser', - 'cms.plugins.video', - 'cms.plugins.twitter', - 'cms.plugins.inherit', - 'mptt', - 'example.sampleapp', - 'south' -) - -gettext = lambda s: s - -LANGUAGE_CODE = "en" - -LANGUAGES = ( - ('fr', gettext('French')), - ('de', gettext('German')), - ('en', gettext('English')), - ('pt-BR', gettext("Brazil")), -) - -CMS_LANGUAGE_CONF = { - 'de':['fr', 'en'], - 'en':['fr', 'de'], -} - -CMS_SITE_LANGUAGES = { - 1:['fr','de','en','pt-BR'], - 2:['de','en'], -} - -APPEND_SLASH = True - -CMS_TEMPLATES = ( - ('col_two.html', gettext('two columns')), - ('col_three.html', gettext('three columns')), - ('nav_playground.html', gettext('navigation examples')), -) - - - -CMS_PLACEHOLDER_CONF = { - 'col_sidebar': { - 'plugins': ('FilePlugin', 'FlashPlugin', 'LinkPlugin', 'PicturePlugin', 'TextPlugin', 'SnippetPlugin'), - 'name': gettext("sidebar column") - }, - - 'col_left': { - 'plugins': ('FilePlugin', 'FlashPlugin', 'LinkPlugin', 'PicturePlugin', 'TextPlugin', 'SnippetPlugin','GoogleMapPlugin',), - 'name': gettext("left column") - }, - - 'col_right': { - 'plugins': ('FilePlugin', 'FlashPlugin', 'LinkPlugin', 'PicturePlugin', 'TextPlugin', 'SnippetPlugin','GoogleMapPlugin',), - 'name': gettext("right column") - }, -} - -CMS_SOFTROOT = True -CMS_MODERATOR = True -CMS_PERMISSION = True -CMS_REDIRECTS = True -CMS_SEO_FIELDS = True -CMS_FLAT_URLS = False -CMS_MENU_TITLE_OVERWRITE = True -CMS_HIDE_UNTRANSLATED = False -CMS_URL_OVERWRITE = True - -SOUTH_TESTS_MIGRATE = False - -try: - from local_settings import * -except ImportError: - pass \ No newline at end of file diff --git a/example/templates/nav_playground.html b/example/templates/nav_playground.html deleted file mode 100644 index d75fa180a80..00000000000 --- a/example/templates/nav_playground.html +++ /dev/null @@ -1,164 +0,0 @@ -{% load cache cms_tags menu_tags %} - - -{% page_attribute page_title %} - - - -{% plugins_media %} - - - - -
      -

      - {% if user.is_authenticated %} - log out - {% else %} - log in - {% endif %} -

      -

      - See this page in: {% language_chooser %} -

      -

      {% block title %}{% page_attribute title %}{% endblock %}

      - -

      site: {{ site.name }}

      - -

      Complete navigation

      - -
        - {% show_menu 0 100 100 100 %} -
      - -

      Navigation with active tree

      -
        - {% show_menu 0 100 0 100 %} -
      - -

      Navigation with only 1 active extra level

      -
        - {% show_menu 0 100 0 1 %} -
      - -

      Level 0 navigation

      -
        - {% show_menu 0 0 0 0 %} -
      - -

      Level 1 navigation

      -
        - {% show_menu 1 1 100 100 %} -
      - -

      Level 1 navigation (only active tree)

      -
        - {% show_menu 1 1 0 100 %} -
      - -

      Level 0-1 navigation

      -
        - {% show_menu 0 1 100 100 %} -
      - -

      Display the sub menu (2 level deep) of the current page

      - -
        - {% show_sub_menu 2 %} -
      - - -

      Show the breadcrumb navigation of the current page

      - - -

      Content

      -{% block content %} -
      -

      Title placeholder {% page_attribute title %}

      -
      -

      Right column placeholder

      - {% placeholder right-column %} -
      -
      -

      Body placeholder

      - {% placeholder "body" %} -
      -
      -{% endblock %} - -
      - - - diff --git a/example/urls.py b/example/urls.py deleted file mode 100644 index 616e41dfe3a..00000000000 --- a/example/urls.py +++ /dev/null @@ -1,23 +0,0 @@ -from django.conf import settings -from django.conf.urls.defaults import patterns, include, \ - url -from django.contrib import admin - -admin.autodiscover() - -urlpatterns = patterns('', - (r'^admin/', include(admin.site.urls)), - (r'^jsi18n/(?P\S+?)/$', 'django.views.i18n.javascript_catalog'), - # just for testing - native way to sampleapp urls - # (r'^sampleapp-native/', include('sampleapp.urls')), -) - -if settings.DEBUG: - urlpatterns+= patterns('', - url(r'^media/cms/(?P.*)$', 'django.views.static.serve', {'document_root': settings.CMS_MEDIA_ROOT, 'show_indexes': True}), - url(r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}) - ) - -urlpatterns += patterns('', - url(r'^', include('cms.urls')), -) \ No newline at end of file diff --git a/menus/base.py b/menus/base.py index f4ecc9d1077..dbc4ab40a99 100644 --- a/menus/base.py +++ b/menus/base.py @@ -22,26 +22,22 @@ def modify(self, request, nodes, namespace, root_id, post_cut, breadcrumb): pass class NavigationNode(object): - title = None - url = None - attr = {} - namespace = None - id = None - parent_id = None - parent_namespace = None - parent = None # do not touch - visible = True def __init__(self, title, url, id, parent_id=None, parent_namespace=None, attr=None, visible=True): self.children = [] # do not touch + self.parent = None # do not touch, code depends on this + self.namespace = None # TODO: Assert why we need this and above self.title = title self.url = self._remove_current_root(url) self.id = id self.parent_id = parent_id self.parent_namespace = parent_namespace self.visible = visible + if attr: self.attr = attr + else: + self.attr = {} # To avoid declaring a dict in defaults... def __repr__(self): return "" % smart_str(self.title) @@ -70,7 +66,7 @@ def get_descendants(self): def get_ancestors(self): nodes = [] - if self.parent: + if getattr(self, 'parent', None): nodes.append(self.parent) nodes += self.parent.get_ancestors() return nodes \ No newline at end of file diff --git a/menus/menu_pool.py b/menus/menu_pool.py index 444ebe207af..56f2401eebf 100644 --- a/menus/menu_pool.py +++ b/menus/menu_pool.py @@ -1,19 +1,13 @@ # -*- coding: utf-8 -*- +from cms.utils.django_load import load from django.conf import settings from django.contrib.sites.models import Site from django.core.cache import cache -from django.utils.importlib import import_module from django.utils.translation import get_language from menus.exceptions import NamespaceAllreadyRegistered from menus.models import CacheKey import copy -def lex_cache_key(key): - """ - Returns the language and site ID a cache key is related to. - """ - return key.rsplit('_', 2)[1:] - def _build_nodes_inner_for_one_menu(nodes, menu_class_name): ''' This is an easier to test "inner loop" building the menu tree structure @@ -76,21 +70,20 @@ def __init__(self): def discover_menus(self): if self.discovered: - return - for app in settings.INSTALLED_APPS: - try: - import_module('.menu', app) - except ImportError: - pass + return + load('menu') from menus.modifiers import register register() self.discovered = True - def clear(self, site_id=None, language=None): + def clear(self, site_id=None, language=None, all=False): ''' This invalidates the cache for a given menu (site_id and language) ''' - cache_keys = CacheKey.objects.get_keys(site_id, language) + if all: + cache_keys = CacheKey.objects.get_keys() + else: + cache_keys = CacheKey.objects.get_keys(site_id, language) to_be_deleted = [obj.key for obj in cache_keys] cache.delete_many(to_be_deleted) cache_keys.delete() @@ -99,15 +92,16 @@ def register_menu(self, menu): from menus.base import Menu assert issubclass(menu, Menu) if menu.__name__ in self.menus.keys(): - raise NamespaceAllreadyRegistered, "[%s] a menu with this name is already registered" % menu.__name__ + raise NamespaceAllreadyRegistered( + "[%s] a menu with this name is already registered" % menu.__name__) self.menus[menu.__name__] = menu() - + def register_modifier(self, modifier_class): from menus.base import Modifier assert issubclass(modifier_class, Modifier) if not modifier_class in self.modifiers: self.modifiers.append(modifier_class) - + def _build_nodes(self, request, site_id): """ This is slow. Caching must be used. @@ -129,7 +123,8 @@ def _build_nodes(self, request, site_id): lang = get_language() prefix = getattr(settings, "CMS_CACHE_PREFIX", "menu_cache_") key = "%smenu_nodes_%s_%s" % (prefix, lang, site_id) - + if request.user.is_authenticated(): + key += "_%s_user" % request.user.pk cached_nodes = cache.get(key, None) if cached_nodes: return cached_nodes @@ -139,8 +134,7 @@ def _build_nodes(self, request, site_id): nodes = self.menus[menu_class_name].get_nodes(request) # nodes is a list of navigation nodes (page tree in cms + others) final_nodes += _build_nodes_inner_for_one_menu(nodes, menu_class_name) - duration = getattr(settings, "MENU_CACHE_DURATION", 60*60) - cache.set(key, final_nodes, duration) + cache.set(key, final_nodes, settings.CMS_CACHE_DURATIONS['menus']) # We need to have a list of the cache keys for languages and sites that # span several processes - so we follow the Django way and share through # the database. It's still cheaper than recomputing every time! @@ -148,7 +142,7 @@ def _build_nodes(self, request, site_id): # since the cache shared but the keys aren't CacheKey.objects.create(key=key, language=lang, site=site_id) return final_nodes - + def apply_modifiers(self, nodes, request, namespace=None, root_id=None, post_cut=False, breadcrumb=False): if not post_cut: nodes = self._mark_selected(request, nodes) @@ -156,7 +150,7 @@ def apply_modifiers(self, nodes, request, namespace=None, root_id=None, post_cut inst = cls() nodes = inst.modify(request, nodes, namespace, root_id, post_cut, breadcrumb) return nodes - + def get_nodes(self, request, namespace=None, root_id=None, site_id=None, breadcrumb=False): self.discover_menus() if not site_id: @@ -165,7 +159,7 @@ def get_nodes(self, request, namespace=None, root_id=None, site_id=None, breadcr nodes = copy.deepcopy(nodes) nodes = self.apply_modifiers(nodes, request, namespace, root_id, post_cut=False, breadcrumb=breadcrumb) return nodes - + def _mark_selected(self, request, nodes): sel = None for node in nodes: @@ -184,7 +178,7 @@ def _mark_selected(self, request, nodes): if sel: sel.selected = True return nodes - + def get_menus_by_attribute(self, name, value): self.discover_menus() found = [] @@ -192,12 +186,12 @@ def get_menus_by_attribute(self, name, value): if hasattr(menu[1], name) and getattr(menu[1], name, None) == value: found.append((menu[0], menu[1].name)) return found - + def get_nodes_by_attribute(self, nodes, name, value): found = [] for node in nodes: if node.attr.get(name, None) == value: found.append(node) return found - + menu_pool = MenuPool() diff --git a/menus/templatetags/menu_tags.py b/menus/templatetags/menu_tags.py index 2cfd25671d1..952a668dcfb 100644 --- a/menus/templatetags/menu_tags.py +++ b/menus/templatetags/menu_tags.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from classytags.arguments import IntegerArgument, Argument +from classytags.arguments import IntegerArgument, Argument, StringArgument from classytags.core import Options from classytags.helpers import InclusionTag from django import template @@ -11,6 +11,9 @@ from menus.menu_pool import menu_pool import urllib +register = template.Library() + + class NOT_PROVIDED: pass @@ -73,7 +76,13 @@ def cut_levels(nodes, from_level, to_level, extra_inactive, extra_active): if node in final: final.remove(node) return final -register = template.Library() + +def flatten(nodes): + flat = [] + for node in nodes: + flat.append(node) + flat.extend(flatten(node.children)) + return flat class ShowMenu(InclusionTag): @@ -95,9 +104,9 @@ class ShowMenu(InclusionTag): IntegerArgument('to_level', default=100, required=False), IntegerArgument('extra_inactive', default=0, required=False), IntegerArgument('extra_active', default=1000, required=False), - Argument('template', default='menu/menu.html', required=False), - Argument('namespace', default=None, required=False), - Argument('root_id', default=None, required=False), + StringArgument('template', default='menu/menu.html', required=False), + StringArgument('namespace', default=None, required=False), + StringArgument('root_id', default=None, required=False), Argument('next_page', default=None, required=False), ) @@ -118,14 +127,14 @@ def get_context(self, context, from_level, to_level, extra_inactive, id_nodes = menu_pool.get_nodes_by_attribute(nodes, "reverse_id", root_id) if id_nodes: node = id_nodes[0] - new_nodes = node.children - for n in new_nodes: + nodes = node.children + for n in nodes: n.parent = None from_level += node.level + 1 to_level += node.level + 1 + nodes = flatten(nodes) else: - new_nodes = [] - nodes = new_nodes + nodes = [] children = cut_levels(nodes, from_level, to_level, extra_inactive, extra_active) children = menu_pool.apply_modifiers(children, request, namespace, root_id, post_cut=True) @@ -357,7 +366,7 @@ def get_context(self, context, lang): else: page = request.current_page if page == "dummy": - return '' + return {'content': ''} try: url = page.get_absolute_url(language=lang, fallback=False) url = "/" + lang + url diff --git a/menus/utils.py b/menus/utils.py index 69665b668eb..d35410fde08 100644 --- a/menus/utils.py +++ b/menus/utils.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- from cms.models.titlemodels import Title -from django.conf import settings def mark_descendants(nodes): @@ -8,125 +7,6 @@ def mark_descendants(nodes): node.descendant = True mark_descendants(node.children) -def make_tree(items, levels, url, ancestors, descendants=False, - current_level=0, to_levels=100, active_levels=0): - from cms.models import Page # Probably avoids circular imports... - """ - Builds the tree which gets displayed in the CMSChangeList (in the admin - view, the nice Javascript tree of pages you get) - """ - levels -= 1 - current_level += 1 - found = False - for item in items: - item.level = current_level - if descendants and not found: - item.descendant = True - item.ancestors_ascending = ancestors - if item.get_absolute_url() == url: - item.selected = True - item.descendant = False - levels = active_levels - descendants = True - found = True - last = None - for anc in ancestors: - if not isinstance(anc, Page) and last: - last = None - if hasattr(last, 'childrens'): - for child in last.childrens: - if isinstance(child, Page): - child.sibling = True - else: - last = anc - anc.ancestor = True - if last: - if hasattr(last, 'childrens'): - for child in last.childrens: - if isinstance(child, Page): - child.sibling = True - elif found: - item.sibling = True - if levels == 0 and not hasattr(item, "ancestor" ) or item.level == to_levels or not hasattr(item, "childrens"): - item.childrens = [] - else: - make_tree(item.childrens, levels, url, ancestors+[item], descendants, current_level, to_levels, active_levels) - if found: - for item in items: - if not hasattr(item, "selected"): - item.sibling = True - -def get_extended_navigation_nodes(request, levels, ancestors, current_level, to_levels, active_levels, mark_sibling, path): - """ - discovers all navigation nodes from navigation extenders - """ - func_name = path.split(".")[-1] - ext = __import__(".".join(path.split(".")[:-1]),(),(),(func_name,)) - func = getattr(ext, func_name) - items = func(request) - descendants = False - for anc in ancestors: - if hasattr(anc, 'selected'): - if anc.selected: - descendants = True - if len(ancestors) and hasattr(ancestors[-1], 'ancestor'): - make_tree(items, 100, request.path, ancestors, descendants, current_level, 100, active_levels) - make_tree(items, levels, request.path, ancestors, descendants, current_level, to_levels, active_levels) - if mark_sibling: - for item in items: - if not hasattr(item, "selected" ): - item.sibling = True - return items - -def find_children(target, pages, levels=100, active_levels=0, ancestors=None, selected_pk=0, soft_roots=True, request=None, no_extended=False, to_levels=100): - """ - recursive function for marking all children and handling the active and inactive trees with the level limits - """ - if not hasattr(target, "childrens"): - target.childrens = [] - if ancestors == None: - ancestors = [] - if target.pk in ancestors: - target.ancestor = True - if target.pk == selected_pk: - levels = active_levels - if (levels <= 0 or (target.soft_root and soft_roots)) and not target.pk in ancestors: - return - mark_sibling = False - for page in pages: - if page.parent_id and page.parent_id == target.pk: - if hasattr(target, "selected") or hasattr(target, "descendant"): - page.descendant = True - if len(target.childrens): - target.childrens[-1].last = False - page.ancestors_ascending = [target] + list(target.ancestors_ascending) - page.home_pk_cache = target.home_pk_cache - page.last = True - target.childrens.append(page) - find_children(page, - pages, - levels-1, - active_levels, - ancestors, - selected_pk, - soft_roots, - request, - no_extended, - to_levels) - if hasattr(page, "selected"): - mark_sibling = True - if target.navigation_extenders and (levels > 0 or target.pk in ancestors) and not no_extended and target.level < to_levels: - target.childrens += get_extended_navigation_nodes( - request, - levels, - list(target.ancestors_ascending) + [target], - target.level, - to_levels, - active_levels, - mark_sibling, - target.navigation_extenders - ) - def cut_levels(nodes, level): """ For cutting the nav_extender levels if you have a from_level in the navigation. @@ -146,7 +26,7 @@ def find_selected(nodes): for node in nodes: if hasattr(node, "selected"): return node - if hasattr(node, "ancestor"): + elif hasattr(node, "ancestor"): result = find_selected(node.children) if result: return result @@ -205,12 +85,11 @@ def __call__(self, lang): return '%s%s' % (self.get_page_path(lang), self.app_path) def get_page_path(self, lang): - if getattr(self.request, 'current_page'): + if getattr(self.request, 'current_page', None): try: return self.request.current_page.get_absolute_url(language=lang, fallback=False) except Title.DoesNotExist: return self.request.current_page.get_absolute_url(language=lang, fallback=True) - return self.request.current_page.get_absolute_url(language=lang) else: return '' @@ -220,14 +99,4 @@ def _wrapped(request, *args, **kwargs): return func(request, *args, **kwargs) _wrapped.__name__ = func.__name__ _wrapped.__doc__ = func.__doc__ - return _wrapped - - - -def handle_navigation_manipulators(navigation_tree, request): - for handler_function_name, name in settings.CMS_NAVIGATION_MODIFIERS: - func_name = handler_function_name.split(".")[-1] - modifier = __import__(".".join(handler_function_name.split(".")[:-1]),(),(),(func_name,)) - handler_func = getattr(modifier, func_name) - handler_func(navigation_tree, request) - return navigation_tree + return _wrapped \ No newline at end of file diff --git a/mptt/__init__.py b/mptt/__init__.py deleted file mode 100644 index 51c62d09e25..00000000000 --- a/mptt/__init__.py +++ /dev/null @@ -1,94 +0,0 @@ -VERSION = (0, 3, 'pre') - -__all__ = ('register',) - -class AlreadyRegistered(Exception): - """ - An attempt was made to register a model for MPTT more than once. - """ - pass - -registry = [] - -def register(model, parent_attr='parent', left_attr='lft', right_attr='rght', - tree_id_attr='tree_id', level_attr='level', - tree_manager_attr='tree', order_insertion_by=None): - """ - Sets the given model class up for Modified Preorder Tree Traversal. - """ - try: - from functools import wraps - except ImportError: - from django.utils.functional import wraps # Python 2.3, 2.4 fallback - - from django.db.models import signals as model_signals - from django.db.models import FieldDoesNotExist, PositiveIntegerField - from django.utils.translation import ugettext as _ - - from mptt import models - from mptt.signals import pre_save - from mptt.managers import TreeManager - - if model in registry: - raise AlreadyRegistered( - _('The model %s has already been registered.') % model.__name__) - registry.append(model) - - # Add tree options to the model's Options - opts = model._meta - opts.parent_attr = parent_attr - opts.right_attr = right_attr - opts.left_attr = left_attr - opts.tree_id_attr = tree_id_attr - opts.level_attr = level_attr - opts.tree_manager_attr = tree_manager_attr - opts.order_insertion_by = order_insertion_by - - # Add tree fields if they do not exist - for attr in [left_attr, right_attr, tree_id_attr, level_attr]: - try: - opts.get_field(attr) - except FieldDoesNotExist: - PositiveIntegerField( - db_index=True, editable=False).contribute_to_class(model, attr) - - # Add tree methods for model instances - setattr(model, 'get_ancestors', models.get_ancestors) - setattr(model, 'get_children', models.get_children) - setattr(model, 'get_descendants', models.get_descendants) - setattr(model, 'get_descendant_count', models.get_descendant_count) - setattr(model, 'get_next_sibling', models.get_next_sibling) - setattr(model, 'get_previous_sibling', models.get_previous_sibling) - setattr(model, 'get_root', models.get_root) - setattr(model, 'get_siblings', models.get_siblings) - setattr(model, 'insert_at', models.insert_at) - setattr(model, 'is_child_node', models.is_child_node) - setattr(model, 'is_leaf_node', models.is_leaf_node) - setattr(model, 'is_root_node', models.is_root_node) - setattr(model, 'move_to', models.move_to) - - # Add a custom tree manager - TreeManager(parent_attr, left_attr, right_attr, tree_id_attr, - level_attr).contribute_to_class(model, tree_manager_attr) - setattr(model, '_tree_manager', getattr(model, tree_manager_attr)) - - # Set up signal receiver to manage the tree when instances of the - # model are about to be saved. - model_signals.pre_save.connect(pre_save, sender=model) - - # Wrap the model's delete method to manage the tree structure before - # deletion. This is icky, but the pre_delete signal doesn't currently - # provide a way to identify which model delete was called on and we - # only want to manage the tree based on the topmost node which is - # being deleted. - def wrap_delete(delete): - def _wrapped_delete(self): - opts = self._meta - tree_width = (getattr(self, opts.right_attr) - - getattr(self, opts.left_attr) + 1) - target_right = getattr(self, opts.right_attr) - tree_id = getattr(self, opts.tree_id_attr) - self._tree_manager._close_gap(tree_width, target_right, tree_id) - delete(self) - return wraps(delete)(_wrapped_delete) - model.delete = wrap_delete(model.delete) diff --git a/mptt/exceptions.py b/mptt/exceptions.py deleted file mode 100644 index e390b2cb872..00000000000 --- a/mptt/exceptions.py +++ /dev/null @@ -1,11 +0,0 @@ -""" -MPTT exceptions. -""" - -class InvalidMove(Exception): - """ - An invalid node move was attempted. - - For example, attempting to make a node a child of itself. - """ - pass diff --git a/mptt/forms.py b/mptt/forms.py deleted file mode 100644 index 0b9a6d9fac0..00000000000 --- a/mptt/forms.py +++ /dev/null @@ -1,129 +0,0 @@ -""" -Form components for working with trees. -""" -from django import forms -from django.forms.forms import NON_FIELD_ERRORS -from django.forms.util import ErrorList -from django.utils.encoding import smart_unicode -from django.utils.translation import ugettext_lazy as _ - -from mptt.exceptions import InvalidMove - -__all__ = ('TreeNodeChoiceField', 'TreeNodePositionField', 'MoveNodeForm') - -# Fields ###################################################################### - -class TreeNodeChoiceField(forms.ModelChoiceField): - """A ModelChoiceField for tree nodes.""" - def __init__(self, level_indicator=u'---', *args, **kwargs): - self.level_indicator = level_indicator - kwargs['empty_label'] = None - super(TreeNodeChoiceField, self).__init__(*args, **kwargs) - - def label_from_instance(self, obj): - """ - Creates labels which represent the tree level of each node when - generating option labels. - """ - return u'%s %s' % (self.level_indicator * getattr(obj, - obj._meta.level_attr), - smart_unicode(obj)) - -class TreeNodePositionField(forms.ChoiceField): - """A ChoiceField for specifying position relative to another node.""" - FIRST_CHILD = 'first-child' - LAST_CHILD = 'last-child' - LEFT = 'left' - RIGHT = 'right' - - DEFAULT_CHOICES = ( - (FIRST_CHILD, _('First child')), - (LAST_CHILD, _('Last child')), - (LEFT, _('Left sibling')), - (RIGHT, _('Right sibling')), - ) - - def __init__(self, *args, **kwargs): - if 'choices' not in kwargs: - kwargs['choices'] = self.DEFAULT_CHOICES - super(TreeNodePositionField, self).__init__(*args, **kwargs) - -# Forms ####################################################################### - -class MoveNodeForm(forms.Form): - """ - A form which allows the user to move a given node from one location - in its tree to another, with optional restriction of the nodes which - are valid target nodes for the move. - """ - target = TreeNodeChoiceField(queryset=None) - position = TreeNodePositionField() - - def __init__(self, node, *args, **kwargs): - """ - The ``node`` to be moved must be provided. The following keyword - arguments are also accepted:: - - ``valid_targets`` - Specifies a ``QuerySet`` of valid targets for the move. If - not provided, valid targets will consist of everything other - node of the same type, apart from the node itself and any - descendants. - - For example, if you want to restrict the node to moving - within its own tree, pass a ``QuerySet`` containing - everything in the node's tree except itself and its - descendants (to prevent invalid moves) and the root node (as - a user could choose to make the node a sibling of the root - node). - - ``target_select_size`` - The size of the select element used for the target node. - Defaults to ``10``. - - ``position_choices`` - A tuple of allowed position choices and their descriptions. - Defaults to ``TreeNodePositionField.DEFAULT_CHOICES``. - - ``level_indicator`` - A string which will be used to represent a single tree level - in the target options. - """ - self.node = node - valid_targets = kwargs.pop('valid_targets', None) - target_select_size = kwargs.pop('target_select_size', 10) - position_choices = kwargs.pop('position_choices', None) - level_indicator = kwargs.pop('level_indicator', None) - super(MoveNodeForm, self).__init__(*args, **kwargs) - opts = node._meta - if valid_targets is None: - valid_targets = node._tree_manager.exclude(**{ - opts.tree_id_attr: getattr(node, opts.tree_id_attr), - '%s__gte' % opts.left_attr: getattr(node, opts.left_attr), - '%s__lte' % opts.right_attr: getattr(node, opts.right_attr), - }) - self.fields['target'].queryset = valid_targets - self.fields['target'].widget.attrs['size'] = target_select_size - if level_indicator: - self.fields['target'].level_indicator = level_indicator - if position_choices: - self.fields['position_choices'].choices = position_choices - - def save(self): - """ - Attempts to move the node using the selected target and - position. - - If an invalid move is attempted, the related error message will - be added to the form's non-field errors and the error will be - re-raised. Callers should attempt to catch ``InvalidNode`` to - redisplay the form with the error, should it occur. - """ - try: - self.node.move_to(self.cleaned_data['target'], - self.cleaned_data['position']) - return self.node - except InvalidMove, e: - self.errors[NON_FIELD_ERRORS] = ErrorList(e) - raise - diff --git a/mptt/managers--with rebuild.py b/mptt/managers--with rebuild.py deleted file mode 100644 index ea0f7cab928..00000000000 --- a/mptt/managers--with rebuild.py +++ /dev/null @@ -1,797 +0,0 @@ -""" -A custom manager for working with trees of objects. -""" -from django.db import connection, models, transaction -from django.utils.translation import ugettext as _ - -from mptt.exceptions import InvalidMove - -__all__ = ('TreeManager',) - -qn = connection.ops.quote_name - -COUNT_SUBQUERY = """( - SELECT COUNT(*) - FROM %(rel_table)s - WHERE %(mptt_fk)s = %(mptt_table)s.%(mptt_pk)s -)""" - -CUMULATIVE_COUNT_SUBQUERY = """( - SELECT COUNT(*) - FROM %(rel_table)s - WHERE %(mptt_fk)s IN - ( - SELECT m2.%(mptt_pk)s - FROM %(mptt_table)s m2 - WHERE m2.%(tree_id)s = %(mptt_table)s.%(tree_id)s - AND m2.%(left)s BETWEEN %(mptt_table)s.%(left)s - AND %(mptt_table)s.%(right)s - ) -)""" - -class TreeManager(models.Manager): - """ - A manager for working with trees of objects. - """ - def __init__(self, parent_attr, left_attr, right_attr, tree_id_attr, - level_attr): - """ - Tree attributes for the model being managed are held as - attributes of this manager for later use, since it will be using - them a **lot**. - """ - super(TreeManager, self).__init__() - self.parent_attr = parent_attr - self.left_attr = left_attr - self.right_attr = right_attr - self.tree_id_attr = tree_id_attr - self.level_attr = level_attr - - def add_related_count(self, queryset, rel_model, rel_field, count_attr, - cumulative=False): - """ - Adds a related item count to a given ``QuerySet`` using its - ``extra`` method, for a ``Model`` class which has a relation to - this ``Manager``'s ``Model`` class. - - Arguments: - - ``rel_model`` - A ``Model`` class which has a relation to this `Manager``'s - ``Model`` class. - - ``rel_field`` - The name of the field in ``rel_model`` which holds the - relation. - - ``count_attr`` - The name of an attribute which should be added to each item in - this ``QuerySet``, containing a count of how many instances - of ``rel_model`` are related to it through ``rel_field``. - - ``cumulative`` - If ``True``, the count will be for each item and all of its - descendants, otherwise it will be for each item itself. - """ - opts = self.model._meta - if cumulative: - subquery = CUMULATIVE_COUNT_SUBQUERY % { - 'rel_table': qn(rel_model._meta.db_table), - 'mptt_fk': qn(rel_model._meta.get_field(rel_field).column), - 'mptt_table': qn(opts.db_table), - 'mptt_pk': qn(opts.pk.column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - } - else: - subquery = COUNT_SUBQUERY % { - 'rel_table': qn(rel_model._meta.db_table), - 'mptt_fk': qn(rel_model._meta.get_field(rel_field).column), - 'mptt_table': qn(opts.db_table), - 'mptt_pk': qn(opts.pk.column), - } - return queryset.extra(select={count_attr: subquery}) - - def get_query_set(self): - """ - Returns a ``QuerySet`` which contains all tree items, ordered in - such a way that that root nodes appear in tree id order and - their subtrees appear in depth-first order. - """ - return super(TreeManager, self).get_query_set().order_by( - self.tree_id_attr, self.left_attr) - - def insert_node(self, node, target, position='last-child', - commit=False): - """ - Sets up the tree state for ``node`` (which has not yet been - inserted into in the database) so it will be positioned relative - to a given ``target`` node as specified by ``position`` (when - appropriate) it is inserted, with any neccessary space already - having been made for it. - - A ``target`` of ``None`` indicates that ``node`` should be - the last root node. - - If ``commit`` is ``True``, ``node``'s ``save()`` method will be - called before it is returned. - """ - if node.pk: - raise ValueError(_('Cannot insert a node which has already been saved.')) - - if target is None: - setattr(node, self.left_attr, 1) - setattr(node, self.right_attr, 2) - setattr(node, self.level_attr, 0) - setattr(node, self.tree_id_attr, self._get_next_tree_id()) - setattr(node, self.parent_attr, None) - elif target.is_root_node() and position in ['left', 'right']: - target_tree_id = getattr(target, self.tree_id_attr) - if position == 'left': - tree_id = target_tree_id - space_target = target_tree_id - 1 - else: - tree_id = target_tree_id + 1 - space_target = target_tree_id - - self._create_tree_space(space_target) - - setattr(node, self.left_attr, 1) - setattr(node, self.right_attr, 2) - setattr(node, self.level_attr, 0) - setattr(node, self.tree_id_attr, tree_id) - setattr(node, self.parent_attr, None) - else: - setattr(node, self.left_attr, 0) - setattr(node, self.level_attr, 0) - - space_target, level, left, parent = \ - self._calculate_inter_tree_move_values(node, target, position) - tree_id = getattr(parent, self.tree_id_attr) - - self._create_space(2, space_target, tree_id) - - setattr(node, self.left_attr, -left) - setattr(node, self.right_attr, -left + 1) - setattr(node, self.level_attr, -level) - setattr(node, self.tree_id_attr, tree_id) - setattr(node, self.parent_attr, parent) - - if commit: - node.save() - return node - - def move_node(self, node, target, position='last-child'): - """ - Moves ``node`` relative to a given ``target`` node as specified - by ``position`` (when appropriate), by examining both nodes and - calling the appropriate method to perform the move. - - A ``target`` of ``None`` indicates that ``node`` should be - turned into a root node. - - Valid values for ``position`` are ``'first-child'``, - ``'last-child'``, ``'left'`` or ``'right'``. - - ``node`` will be modified to reflect its new tree state in the - database. - - This method explicitly checks for ``node`` being made a sibling - of a root node, as this is a special case due to our use of tree - ids to order root nodes. - """ - if target is None: - if node.is_child_node(): - self._make_child_root_node(node) - elif target.is_root_node() and position in ['left', 'right']: - self._make_sibling_of_root_node(node, target, position) - else: - if node.is_root_node(): - self._move_root_node(node, target, position) - else: - self._move_child_node(node, target, position) - transaction.commit_unless_managed() - - def root_node(self, tree_id): - """ - Returns the root node of the tree with the given id. - """ - return self.get(**{ - self.tree_id_attr: tree_id, - '%s__isnull' % self.parent_attr: True, - }) - - def root_nodes(self): - """ - Creates a ``QuerySet`` containing root nodes. - """ - return self.filter(**{'%s__isnull' % self.parent_attr: True}) - - def rebuild(self): - """ - Rebuilds whole tree in database using `parent` link. - """ - opts = self.model._meta - - cursor = connection.cursor() - cursor.execute('UPDATE %(table)s SET %(left)s = 0, %(right)s = 0, %(level)s = 0, %(tree_id)s = 0' % { - 'table': qn(opts.db_table), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'level': qn(opts.get_field(self.level_attr).column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column) - }) - - cursor.execute('SELECT %(id_col)s FROM %(table)s WHERE %(parent_col)s is NULL %(orderby)s' % { - 'id_col': qn(opts.pk.column), - 'table': qn(opts.db_table), - 'parent_col': qn(opts.get_field(self.parent_attr).column), - 'orderby': 'ORDER BY ' + ', '.join([qn(field) for field in opts.order_insertion_by]) if opts.order_insertion_by else '' - }) - - idx = 0 - for (pk, ) in cursor.fetchall(): - idx += 1 - self._rebuild_helper(pk, 1, idx) - transaction.commit_unless_managed() - - def _rebuild_helper(self, pk, left, tree_id, level=0): - opts = self.model._meta - right = left + 1 - - cursor = connection.cursor() - cursor.execute('SELECT %(id_col)s FROM %(table)s WHERE %(parent_col)s = %(parent)d %(orderby)s' % { - 'id_col': qn(opts.pk.column), - 'table': qn(opts.db_table), - 'parent_col': qn(opts.get_field(self.parent_attr).column), - 'parent': pk, - 'orderby': 'ORDER BY ' + ', '.join([qn(field) for field in opts.order_insertion_by]) if opts.order_insertion_by else '' - }) - - for (child_id, ) in cursor.fetchall(): - right = self._rebuild_helper(child_id, right, tree_id, level+1) - - cursor.execute(""" - UPDATE %(table)s - SET - %(left_col)s = %(left)d, - %(right_col)s = %(right)d, - %(level_col)s = %(level)d, - %(tree_id_col)s = %(tree_id)d - WHERE - %(pk_col)s = %(pk)s - """ % { - 'table': qn(opts.db_table), - 'pk_col': qn(opts.pk.column), - 'left_col': qn(opts.get_field(self.left_attr).column), - 'right_col': qn(opts.get_field(self.right_attr).column), - 'level_col': qn(opts.get_field(self.level_attr).column), - 'tree_id_col': qn(opts.get_field(self.tree_id_attr).column), - 'pk': pk, - 'left': left, - 'right': right, - 'level': level, - 'tree_id': tree_id - }) - - return right + 1 - - - def _calculate_inter_tree_move_values(self, node, target, position): - """ - Calculates values required when moving ``node`` relative to - ``target`` as specified by ``position``. - """ - left = getattr(node, self.left_attr) - level = getattr(node, self.level_attr) - target_left = getattr(target, self.left_attr) - target_right = getattr(target, self.right_attr) - target_level = getattr(target, self.level_attr) - - if position == 'last-child' or position == 'first-child': - if position == 'last-child': - space_target = target_right - 1 - else: - space_target = target_left - level_change = level - target_level - 1 - parent = target - elif position == 'left' or position == 'right': - if position == 'left': - space_target = target_left - 1 - else: - space_target = target_right - level_change = level - target_level - parent = getattr(target, self.parent_attr) - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - left_right_change = left - space_target - 1 - return space_target, level_change, left_right_change, parent - - def _close_gap(self, size, target, tree_id): - """ - Closes a gap of a certain ``size`` after the given ``target`` - point in the tree identified by ``tree_id``. - """ - self._manage_space(-size, target, tree_id) - - def _create_space(self, size, target, tree_id): - """ - Creates a space of a certain ``size`` after the given ``target`` - point in the tree identified by ``tree_id``. - """ - self._manage_space(size, target, tree_id) - - def _create_tree_space(self, target_tree_id): - """ - Creates space for a new tree by incrementing all tree ids - greater than ``target_tree_id``. - """ - opts = self.model._meta - cursor = connection.cursor() - cursor.execute(""" - UPDATE %(table)s - SET %(tree_id)s = %(tree_id)s + 1 - WHERE %(tree_id)s > %%s""" % { - 'table': qn(opts.db_table), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - }, [target_tree_id]) - - def _get_next_tree_id(self): - """ - Determines the next largest unused tree id for the tree managed - by this manager. - """ - opts = self.model._meta - cursor = connection.cursor() - cursor.execute('SELECT MAX(%s) FROM %s' % ( - qn(opts.get_field(self.tree_id_attr).column), - qn(opts.db_table))) - row = cursor.fetchone() - return row[0] and (row[0] + 1) or 1 - - def _inter_tree_move_and_close_gap(self, node, level_change, - left_right_change, new_tree_id, parent_pk=None): - """ - Removes ``node`` from its current tree, with the given set of - changes being applied to ``node`` and its descendants, closing - the gap left by moving ``node`` as it does so. - - If ``parent_pk`` is ``None``, this indicates that ``node`` is - being moved to a brand new tree as its root node, and will thus - have its parent field set to ``NULL``. Otherwise, ``node`` will - have ``parent_pk`` set for its parent field. - """ - opts = self.model._meta - inter_tree_move_query = """ - UPDATE %(table)s - SET %(level)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(level)s - %%s - ELSE %(level)s END, - %(tree_id)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %%s - ELSE %(tree_id)s END, - %(left)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(left)s - %%s - WHEN %(left)s > %%s - THEN %(left)s - %%s - ELSE %(left)s END, - %(right)s = CASE - WHEN %(right)s >= %%s AND %(right)s <= %%s - THEN %(right)s - %%s - WHEN %(right)s > %%s - THEN %(right)s - %%s - ELSE %(right)s END, - %(parent)s = CASE - WHEN %(pk)s = %%s - THEN %(new_parent)s - ELSE %(parent)s END - WHERE %(tree_id)s = %%s""" % { - 'table': qn(opts.db_table), - 'level': qn(opts.get_field(self.level_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'parent': qn(opts.get_field(self.parent_attr).column), - 'pk': qn(opts.pk.column), - 'new_parent': parent_pk is None and 'NULL' or '%s', - } - - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - gap_size = right - left + 1 - gap_target_left = left - 1 - params = [ - left, right, level_change, - left, right, new_tree_id, - left, right, left_right_change, - gap_target_left, gap_size, - left, right, left_right_change, - gap_target_left, gap_size, - node.pk, - getattr(node, self.tree_id_attr) - ] - if parent_pk is not None: - params.insert(-1, parent_pk) - cursor = connection.cursor() - cursor.execute(inter_tree_move_query, params) - - def _make_child_root_node(self, node, new_tree_id=None): - """ - Removes ``node`` from its tree, making it the root node of a new - tree. - - If ``new_tree_id`` is not specified a new tree id will be - generated. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - tree_id = getattr(node, self.tree_id_attr) - if not new_tree_id: - new_tree_id = self._get_next_tree_id() - left_right_change = left - 1 - - self._inter_tree_move_and_close_gap(node, level, left_right_change, - new_tree_id) - - # Update the node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, left - left_right_change) - setattr(node, self.right_attr, right - left_right_change) - setattr(node, self.level_attr, 0) - setattr(node, self.tree_id_attr, new_tree_id) - setattr(node, self.parent_attr, None) - - def _make_sibling_of_root_node(self, node, target, position): - """ - Moves ``node``, making it a sibling of the given ``target`` root - node as specified by ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - - Since we use tree ids to reduce the number of rows affected by - tree mangement during insertion and deletion, root nodes are not - true siblings; thus, making an item a sibling of a root node is - a special case which involves shuffling tree ids around. - """ - if node == target: - raise InvalidMove(_('A node may not be made a sibling of itself.')) - - opts = self.model._meta - tree_id = getattr(node, self.tree_id_attr) - target_tree_id = getattr(target, self.tree_id_attr) - - if node.is_child_node(): - if position == 'left': - space_target = target_tree_id - 1 - new_tree_id = target_tree_id - elif position == 'right': - space_target = target_tree_id - new_tree_id = target_tree_id + 1 - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - self._create_tree_space(space_target) - if tree_id > space_target: - # The node's tree id has been incremented in the - # database - this change must be reflected in the node - # object for the method call below to operate on the - # correct tree. - setattr(node, self.tree_id_attr, tree_id + 1) - self._make_child_root_node(node, new_tree_id) - else: - if position == 'left': - if target_tree_id > tree_id: - left_sibling = target.get_previous_sibling() - if node == left_sibling: - return - new_tree_id = getattr(left_sibling, self.tree_id_attr) - lower_bound, upper_bound = tree_id, new_tree_id - shift = -1 - else: - new_tree_id = target_tree_id - lower_bound, upper_bound = new_tree_id, tree_id - shift = 1 - elif position == 'right': - if target_tree_id > tree_id: - new_tree_id = target_tree_id - lower_bound, upper_bound = tree_id, target_tree_id - shift = -1 - else: - right_sibling = target.get_next_sibling() - if node == right_sibling: - return - new_tree_id = getattr(right_sibling, self.tree_id_attr) - lower_bound, upper_bound = new_tree_id, tree_id - shift = 1 - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - root_sibling_query = """ - UPDATE %(table)s - SET %(tree_id)s = CASE - WHEN %(tree_id)s = %%s - THEN %%s - ELSE %(tree_id)s + %%s END - WHERE %(tree_id)s >= %%s AND %(tree_id)s <= %%s""" % { - 'table': qn(opts.db_table), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - } - cursor = connection.cursor() - cursor.execute(root_sibling_query, [tree_id, new_tree_id, shift, - lower_bound, upper_bound]) - setattr(node, self.tree_id_attr, new_tree_id) - - def _manage_space(self, size, target, tree_id): - """ - Manages spaces in the tree identified by ``tree_id`` by changing - the values of the left and right columns by ``size`` after the - given ``target`` point. - """ - opts = self.model._meta - space_query = """ - UPDATE %(table)s - SET %(left)s = CASE - WHEN %(left)s > %%s - THEN %(left)s + %%s - ELSE %(left)s END, - %(right)s = CASE - WHEN %(right)s > %%s - THEN %(right)s + %%s - ELSE %(right)s END - WHERE %(tree_id)s = %%s - AND (%(left)s > %%s OR %(right)s > %%s)""" % { - 'table': qn(opts.db_table), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - } - cursor = connection.cursor() - cursor.execute(space_query, [target, size, target, size, tree_id, - target, target]) - - def _move_child_node(self, node, target, position): - """ - Calls the appropriate method to move child node ``node`` - relative to the given ``target`` node as specified by - ``position``. - """ - tree_id = getattr(node, self.tree_id_attr) - target_tree_id = getattr(target, self.tree_id_attr) - - if (getattr(node, self.tree_id_attr) == - getattr(target, self.tree_id_attr)): - self._move_child_within_tree(node, target, position) - else: - self._move_child_to_new_tree(node, target, position) - - def _move_child_to_new_tree(self, node, target, position): - """ - Moves child node ``node`` to a different tree, inserting it - relative to the given ``target`` node in the new tree as - specified by ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - target_left = getattr(target, self.left_attr) - target_right = getattr(target, self.right_attr) - target_level = getattr(target, self.level_attr) - tree_id = getattr(node, self.tree_id_attr) - new_tree_id = getattr(target, self.tree_id_attr) - - space_target, level_change, left_right_change, parent = \ - self._calculate_inter_tree_move_values(node, target, position) - - tree_width = right - left + 1 - - # Make space for the subtree which will be moved - self._create_space(tree_width, space_target, new_tree_id) - # Move the subtree - self._inter_tree_move_and_close_gap(node, level_change, - left_right_change, new_tree_id, parent.pk) - - # Update the node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, left - left_right_change) - setattr(node, self.right_attr, right - left_right_change) - setattr(node, self.level_attr, level - level_change) - setattr(node, self.tree_id_attr, new_tree_id) - setattr(node, self.parent_attr, parent) - - def _move_child_within_tree(self, node, target, position): - """ - Moves child node ``node`` within its current tree relative to - the given ``target`` node as specified by ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - width = right - left + 1 - tree_id = getattr(node, self.tree_id_attr) - target_left = getattr(target, self.left_attr) - target_right = getattr(target, self.right_attr) - target_level = getattr(target, self.level_attr) - - if position == 'last-child' or position == 'first-child': - if node == target: - raise InvalidMove(_('A node may not be made a child of itself.')) - elif left < target_left < right: - raise InvalidMove(_('A node may not be made a child of any of its descendants.')) - if position == 'last-child': - if target_right > right: - new_left = target_right - width - new_right = target_right - 1 - else: - new_left = target_right - new_right = target_right + width - 1 - else: - if target_left > left: - new_left = target_left - width + 1 - new_right = target_left - else: - new_left = target_left + 1 - new_right = target_left + width - level_change = level - target_level - 1 - parent = target - elif position == 'left' or position == 'right': - if node == target: - raise InvalidMove(_('A node may not be made a sibling of itself.')) - elif left < target_left < right: - raise InvalidMove(_('A node may not be made a sibling of any of its descendants.')) - if position == 'left': - if target_left > left: - new_left = target_left - width - new_right = target_left - 1 - else: - new_left = target_left - new_right = target_left + width - 1 - else: - if target_right > right: - new_left = target_right - width + 1 - new_right = target_right - else: - new_left = target_right + 1 - new_right = target_right + width - level_change = level - target_level - parent = getattr(target, self.parent_attr) - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - left_boundary = min(left, new_left) - right_boundary = max(right, new_right) - left_right_change = new_left - left - gap_size = width - if left_right_change > 0: - gap_size = -gap_size - - opts = self.model._meta - # The level update must come before the left update to keep - # MySQL happy - left seems to refer to the updated value - # immediately after its update has been specified in the query - # with MySQL, but not with SQLite or Postgres. - move_subtree_query = """ - UPDATE %(table)s - SET %(level)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(level)s - %%s - ELSE %(level)s END, - %(left)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(left)s + %%s - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(left)s + %%s - ELSE %(left)s END, - %(right)s = CASE - WHEN %(right)s >= %%s AND %(right)s <= %%s - THEN %(right)s + %%s - WHEN %(right)s >= %%s AND %(right)s <= %%s - THEN %(right)s + %%s - ELSE %(right)s END, - %(parent)s = CASE - WHEN %(pk)s = %%s - THEN %%s - ELSE %(parent)s END - WHERE %(tree_id)s = %%s""" % { - 'table': qn(opts.db_table), - 'level': qn(opts.get_field(self.level_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'parent': qn(opts.get_field(self.parent_attr).column), - 'pk': qn(opts.pk.column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - } - - cursor = connection.cursor() - cursor.execute(move_subtree_query, [ - left, right, level_change, - left, right, left_right_change, - left_boundary, right_boundary, gap_size, - left, right, left_right_change, - left_boundary, right_boundary, gap_size, - node.pk, parent.pk, - tree_id]) - - # Update the node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, new_left) - setattr(node, self.right_attr, new_right) - setattr(node, self.level_attr, level - level_change) - setattr(node, self.parent_attr, parent) - - def _move_root_node(self, node, target, position): - """ - Moves root node``node`` to a different tree, inserting it - relative to the given ``target`` node as specified by - ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - tree_id = getattr(node, self.tree_id_attr) - new_tree_id = getattr(target, self.tree_id_attr) - width = right - left + 1 - - if node == target: - raise InvalidMove(_('A node may not be made a child of itself.')) - elif tree_id == new_tree_id: - raise InvalidMove(_('A node may not be made a child of any of its descendants.')) - - space_target, level_change, left_right_change, parent = \ - self._calculate_inter_tree_move_values(node, target, position) - - # Create space for the tree which will be inserted - self._create_space(width, space_target, new_tree_id) - - # Move the root node, making it a child node - opts = self.model._meta - move_tree_query = """ - UPDATE %(table)s - SET %(level)s = %(level)s - %%s, - %(left)s = %(left)s - %%s, - %(right)s = %(right)s - %%s, - %(tree_id)s = %%s, - %(parent)s = CASE - WHEN %(pk)s = %%s - THEN %%s - ELSE %(parent)s END - WHERE %(left)s >= %%s AND %(left)s <= %%s - AND %(tree_id)s = %%s""" % { - 'table': qn(opts.db_table), - 'level': qn(opts.get_field(self.level_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - 'parent': qn(opts.get_field(self.parent_attr).column), - 'pk': qn(opts.pk.column), - } - cursor = connection.cursor() - cursor.execute(move_tree_query, [level_change, left_right_change, - left_right_change, new_tree_id, node.pk, parent.pk, left, right, - tree_id]) - - # Update the former root node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, left - left_right_change) - setattr(node, self.right_attr, right - left_right_change) - setattr(node, self.level_attr, level - level_change) - setattr(node, self.tree_id_attr, new_tree_id) - setattr(node, self.parent_attr, parent) diff --git a/mptt/managers.py b/mptt/managers.py deleted file mode 100644 index bf7156b8fd2..00000000000 --- a/mptt/managers.py +++ /dev/null @@ -1,719 +0,0 @@ -""" -A custom manager for working with trees of objects. -""" -from django.db import connection, models, transaction -from django.utils.translation import ugettext as _ - -from mptt.exceptions import InvalidMove - -__all__ = ('TreeManager',) - -qn = connection.ops.quote_name - -COUNT_SUBQUERY = """( - SELECT COUNT(*) - FROM %(rel_table)s - WHERE %(mptt_fk)s = %(mptt_table)s.%(mptt_pk)s -)""" - -CUMULATIVE_COUNT_SUBQUERY = """( - SELECT COUNT(*) - FROM %(rel_table)s - WHERE %(mptt_fk)s IN - ( - SELECT m2.%(mptt_pk)s - FROM %(mptt_table)s m2 - WHERE m2.%(tree_id)s = %(mptt_table)s.%(tree_id)s - AND m2.%(left)s BETWEEN %(mptt_table)s.%(left)s - AND %(mptt_table)s.%(right)s - ) -)""" - -class TreeManager(models.Manager): - """ - A manager for working with trees of objects. - """ - def __init__(self, parent_attr, left_attr, right_attr, tree_id_attr, - level_attr): - """ - Tree attributes for the model being managed are held as - attributes of this manager for later use, since it will be using - them a **lot**. - """ - super(TreeManager, self).__init__() - self.parent_attr = parent_attr - self.left_attr = left_attr - self.right_attr = right_attr - self.tree_id_attr = tree_id_attr - self.level_attr = level_attr - - def add_related_count(self, queryset, rel_model, rel_field, count_attr, - cumulative=False): - """ - Adds a related item count to a given ``QuerySet`` using its - ``extra`` method, for a ``Model`` class which has a relation to - this ``Manager``'s ``Model`` class. - - Arguments: - - ``rel_model`` - A ``Model`` class which has a relation to this `Manager``'s - ``Model`` class. - - ``rel_field`` - The name of the field in ``rel_model`` which holds the - relation. - - ``count_attr`` - The name of an attribute which should be added to each item in - this ``QuerySet``, containing a count of how many instances - of ``rel_model`` are related to it through ``rel_field``. - - ``cumulative`` - If ``True``, the count will be for each item and all of its - descendants, otherwise it will be for each item itself. - """ - opts = self.model._meta - if cumulative: - subquery = CUMULATIVE_COUNT_SUBQUERY % { - 'rel_table': qn(rel_model._meta.db_table), - 'mptt_fk': qn(rel_model._meta.get_field(rel_field).column), - 'mptt_table': qn(opts.db_table), - 'mptt_pk': qn(opts.pk.column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - } - else: - subquery = COUNT_SUBQUERY % { - 'rel_table': qn(rel_model._meta.db_table), - 'mptt_fk': qn(rel_model._meta.get_field(rel_field).column), - 'mptt_table': qn(opts.db_table), - 'mptt_pk': qn(opts.pk.column), - } - return queryset.extra(select={count_attr: subquery}) - - def get_query_set(self): - """ - Returns a ``QuerySet`` which contains all tree items, ordered in - such a way that that root nodes appear in tree id order and - their subtrees appear in depth-first order. - """ - return super(TreeManager, self).get_query_set().order_by( - self.tree_id_attr, self.left_attr) - - def insert_node(self, node, target, position='last-child', - commit=False): - """ - Sets up the tree state for ``node`` (which has not yet been - inserted into in the database) so it will be positioned relative - to a given ``target`` node as specified by ``position`` (when - appropriate) it is inserted, with any neccessary space already - having been made for it. - - A ``target`` of ``None`` indicates that ``node`` should be - the last root node. - - If ``commit`` is ``True``, ``node``'s ``save()`` method will be - called before it is returned. - """ - if node.pk: - raise ValueError(_('Cannot insert a node which has already been saved.')) - - if target is None: - setattr(node, self.left_attr, 1) - setattr(node, self.right_attr, 2) - setattr(node, self.level_attr, 0) - setattr(node, self.tree_id_attr, self._get_next_tree_id()) - setattr(node, self.parent_attr, None) - elif target.is_root_node() and position in ['left', 'right']: - target_tree_id = getattr(target, self.tree_id_attr) - if position == 'left': - tree_id = target_tree_id - space_target = target_tree_id - 1 - else: - tree_id = target_tree_id + 1 - space_target = target_tree_id - - self._create_tree_space(space_target) - - setattr(node, self.left_attr, 1) - setattr(node, self.right_attr, 2) - setattr(node, self.level_attr, 0) - setattr(node, self.tree_id_attr, tree_id) - setattr(node, self.parent_attr, None) - else: - setattr(node, self.left_attr, 0) - setattr(node, self.level_attr, 0) - - space_target, level, left, parent = \ - self._calculate_inter_tree_move_values(node, target, position) - tree_id = getattr(parent, self.tree_id_attr) - - self._create_space(2, space_target, tree_id) - - setattr(node, self.left_attr, -left) - setattr(node, self.right_attr, -left + 1) - setattr(node, self.level_attr, -level) - setattr(node, self.tree_id_attr, tree_id) - setattr(node, self.parent_attr, parent) - - if commit: - node.save() - return node - - def move_node(self, node, target, position='last-child'): - """ - Moves ``node`` relative to a given ``target`` node as specified - by ``position`` (when appropriate), by examining both nodes and - calling the appropriate method to perform the move. - - A ``target`` of ``None`` indicates that ``node`` should be - turned into a root node. - - Valid values for ``position`` are ``'first-child'``, - ``'last-child'``, ``'left'`` or ``'right'``. - - ``node`` will be modified to reflect its new tree state in the - database. - - This method explicitly checks for ``node`` being made a sibling - of a root node, as this is a special case due to our use of tree - ids to order root nodes. - """ - if target is None: - if node.is_child_node(): - self._make_child_root_node(node) - elif target.is_root_node() and position in ['left', 'right']: - self._make_sibling_of_root_node(node, target, position) - else: - if node.is_root_node(): - self._move_root_node(node, target, position) - else: - self._move_child_node(node, target, position) - transaction.commit_unless_managed() - - def root_node(self, tree_id): - """ - Returns the root node of the tree with the given id. - """ - return self.get(**{ - self.tree_id_attr: tree_id, - '%s__isnull' % self.parent_attr: True, - }) - - def root_nodes(self): - """ - Creates a ``QuerySet`` containing root nodes. - """ - return self.filter(**{'%s__isnull' % self.parent_attr: True}) - - def _calculate_inter_tree_move_values(self, node, target, position): - """ - Calculates values required when moving ``node`` relative to - ``target`` as specified by ``position``. - """ - left = getattr(node, self.left_attr) - level = getattr(node, self.level_attr) - target_left = getattr(target, self.left_attr) - target_right = getattr(target, self.right_attr) - target_level = getattr(target, self.level_attr) - - if position == 'last-child' or position == 'first-child': - if position == 'last-child': - space_target = target_right - 1 - else: - space_target = target_left - level_change = level - target_level - 1 - parent = target - elif position == 'left' or position == 'right': - if position == 'left': - space_target = target_left - 1 - else: - space_target = target_right - level_change = level - target_level - parent = getattr(target, self.parent_attr) - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - left_right_change = left - space_target - 1 - return space_target, level_change, left_right_change, parent - - def _close_gap(self, size, target, tree_id): - """ - Closes a gap of a certain ``size`` after the given ``target`` - point in the tree identified by ``tree_id``. - """ - self._manage_space(-size, target, tree_id) - - def _create_space(self, size, target, tree_id): - """ - Creates a space of a certain ``size`` after the given ``target`` - point in the tree identified by ``tree_id``. - """ - self._manage_space(size, target, tree_id) - - def _create_tree_space(self, target_tree_id): - """ - Creates space for a new tree by incrementing all tree ids - greater than ``target_tree_id``. - """ - opts = self.model._meta - cursor = connection.cursor() - cursor.execute(""" - UPDATE %(table)s - SET %(tree_id)s = %(tree_id)s + 1 - WHERE %(tree_id)s > %%s""" % { - 'table': qn(opts.db_table), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - }, [target_tree_id]) - - def _get_next_tree_id(self): - """ - Determines the next largest unused tree id for the tree managed - by this manager. - """ - opts = self.model._meta - cursor = connection.cursor() - cursor.execute('SELECT MAX(%s) FROM %s' % ( - qn(opts.get_field(self.tree_id_attr).column), - qn(opts.db_table))) - row = cursor.fetchone() - return row[0] and (row[0] + 1) or 1 - - def _inter_tree_move_and_close_gap(self, node, level_change, - left_right_change, new_tree_id, parent_pk=None): - """ - Removes ``node`` from its current tree, with the given set of - changes being applied to ``node`` and its descendants, closing - the gap left by moving ``node`` as it does so. - - If ``parent_pk`` is ``None``, this indicates that ``node`` is - being moved to a brand new tree as its root node, and will thus - have its parent field set to ``NULL``. Otherwise, ``node`` will - have ``parent_pk`` set for its parent field. - """ - opts = self.model._meta - inter_tree_move_query = """ - UPDATE %(table)s - SET %(level)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(level)s - %%s - ELSE %(level)s END, - %(tree_id)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %%s - ELSE %(tree_id)s END, - %(left)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(left)s - %%s - WHEN %(left)s > %%s - THEN %(left)s - %%s - ELSE %(left)s END, - %(right)s = CASE - WHEN %(right)s >= %%s AND %(right)s <= %%s - THEN %(right)s - %%s - WHEN %(right)s > %%s - THEN %(right)s - %%s - ELSE %(right)s END, - %(parent)s = CASE - WHEN %(pk)s = %%s - THEN %(new_parent)s - ELSE %(parent)s END - WHERE %(tree_id)s = %%s""" % { - 'table': qn(opts.db_table), - 'level': qn(opts.get_field(self.level_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'parent': qn(opts.get_field(self.parent_attr).column), - 'pk': qn(opts.pk.column), - 'new_parent': parent_pk is None and 'NULL' or '%s', - } - - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - gap_size = right - left + 1 - gap_target_left = left - 1 - params = [ - left, right, level_change, - left, right, new_tree_id, - left, right, left_right_change, - gap_target_left, gap_size, - left, right, left_right_change, - gap_target_left, gap_size, - node.pk, - getattr(node, self.tree_id_attr) - ] - if parent_pk is not None: - params.insert(-1, parent_pk) - cursor = connection.cursor() - cursor.execute(inter_tree_move_query, params) - - def _make_child_root_node(self, node, new_tree_id=None): - """ - Removes ``node`` from its tree, making it the root node of a new - tree. - - If ``new_tree_id`` is not specified a new tree id will be - generated. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - if not new_tree_id: - new_tree_id = self._get_next_tree_id() - left_right_change = left - 1 - - self._inter_tree_move_and_close_gap(node, level, left_right_change, - new_tree_id) - - # Update the node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, left - left_right_change) - setattr(node, self.right_attr, right - left_right_change) - setattr(node, self.level_attr, 0) - setattr(node, self.tree_id_attr, new_tree_id) - setattr(node, self.parent_attr, None) - - def _make_sibling_of_root_node(self, node, target, position): - """ - Moves ``node``, making it a sibling of the given ``target`` root - node as specified by ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - - Since we use tree ids to reduce the number of rows affected by - tree mangement during insertion and deletion, root nodes are not - true siblings; thus, making an item a sibling of a root node is - a special case which involves shuffling tree ids around. - """ - if node == target: - raise InvalidMove(_('A node may not be made a sibling of itself.')) - - opts = self.model._meta - tree_id = getattr(node, self.tree_id_attr) - target_tree_id = getattr(target, self.tree_id_attr) - - if node.is_child_node(): - if position == 'left': - space_target = target_tree_id - 1 - new_tree_id = target_tree_id - elif position == 'right': - space_target = target_tree_id - new_tree_id = target_tree_id + 1 - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - self._create_tree_space(space_target) - if tree_id > space_target: - # The node's tree id has been incremented in the - # database - this change must be reflected in the node - # object for the method call below to operate on the - # correct tree. - setattr(node, self.tree_id_attr, tree_id + 1) - self._make_child_root_node(node, new_tree_id) - else: - if position == 'left': - if target_tree_id > tree_id: - left_sibling = target.get_previous_sibling() - if node == left_sibling: - return - new_tree_id = getattr(left_sibling, self.tree_id_attr) - lower_bound, upper_bound = tree_id, new_tree_id - shift = -1 - else: - new_tree_id = target_tree_id - lower_bound, upper_bound = new_tree_id, tree_id - shift = 1 - elif position == 'right': - if target_tree_id > tree_id: - new_tree_id = target_tree_id - lower_bound, upper_bound = tree_id, target_tree_id - shift = -1 - else: - right_sibling = target.get_next_sibling() - if node == right_sibling: - return - new_tree_id = getattr(right_sibling, self.tree_id_attr) - lower_bound, upper_bound = new_tree_id, tree_id - shift = 1 - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - root_sibling_query = """ - UPDATE %(table)s - SET %(tree_id)s = CASE - WHEN %(tree_id)s = %%s - THEN %%s - ELSE %(tree_id)s + %%s END - WHERE %(tree_id)s >= %%s AND %(tree_id)s <= %%s""" % { - 'table': qn(opts.db_table), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - } - cursor = connection.cursor() - cursor.execute(root_sibling_query, [tree_id, new_tree_id, shift, - lower_bound, upper_bound]) - setattr(node, self.tree_id_attr, new_tree_id) - - def _manage_space(self, size, target, tree_id): - """ - Manages spaces in the tree identified by ``tree_id`` by changing - the values of the left and right columns by ``size`` after the - given ``target`` point. - """ - opts = self.model._meta - space_query = """ - UPDATE %(table)s - SET %(left)s = CASE - WHEN %(left)s > %%s - THEN %(left)s + %%s - ELSE %(left)s END, - %(right)s = CASE - WHEN %(right)s > %%s - THEN %(right)s + %%s - ELSE %(right)s END - WHERE %(tree_id)s = %%s - AND (%(left)s > %%s OR %(right)s > %%s)""" % { - 'table': qn(opts.db_table), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - } - cursor = connection.cursor() - cursor.execute(space_query, [target, size, target, size, tree_id, - target, target]) - - def _move_child_node(self, node, target, position): - """ - Calls the appropriate method to move child node ``node`` - relative to the given ``target`` node as specified by - ``position``. - """ - if (getattr(node, self.tree_id_attr) == - getattr(target, self.tree_id_attr)): - self._move_child_within_tree(node, target, position) - else: - self._move_child_to_new_tree(node, target, position) - - def _move_child_to_new_tree(self, node, target, position): - """ - Moves child node ``node`` to a different tree, inserting it - relative to the given ``target`` node in the new tree as - specified by ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - new_tree_id = getattr(target, self.tree_id_attr) - - space_target, level_change, left_right_change, parent = \ - self._calculate_inter_tree_move_values(node, target, position) - - tree_width = right - left + 1 - - # Make space for the subtree which will be moved - self._create_space(tree_width, space_target, new_tree_id) - # Move the subtree - self._inter_tree_move_and_close_gap(node, level_change, - left_right_change, new_tree_id, parent.pk) - - # Update the node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, left - left_right_change) - setattr(node, self.right_attr, right - left_right_change) - setattr(node, self.level_attr, level - level_change) - setattr(node, self.tree_id_attr, new_tree_id) - setattr(node, self.parent_attr, parent) - - def _move_child_within_tree(self, node, target, position): - """ - Moves child node ``node`` within its current tree relative to - the given ``target`` node as specified by ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - width = right - left + 1 - tree_id = getattr(node, self.tree_id_attr) - target_left = getattr(target, self.left_attr) - target_right = getattr(target, self.right_attr) - target_level = getattr(target, self.level_attr) - - if position == 'last-child' or position == 'first-child': - if node == target: - raise InvalidMove(_('A node may not be made a child of itself.')) - elif left < target_left < right: - raise InvalidMove(_('A node may not be made a child of any of its descendants.')) - if position == 'last-child': - if target_right > right: - new_left = target_right - width - new_right = target_right - 1 - else: - new_left = target_right - new_right = target_right + width - 1 - else: - if target_left > left: - new_left = target_left - width + 1 - new_right = target_left - else: - new_left = target_left + 1 - new_right = target_left + width - level_change = level - target_level - 1 - parent = target - elif position == 'left' or position == 'right': - if node == target: - raise InvalidMove(_('A node may not be made a sibling of itself.')) - elif left < target_left < right: - raise InvalidMove(_('A node may not be made a sibling of any of its descendants.')) - if position == 'left': - if target_left > left: - new_left = target_left - width - new_right = target_left - 1 - else: - new_left = target_left - new_right = target_left + width - 1 - else: - if target_right > right: - new_left = target_right - width + 1 - new_right = target_right - else: - new_left = target_right + 1 - new_right = target_right + width - level_change = level - target_level - parent = getattr(target, self.parent_attr) - else: - raise ValueError(_('An invalid position was given: %s.') % position) - - left_boundary = min(left, new_left) - right_boundary = max(right, new_right) - left_right_change = new_left - left - gap_size = width - if left_right_change > 0: - gap_size = -gap_size - - opts = self.model._meta - # The level update must come before the left update to keep - # MySQL happy - left seems to refer to the updated value - # immediately after its update has been specified in the query - # with MySQL, but not with SQLite or Postgres. - move_subtree_query = """ - UPDATE %(table)s - SET %(level)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(level)s - %%s - ELSE %(level)s END, - %(left)s = CASE - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(left)s + %%s - WHEN %(left)s >= %%s AND %(left)s <= %%s - THEN %(left)s + %%s - ELSE %(left)s END, - %(right)s = CASE - WHEN %(right)s >= %%s AND %(right)s <= %%s - THEN %(right)s + %%s - WHEN %(right)s >= %%s AND %(right)s <= %%s - THEN %(right)s + %%s - ELSE %(right)s END, - %(parent)s = CASE - WHEN %(pk)s = %%s - THEN %%s - ELSE %(parent)s END - WHERE %(tree_id)s = %%s""" % { - 'table': qn(opts.db_table), - 'level': qn(opts.get_field(self.level_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'parent': qn(opts.get_field(self.parent_attr).column), - 'pk': qn(opts.pk.column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - } - - cursor = connection.cursor() - cursor.execute(move_subtree_query, [ - left, right, level_change, - left, right, left_right_change, - left_boundary, right_boundary, gap_size, - left, right, left_right_change, - left_boundary, right_boundary, gap_size, - node.pk, parent.pk, - tree_id]) - - # Update the node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, new_left) - setattr(node, self.right_attr, new_right) - setattr(node, self.level_attr, level - level_change) - setattr(node, self.parent_attr, parent) - - def _move_root_node(self, node, target, position): - """ - Moves root node``node`` to a different tree, inserting it - relative to the given ``target`` node as specified by - ``position``. - - ``node`` will be modified to reflect its new tree state in the - database. - """ - left = getattr(node, self.left_attr) - right = getattr(node, self.right_attr) - level = getattr(node, self.level_attr) - tree_id = getattr(node, self.tree_id_attr) - new_tree_id = getattr(target, self.tree_id_attr) - width = right - left + 1 - - if node == target: - raise InvalidMove(_('A node may not be made a child of itself.')) - elif tree_id == new_tree_id: - raise InvalidMove(_('A node may not be made a child of any of its descendants.')) - - space_target, level_change, left_right_change, parent = \ - self._calculate_inter_tree_move_values(node, target, position) - - # Create space for the tree which will be inserted - self._create_space(width, space_target, new_tree_id) - - # Move the root node, making it a child node - opts = self.model._meta - move_tree_query = """ - UPDATE %(table)s - SET %(level)s = %(level)s - %%s, - %(left)s = %(left)s - %%s, - %(right)s = %(right)s - %%s, - %(tree_id)s = %%s, - %(parent)s = CASE - WHEN %(pk)s = %%s - THEN %%s - ELSE %(parent)s END - WHERE %(left)s >= %%s AND %(left)s <= %%s - AND %(tree_id)s = %%s""" % { - 'table': qn(opts.db_table), - 'level': qn(opts.get_field(self.level_attr).column), - 'left': qn(opts.get_field(self.left_attr).column), - 'right': qn(opts.get_field(self.right_attr).column), - 'tree_id': qn(opts.get_field(self.tree_id_attr).column), - 'parent': qn(opts.get_field(self.parent_attr).column), - 'pk': qn(opts.pk.column), - } - cursor = connection.cursor() - cursor.execute(move_tree_query, [level_change, left_right_change, - left_right_change, new_tree_id, node.pk, parent.pk, left, right, - tree_id]) - - # Update the former root node to be consistent with the updated - # tree in the database. - setattr(node, self.left_attr, left - left_right_change) - setattr(node, self.right_attr, right - left_right_change) - setattr(node, self.level_attr, level - level_change) - setattr(node, self.tree_id_attr, new_tree_id) - setattr(node, self.parent_attr, parent) diff --git a/mptt/models.py b/mptt/models.py deleted file mode 100644 index cdfc2e4c45e..00000000000 --- a/mptt/models.py +++ /dev/null @@ -1,186 +0,0 @@ -""" -New instance methods for Django models which are set up for Modified -Preorder Tree Traversal. -""" - -def get_ancestors(self, ascending=False): - """ - Creates a ``QuerySet`` containing the ancestors of this model - instance. - - This defaults to being in descending order (root ancestor first, - immediate parent last); passing ``True`` for the ``ascending`` - argument will reverse the ordering (immediate parent first, root - ancestor last). - """ - if self.is_root_node(): - return self._tree_manager.none() - - opts = self._meta - return self._default_manager.filter(**{ - '%s__lt' % opts.left_attr: getattr(self, opts.left_attr), - '%s__gt' % opts.right_attr: getattr(self, opts.right_attr), - opts.tree_id_attr: getattr(self, opts.tree_id_attr), - }).order_by('%s%s' % ({True: '-', False: ''}[ascending], opts.left_attr)) - -def get_children(self): - """ - Creates a ``QuerySet`` containing the immediate children of this - model instance, in tree order. - - The benefit of using this method over the reverse relation - provided by the ORM to the instance's children is that a - database query can be avoided in the case where the instance is - a leaf node (it has no children). - """ - if self.is_leaf_node(): - return self._tree_manager.none() - - return self._tree_manager.filter(**{ - self._meta.parent_attr: self, - }) - -def get_descendants(self, include_self=False): - """ - Creates a ``QuerySet`` containing descendants of this model - instance, in tree order. - - If ``include_self`` is ``True``, the ``QuerySet`` will also - include this model instance. - """ - if not include_self and self.is_leaf_node(): - return self._tree_manager.none() - - opts = self._meta - filters = {opts.tree_id_attr: getattr(self, opts.tree_id_attr)} - if include_self: - filters['%s__range' % opts.left_attr] = (getattr(self, opts.left_attr), - getattr(self, opts.right_attr)) - else: - filters['%s__gt' % opts.left_attr] = getattr(self, opts.left_attr) - filters['%s__lt' % opts.left_attr] = getattr(self, opts.right_attr) - return self._tree_manager.filter(**filters) - -def get_descendant_count(self): - """ - Returns the number of descendants this model instance has. - """ - return (getattr(self, self._meta.right_attr) - - getattr(self, self._meta.left_attr) - 1) / 2 - -def get_next_sibling(self): - """ - Returns this model instance's next sibling in the tree, or - ``None`` if it doesn't have a next sibling. - """ - opts = self._meta - if self.is_root_node(): - filters = { - '%s__isnull' % opts.parent_attr: True, - '%s__gt' % opts.tree_id_attr: getattr(self, opts.tree_id_attr), - } - else: - filters = { - opts.parent_attr: getattr(self, '%s_id' % opts.parent_attr), - '%s__gt' % opts.left_attr: getattr(self, opts.right_attr), - } - - sibling = None - try: - sibling = self._tree_manager.filter(**filters)[0] - except IndexError: - pass - return sibling - -def get_previous_sibling(self): - """ - Returns this model instance's previous sibling in the tree, or - ``None`` if it doesn't have a previous sibling. - """ - opts = self._meta - if self.is_root_node(): - filters = { - '%s__isnull' % opts.parent_attr: True, - '%s__lt' % opts.tree_id_attr: getattr(self, opts.tree_id_attr), - } - order_by = '-%s' % opts.tree_id_attr - else: - filters = { - opts.parent_attr: getattr(self, '%s_id' % opts.parent_attr), - '%s__lt' % opts.right_attr: getattr(self, opts.left_attr), - } - order_by = '-%s' % opts.right_attr - - sibling = None - try: - sibling = self._tree_manager.filter(**filters).order_by(order_by)[0] - except IndexError: - pass - return sibling - -def get_root(self): - """ - Returns the root node of this model instance's tree. - """ - if self.is_root_node(): - return self - - opts = self._meta - return self._default_manager.get(**{ - opts.tree_id_attr: getattr(self, opts.tree_id_attr), - '%s__isnull' % opts.parent_attr: True, - }) - -def get_siblings(self, include_self=False): - """ - Creates a ``QuerySet`` containing siblings of this model - instance. Root nodes are considered to be siblings of other root - nodes. - - If ``include_self`` is ``True``, the ``QuerySet`` will also - include this model instance. - """ - opts = self._meta - if self.is_root_node(): - filters = {'%s__isnull' % opts.parent_attr: True} - else: - filters = {opts.parent_attr: getattr(self, '%s_id' % opts.parent_attr)} - queryset = self._tree_manager.filter(**filters) - if not include_self: - queryset = queryset.exclude(pk=self.pk) - return queryset - -def insert_at(self, target, position='first-child', commit=False): - """ - Convenience method for calling ``TreeManager.insert_node`` with this - model instance. - """ - self._tree_manager.insert_node(self, target, position, commit) - -def is_child_node(self): - """ - Returns ``True`` if this model instance is a child node, ``False`` - otherwise. - """ - return not self.is_root_node() - -def is_leaf_node(self): - """ - Returns ``True`` if this model instance is a leaf node (it has no - children), ``False`` otherwise. - """ - return not self.get_descendant_count() - -def is_root_node(self): - """ - Returns ``True`` if this model instance is a root node, - ``False`` otherwise. - """ - return getattr(self, '%s_id' % self._meta.parent_attr) is None - -def move_to(self, target, position='first-child'): - """ - Convenience method for calling ``TreeManager.move_node`` with this - model instance. - """ - self._tree_manager.move_node(self, target, position) diff --git a/mptt/signals.py b/mptt/signals.py deleted file mode 100644 index f9c0d6f5fda..00000000000 --- a/mptt/signals.py +++ /dev/null @@ -1,127 +0,0 @@ -""" -Signal receiving functions which handle Modified Preorder Tree Traversal -related logic when model instances are about to be saved or deleted. -""" -import operator - -from django.db.models.query import Q - -__all__ = ('pre_save',) - -def _insertion_target_filters(node, order_insertion_by): - """ - Creates a filter which matches suitable right siblings for ``node``, - where insertion should maintain ordering according to the list of - fields in ``order_insertion_by``. - - For example, given an ``order_insertion_by`` of - ``['field1', 'field2', 'field3']``, the resulting filter should - correspond to the following SQL:: - - field1 > %s - OR (field1 = %s AND field2 > %s) - OR (field1 = %s AND field2 = %s AND field3 > %s) - - """ - fields = [] - filters = [] - for field in order_insertion_by: - value = getattr(node, field) - filters.append(reduce(operator.and_, [Q(**{f: v}) for f, v in fields] + - [Q(**{'%s__gt' % field: value})])) - fields.append((field, value)) - return reduce(operator.or_, filters) - -def _get_ordered_insertion_target(node, parent): - """ - Attempts to retrieve a suitable right sibling for ``node`` - underneath ``parent`` (which may be ``None`` in the case of root - nodes) so that ordering by the fields specified by the node's class' - ``order_insertion_by`` option is maintained. - - Returns ``None`` if no suitable sibling can be found. - """ - right_sibling = None - # Optimisation - if the parent doesn't have descendants, - # the node will always be its last child. - if parent is None or parent.get_descendant_count() > 0: - opts = node._meta - order_by = opts.order_insertion_by[:] - filters = _insertion_target_filters(node, order_by) - if parent: - filters = filters & Q(**{opts.parent_attr: parent}) - # Fall back on tree ordering if multiple child nodes have - # the same values. - order_by.append(opts.left_attr) - else: - filters = filters & Q(**{'%s__isnull' % opts.parent_attr: True}) - # Fall back on tree id ordering if multiple root nodes have - # the same values. - order_by.append(opts.tree_id_attr) - try: - right_sibling = \ - node._default_manager.filter(filters).order_by(*order_by)[0] - except IndexError: - # No suitable right sibling could be found - pass - return right_sibling - -def pre_save(instance, **kwargs): - """ - If this is a new node, sets tree fields up before it is inserted - into the database, making room in the tree structure as neccessary, - defaulting to making the new node the last child of its parent. - - It the node's left and right edge indicators already been set, we - take this as indication that the node has already been set up for - insertion, so its tree fields are left untouched. - - If this is an existing node and its parent has been changed, - performs reparenting in the tree structure, defaulting to making the - node the last child of its new parent. - - In either case, if the node's class has its ``order_insertion_by`` - tree option set, the node will be inserted or moved to the - appropriate position to maintain ordering by the specified field. - """ - if kwargs.get('raw'): - return - - opts = instance._meta - parent = getattr(instance, opts.parent_attr) - if not instance.pk: - if (getattr(instance, opts.left_attr) and - getattr(instance, opts.right_attr)): - # This node has already been set up for insertion. - return - - if opts.order_insertion_by: - right_sibling = _get_ordered_insertion_target(instance, parent) - if right_sibling: - instance.insert_at(right_sibling, 'left') - return - - # Default insertion - instance.insert_at(parent, position='last-child') - else: - # TODO Is it possible to track the original parent so we - # don't have to look it up again on each save after the - # first? - old_parent = getattr(instance._default_manager.get(pk=instance.pk), - opts.parent_attr) - if parent != old_parent: - setattr(instance, opts.parent_attr, old_parent) - try: - if opts.order_insertion_by: - right_sibling = _get_ordered_insertion_target(instance, - parent) - if right_sibling: - instance.move_to(right_sibling, 'left') - return - - # Default movement - instance.move_to(parent, position='last-child') - finally: - # Make sure the instance's new parent is always - # restored on the way out in case of errors. - setattr(instance, opts.parent_attr, parent) \ No newline at end of file diff --git a/mptt/templatetags/mptt_tags.py b/mptt/templatetags/mptt_tags.py deleted file mode 100644 index cd947bb4e93..00000000000 --- a/mptt/templatetags/mptt_tags.py +++ /dev/null @@ -1,197 +0,0 @@ -""" -Template tags for working with lists of model instances which represent -trees. -""" -from django import template -from django.db.models import get_model -from django.db.models.fields import FieldDoesNotExist -from django.utils.encoding import force_unicode -from django.utils.translation import ugettext as _ - -from mptt.utils import tree_item_iterator, drilldown_tree_for_node - -register = template.Library() - -class FullTreeForModelNode(template.Node): - def __init__(self, model, context_var): - self.model = model - self.context_var = context_var - - def render(self, context): - cls = get_model(*self.model.split('.')) - if cls is None: - raise template.TemplateSyntaxError(_('full_tree_for_model tag was given an invalid model: %s') % self.model) - context[self.context_var] = cls._tree_manager.all() - return '' - -class DrilldownTreeForNodeNode(template.Node): - def __init__(self, node, context_var, foreign_key=None, count_attr=None, - cumulative=False): - self.node = template.Variable(node) - self.context_var = context_var - self.foreign_key = foreign_key - self.count_attr = count_attr - self.cumulative = cumulative - - def render(self, context): - # Let any VariableDoesNotExist raised bubble up - args = [self.node.resolve(context)] - - if self.foreign_key is not None: - app_label, model_name, fk_attr = self.foreign_key.split('.') - cls = get_model(app_label, model_name) - if cls is None: - raise template.TemplateSyntaxError(_('drilldown_tree_for_node tag was given an invalid model: %s') % '.'.join([app_label, model_name])) - try: - cls._meta.get_field(fk_attr) - except FieldDoesNotExist: - raise template.TemplateSyntaxError(_('drilldown_tree_for_node tag was given an invalid model field: %s') % fk_attr) - args.extend([cls, fk_attr, self.count_attr, self.cumulative]) - - context[self.context_var] = drilldown_tree_for_node(*args) - return '' - -def do_full_tree_for_model(parser, token): - """ - Populates a template variable with a ``QuerySet`` containing the - full tree for a given model. - - Usage:: - - {% full_tree_for_model [model] as [varname] %} - - The model is specified in ``[appname].[modelname]`` format. - - Example:: - - {% full_tree_for_model tests.Genre as genres %} - - """ - bits = token.contents.split() - if len(bits) != 4: - raise template.TemplateSyntaxError(_('%s tag requires three arguments') % bits[0]) - if bits[2] != 'as': - raise template.TemplateSyntaxError(_("second argument to %s tag must be 'as'") % bits[0]) - return FullTreeForModelNode(bits[1], bits[3]) - -def do_drilldown_tree_for_node(parser, token): - """ - Populates a template variable with the drilldown tree for a given - node, optionally counting the number of items associated with its - children. - - A drilldown tree consists of a node's ancestors, itself and its - immediate children. For example, a drilldown tree for a book - category "Personal Finance" might look something like:: - - Books - Business, Finance & Law - Personal Finance - Budgeting (220) - Financial Planning (670) - - Usage:: - - {% drilldown_tree_for_node [node] as [varname] %} - - Extended usage:: - - {% drilldown_tree_for_node [node] as [varname] count [foreign_key] in [count_attr] %} - {% drilldown_tree_for_node [node] as [varname] cumulative count [foreign_key] in [count_attr] %} - - The foreign key is specified in ``[appname].[modelname].[fieldname]`` - format, where ``fieldname`` is the name of a field in the specified - model which relates it to the given node's model. - - When this form is used, a ``count_attr`` attribute on each child of - the given node in the drilldown tree will contain a count of the - number of items associated with it through the given foreign key. - - If cumulative is also specified, this count will be for items - related to the child node and all of its descendants. - - Examples:: - - {% drilldown_tree_for_node genre as drilldown %} - {% drilldown_tree_for_node genre as drilldown count tests.Game.genre in game_count %} - {% drilldown_tree_for_node genre as drilldown cumulative count tests.Game.genre in game_count %} - - """ - bits = token.contents.split() - len_bits = len(bits) - if len_bits not in (4, 8, 9): - raise TemplateSyntaxError(_('%s tag requires either three, seven or eight arguments') % bits[0]) - if bits[2] != 'as': - raise TemplateSyntaxError(_("second argument to %s tag must be 'as'") % bits[0]) - if len_bits == 8: - if bits[4] != 'count': - raise TemplateSyntaxError(_("if seven arguments are given, fourth argument to %s tag must be 'with'") % bits[0]) - if bits[6] != 'in': - raise TemplateSyntaxError(_("if seven arguments are given, sixth argument to %s tag must be 'in'") % bits[0]) - return DrilldownTreeForNodeNode(bits[1], bits[3], bits[5], bits[7]) - elif len_bits == 9: - if bits[4] != 'cumulative': - raise TemplateSyntaxError(_("if eight arguments are given, fourth argument to %s tag must be 'cumulative'") % bits[0]) - if bits[5] != 'count': - raise TemplateSyntaxError(_("if eight arguments are given, fifth argument to %s tag must be 'count'") % bits[0]) - if bits[7] != 'in': - raise TemplateSyntaxError(_("if eight arguments are given, seventh argument to %s tag must be 'in'") % bits[0]) - return DrilldownTreeForNodeNode(bits[1], bits[3], bits[6], bits[8], cumulative=True) - else: - return DrilldownTreeForNodeNode(bits[1], bits[3]) - -def tree_info(items, features=None): - """ - Given a list of tree items, produces doubles of a tree item and a - ``dict`` containing information about the tree structure around the - item, with the following contents: - - new_level - ``True`` if the current item is the start of a new level in - the tree, ``False`` otherwise. - - closed_levels - A list of levels which end after the current item. This will - be an empty list if the next item is at the same level as the - current item. - - Using this filter with unpacking in a ``{% for %}`` tag, you should - have enough information about the tree structure to create a - hierarchical representation of the tree. - - Example:: - - {% for genre,structure in genres|tree_info %} - {% if tree.new_level %}
      • {% else %}
      • {% endif %} - {{ genre.name }} - {% for level in tree.closed_levels %}
      {% endfor %} - {% endfor %} - - """ - kwargs = {} - if features: - feature_names = features.split(',') - if 'ancestors' in feature_names: - kwargs['ancestors'] = True - return tree_item_iterator(items, **kwargs) - -def tree_path(items, separator=' :: '): - """ - Creates a tree path represented by a list of ``items`` by joining - the items with a ``separator``. - - Each path item will be coerced to unicode, so a list of model - instances may be given if required. - - Example:: - - {{ some_list|tree_path }} - {{ some_node.get_ancestors|tree_path:" > " }} - - """ - return separator.join([force_unicode(i) for i in items]) - -register.tag('full_tree_for_model', do_full_tree_for_model) -register.tag('drilldown_tree_for_node', do_drilldown_tree_for_node) -register.filter('tree_info', tree_info) -register.filter('tree_path', tree_path) diff --git a/mptt/tests/doctests.py b/mptt/tests/doctests.py deleted file mode 100644 index c154b5a3138..00000000000 --- a/mptt/tests/doctests.py +++ /dev/null @@ -1,1139 +0,0 @@ -r""" ->>> from datetime import date ->>> from mptt.exceptions import InvalidMove ->>> from mptt.tests.models import Genre, Insert, MultiOrder, Node, OrderedInsertion, Tree - ->>> def print_tree_details(nodes): -... opts = nodes[0]._meta -... print '\n'.join(['%s %s %s %s %s %s' % \ -... (n.pk, getattr(n, '%s_id' % opts.parent_attr) or '-', -... getattr(n, opts.tree_id_attr), getattr(n, opts.level_attr), -... getattr(n, opts.left_attr), getattr(n, opts.right_attr)) \ -... for n in nodes]) - ->>> import mptt ->>> mptt.register(Genre) -Traceback (most recent call last): - ... -AlreadyRegistered: The model Genre has already been registered. - -# Creation #################################################################### ->>> action = Genre.objects.create(name='Action') ->>> platformer = Genre.objects.create(name='Platformer', parent=action) ->>> platformer_2d = Genre.objects.create(name='2D Platformer', parent=platformer) ->>> platformer = Genre.objects.get(pk=platformer.pk) ->>> platformer_3d = Genre.objects.create(name='3D Platformer', parent=platformer) ->>> platformer = Genre.objects.get(pk=platformer.pk) ->>> platformer_4d = Genre.objects.create(name='4D Platformer', parent=platformer) ->>> rpg = Genre.objects.create(name='Role-playing Game') ->>> arpg = Genre.objects.create(name='Action RPG', parent=rpg) ->>> rpg = Genre.objects.get(pk=rpg.pk) ->>> trpg = Genre.objects.create(name='Tactical RPG', parent=rpg) ->>> print_tree_details(Genre.tree.all()) -1 - 1 0 1 10 -2 1 1 1 2 9 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 2 1 2 7 8 -6 - 2 0 1 6 -7 6 2 1 2 3 -8 6 2 1 4 5 - -# Utilities ################################################################### ->>> from mptt.utils import previous_current_next, tree_item_iterator, drilldown_tree_for_node - ->>> for p,c,n in previous_current_next(Genre.tree.all()): -... print (p,c,n) -(None, , ) -(, , ) -(, , ) -(, , ) -(, , ) -(, , ) -(, , ) -(, , None) - ->>> for i,s in tree_item_iterator(Genre.tree.all()): -... print (i, s['new_level'], s['closed_levels']) -(, True, []) -(, True, []) -(, True, []) -(, False, []) -(, False, [2, 1]) -(, False, []) -(, True, []) -(, False, [1, 0]) - ->>> for i,s in tree_item_iterator(Genre.tree.all(), ancestors=True): -... print (i, s['new_level'], s['ancestors'], s['closed_levels']) -(, True, [], []) -(, True, [u'Action'], []) -(, True, [u'Action', u'Platformer'], []) -(, False, [u'Action', u'Platformer'], []) -(, False, [u'Action', u'Platformer'], [2, 1]) -(, False, [], []) -(, True, [u'Role-playing Game'], []) -(, False, [u'Role-playing Game'], [1, 0]) - ->>> action = Genre.objects.get(pk=action.pk) ->>> [item.name for item in drilldown_tree_for_node(action)] -[u'Action', u'Platformer'] - ->>> platformer = Genre.objects.get(pk=platformer.pk) ->>> [item.name for item in drilldown_tree_for_node(platformer)] -[u'Action', u'Platformer', u'2D Platformer', u'3D Platformer', u'4D Platformer'] - ->>> platformer_3d = Genre.objects.get(pk=platformer_3d.pk) ->>> [item.name for item in drilldown_tree_for_node(platformer_3d)] -[u'Action', u'Platformer', u'3D Platformer'] - -# TreeManager Methods ######################################################### - ->>> Genre.tree.root_node(action.tree_id) - ->>> Genre.tree.root_node(rpg.tree_id) - ->>> Genre.tree.root_node(3) -Traceback (most recent call last): - ... -DoesNotExist: Genre matching query does not exist. - ->>> [g.name for g in Genre.tree.root_nodes()] -[u'Action', u'Role-playing Game'] - -# Model Instance Methods ###################################################### ->>> action = Genre.objects.get(pk=action.pk) ->>> [g.name for g in action.get_ancestors()] -[] ->>> [g.name for g in action.get_ancestors(ascending=True)] -[] ->>> [g.name for g in action.get_children()] -[u'Platformer'] ->>> [g.name for g in action.get_descendants()] -[u'Platformer', u'2D Platformer', u'3D Platformer', u'4D Platformer'] ->>> [g.name for g in action.get_descendants(include_self=True)] -[u'Action', u'Platformer', u'2D Platformer', u'3D Platformer', u'4D Platformer'] ->>> action.get_descendant_count() -4 ->>> action.get_previous_sibling() ->>> action.get_next_sibling() - ->>> action.get_root() - ->>> [g.name for g in action.get_siblings()] -[u'Role-playing Game'] ->>> [g.name for g in action.get_siblings(include_self=True)] -[u'Action', u'Role-playing Game'] ->>> action.is_root_node() -True ->>> action.is_child_node() -False ->>> action.is_leaf_node() -False - ->>> platformer = Genre.objects.get(pk=platformer.pk) ->>> [g.name for g in platformer.get_ancestors()] -[u'Action'] ->>> [g.name for g in platformer.get_ancestors(ascending=True)] -[u'Action'] ->>> [g.name for g in platformer.get_children()] -[u'2D Platformer', u'3D Platformer', u'4D Platformer'] ->>> [g.name for g in platformer.get_descendants()] -[u'2D Platformer', u'3D Platformer', u'4D Platformer'] ->>> [g.name for g in platformer.get_descendants(include_self=True)] -[u'Platformer', u'2D Platformer', u'3D Platformer', u'4D Platformer'] ->>> platformer.get_descendant_count() -3 ->>> platformer.get_previous_sibling() ->>> platformer.get_next_sibling() ->>> platformer.get_root() - ->>> [g.name for g in platformer.get_siblings()] -[] ->>> [g.name for g in platformer.get_siblings(include_self=True)] -[u'Platformer'] ->>> platformer.is_root_node() -False ->>> platformer.is_child_node() -True ->>> platformer.is_leaf_node() -False - ->>> platformer_3d = Genre.objects.get(pk=platformer_3d.pk) ->>> [g.name for g in platformer_3d.get_ancestors()] -[u'Action', u'Platformer'] ->>> [g.name for g in platformer_3d.get_ancestors(ascending=True)] -[u'Platformer', u'Action'] ->>> [g.name for g in platformer_3d.get_children()] -[] ->>> [g.name for g in platformer_3d.get_descendants()] -[] ->>> [g.name for g in platformer_3d.get_descendants(include_self=True)] -[u'3D Platformer'] ->>> platformer_3d.get_descendant_count() -0 ->>> platformer_3d.get_previous_sibling() - ->>> platformer_3d.get_next_sibling() - ->>> platformer_3d.get_root() - ->>> [g.name for g in platformer_3d.get_siblings()] -[u'2D Platformer', u'4D Platformer'] ->>> [g.name for g in platformer_3d.get_siblings(include_self=True)] -[u'2D Platformer', u'3D Platformer', u'4D Platformer'] ->>> platformer_3d.is_root_node() -False ->>> platformer_3d.is_child_node() -True ->>> platformer_3d.is_leaf_node() -True - -# The move_to method will be used in other tests to verify that it calls the -# TreeManager correctly. - -####################### -# Intra-Tree Movement # -####################### - ->>> root = Node.objects.create() ->>> c_1 = Node.objects.create(parent=root) ->>> c_1_1 = Node.objects.create(parent=c_1) ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> c_1_2 = Node.objects.create(parent=c_1) ->>> root = Node.objects.get(pk=root.pk) ->>> c_2 = Node.objects.create(parent=root) ->>> c_2_1 = Node.objects.create(parent=c_2) ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> c_2_2 = Node.objects.create(parent=c_2) ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -# Validate exceptions are raised appropriately ->>> root = Node.objects.get(pk=root.pk) ->>> Node.tree.move_node(root, root, position='first-child') -Traceback (most recent call last): - ... -InvalidMove: A node may not be made a child of itself. ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> c_1_1 = Node.objects.get(pk=c_1_1.pk) ->>> Node.tree.move_node(c_1, c_1_1, position='last-child') -Traceback (most recent call last): - ... -InvalidMove: A node may not be made a child of any of its descendants. ->>> Node.tree.move_node(root, root, position='right') -Traceback (most recent call last): - ... -InvalidMove: A node may not be made a sibling of itself. ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> Node.tree.move_node(c_1, c_1_1, position='left') -Traceback (most recent call last): - ... -InvalidMove: A node may not be made a sibling of any of its descendants. ->>> Node.tree.move_node(c_1, c_2, position='cheese') -Traceback (most recent call last): - ... -ValueError: An invalid position was given: cheese. - -# Move up the tree using first-child ->>> c_2_2 = Node.objects.get(pk=c_2_2.pk) ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> Node.tree.move_node(c_2_2, c_1, 'first-child') ->>> print_tree_details([c_2_2]) -7 2 1 2 3 4 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 9 -7 2 1 2 3 4 -3 2 1 2 5 6 -4 2 1 2 7 8 -5 1 1 1 10 13 -6 5 1 2 11 12 - -# Undo the move using right ->>> c_2_1 = Node.objects.get(pk=c_2_1.pk) ->>> c_2_2.move_to(c_2_1, 'right') ->>> print_tree_details([c_2_2]) -7 5 1 2 11 12 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -# Move up the tree with descendants using first-child ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> Node.tree.move_node(c_2, c_1, 'first-child') ->>> print_tree_details([c_2]) -5 2 1 2 3 8 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 13 -5 2 1 2 3 8 -6 5 1 3 4 5 -7 5 1 3 6 7 -3 2 1 2 9 10 -4 2 1 2 11 12 - -# Undo the move using right ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> Node.tree.move_node(c_2, c_1, 'right') ->>> print_tree_details([c_2]) -5 1 1 1 8 13 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -COVERAGE | U1 | U> | D1 | D> -------------+----+----+----+---- -first-child | Y | Y | | -last-child | | | | -left | | | | -right | | | Y | Y - -# Move down the tree using first-child ->>> c_1_2 = Node.objects.get(pk=c_1_2.pk) ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> Node.tree.move_node(c_1_2, c_2, 'first-child') ->>> print_tree_details([c_1_2]) -4 5 1 2 7 8 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 5 -3 2 1 2 3 4 -5 1 1 1 6 13 -4 5 1 2 7 8 -6 5 1 2 9 10 -7 5 1 2 11 12 - -# Undo the move using last-child ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> Node.tree.move_node(c_1_2, c_1, 'last-child') ->>> print_tree_details([c_1_2]) -4 2 1 2 5 6 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -# Move down the tree with descendants using first-child ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> Node.tree.move_node(c_1, c_2, 'first-child') ->>> print_tree_details([c_1]) -2 5 1 2 3 8 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -5 1 1 1 2 13 -2 5 1 2 3 8 -3 2 1 3 4 5 -4 2 1 3 6 7 -6 5 1 2 9 10 -7 5 1 2 11 12 - -# Undo the move using left ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> Node.tree.move_node(c_1, c_2, 'left') ->>> print_tree_details([c_1]) -2 1 1 1 2 7 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -COVERAGE | U1 | U> | D1 | D> -------------+----+----+----+---- -first-child | Y | Y | Y | Y -last-child | Y | | | -left | | Y | | -right | | | Y | Y - -# Move up the tree using right ->>> c_2_2 = Node.objects.get(pk=c_2_2.pk) ->>> c_1_1 = Node.objects.get(pk=c_1_1.pk) ->>> Node.tree.move_node(c_2_2, c_1_1, 'right') ->>> print_tree_details([c_2_2]) -7 2 1 2 5 6 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 9 -3 2 1 2 3 4 -7 2 1 2 5 6 -4 2 1 2 7 8 -5 1 1 1 10 13 -6 5 1 2 11 12 - -# Undo the move using last-child ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> Node.tree.move_node(c_2_2, c_2, 'last-child') ->>> print_tree_details([c_2_2]) -7 5 1 2 11 12 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -# Move up the tree with descendants using right ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> c_1_1 = Node.objects.get(pk=c_1_1.pk) ->>> Node.tree.move_node(c_2, c_1_1, 'right') ->>> print_tree_details([c_2]) -5 2 1 2 5 10 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 13 -3 2 1 2 3 4 -5 2 1 2 5 10 -6 5 1 3 6 7 -7 5 1 3 8 9 -4 2 1 2 11 12 - -# Undo the move using last-child ->>> root = Node.objects.get(pk=root.pk) ->>> Node.tree.move_node(c_2, root, 'last-child') ->>> print_tree_details([c_2]) -5 1 1 1 8 13 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -COVERAGE | U1 | U> | D1 | D> -------------+----+----+----+---- -first-child | Y | Y | Y | Y -last-child | Y | | Y | Y -left | | Y | | -right | Y | Y | Y | Y - -# Move down the tree with descendants using left ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> c_2_2 = Node.objects.get(pk=c_2_2.pk) ->>> Node.tree.move_node(c_1, c_2_2, 'left') ->>> print_tree_details([c_1]) -2 5 1 2 5 10 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -5 1 1 1 2 13 -6 5 1 2 3 4 -2 5 1 2 5 10 -3 2 1 3 6 7 -4 2 1 3 8 9 -7 5 1 2 11 12 - -# Undo the move using first-child ->>> root = Node.objects.get(pk=root.pk) ->>> Node.tree.move_node(c_1, root, 'first-child') ->>> print_tree_details([c_1]) -2 1 1 1 2 7 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -# Move down the tree using left ->>> c_1_1 = Node.objects.get(pk=c_1_1.pk) ->>> c_2_2 = Node.objects.get(pk=c_2_2.pk) ->>> Node.tree.move_node(c_1_1, c_2_2, 'left') ->>> print_tree_details([c_1_1]) -3 5 1 2 9 10 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 5 -4 2 1 2 3 4 -5 1 1 1 6 13 -6 5 1 2 7 8 -3 5 1 2 9 10 -7 5 1 2 11 12 - -# Undo the move using left ->>> c_1_2 = Node.objects.get(pk=c_1_2.pk) ->>> Node.tree.move_node(c_1_1, c_1_2, 'left') ->>> print_tree_details([c_1_1]) -3 2 1 2 3 4 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 - -COVERAGE | U1 | U> | D1 | D> -------------+----+----+----+---- -first-child | Y | Y | Y | Y -last-child | Y | Y | Y | Y -left | Y | Y | Y | Y -right | Y | Y | Y | Y - -I guess we're covered :) - -####################### -# Inter-Tree Movement # -####################### - ->>> new_root = Node.objects.create() ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -5 1 1 1 8 13 -6 5 1 2 9 10 -7 5 1 2 11 12 -8 - 2 0 1 2 - -# Moving child nodes between trees ############################################ - -# Move using default (last-child) ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> c_2.move_to(new_root) ->>> print_tree_details([c_2]) -5 8 2 1 2 7 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 8 -2 1 1 1 2 7 -3 2 1 2 3 4 -4 2 1 2 5 6 -8 - 2 0 1 8 -5 8 2 1 2 7 -6 5 2 2 3 4 -7 5 2 2 5 6 - -# Move using left ->>> c_1_1 = Node.objects.get(pk=c_1_1.pk) ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> Node.tree.move_node(c_1_1, c_2, position='left') ->>> print_tree_details([c_1_1]) -3 8 2 1 2 3 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 6 -2 1 1 1 2 5 -4 2 1 2 3 4 -8 - 2 0 1 10 -3 8 2 1 2 3 -5 8 2 1 4 9 -6 5 2 2 5 6 -7 5 2 2 7 8 - -# Move using first-child ->>> c_1_2 = Node.objects.get(pk=c_1_2.pk) ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> Node.tree.move_node(c_1_2, c_2, position='first-child') ->>> print_tree_details([c_1_2]) -4 5 2 2 5 6 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 4 -2 1 1 1 2 3 -8 - 2 0 1 12 -3 8 2 1 2 3 -5 8 2 1 4 11 -4 5 2 2 5 6 -6 5 2 2 7 8 -7 5 2 2 9 10 - -# Move using right ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> Node.tree.move_node(c_2, c_1, position='right') ->>> print_tree_details([c_2]) -5 1 1 1 4 11 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 12 -2 1 1 1 2 3 -5 1 1 1 4 11 -4 5 1 2 5 6 -6 5 1 2 7 8 -7 5 1 2 9 10 -8 - 2 0 1 4 -3 8 2 1 2 3 - -# Move using last-child ->>> c_1_1 = Node.objects.get(pk=c_1_1.pk) ->>> Node.tree.move_node(c_1_1, c_2, position='last-child') ->>> print_tree_details([c_1_1]) -3 5 1 2 11 12 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 14 -2 1 1 1 2 3 -5 1 1 1 4 13 -4 5 1 2 5 6 -6 5 1 2 7 8 -7 5 1 2 9 10 -3 5 1 2 11 12 -8 - 2 0 1 2 - -# Moving a root node into another tree as a child node ######################## - -# Validate exceptions are raised appropriately ->>> Node.tree.move_node(root, c_1, position='first-child') -Traceback (most recent call last): - ... -InvalidMove: A node may not be made a child of any of its descendants. ->>> Node.tree.move_node(new_root, c_1, position='cheese') -Traceback (most recent call last): - ... -ValueError: An invalid position was given: cheese. - ->>> new_root = Node.objects.get(pk=new_root.pk) ->>> c_2 = Node.objects.get(pk=c_2.pk) ->>> new_root.move_to(c_2, position='first-child') ->>> print_tree_details([new_root]) -8 5 1 2 5 6 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 16 -2 1 1 1 2 3 -5 1 1 1 4 15 -8 5 1 2 5 6 -4 5 1 2 7 8 -6 5 1 2 9 10 -7 5 1 2 11 12 -3 5 1 2 13 14 - ->>> new_root = Node.objects.create() ->>> root = Node.objects.get(pk=root.pk) ->>> Node.tree.move_node(new_root, root, position='last-child') ->>> print_tree_details([new_root]) -9 1 1 1 16 17 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 18 -2 1 1 1 2 3 -5 1 1 1 4 15 -8 5 1 2 5 6 -4 5 1 2 7 8 -6 5 1 2 9 10 -7 5 1 2 11 12 -3 5 1 2 13 14 -9 1 1 1 16 17 - ->>> new_root = Node.objects.create() ->>> c_2_1 = Node.objects.get(pk=c_2_1.pk) ->>> Node.tree.move_node(new_root, c_2_1, position='left') ->>> print_tree_details([new_root]) -10 5 1 2 9 10 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 20 -2 1 1 1 2 3 -5 1 1 1 4 17 -8 5 1 2 5 6 -4 5 1 2 7 8 -10 5 1 2 9 10 -6 5 1 2 11 12 -7 5 1 2 13 14 -3 5 1 2 15 16 -9 1 1 1 18 19 - ->>> new_root = Node.objects.create() ->>> c_1 = Node.objects.get(pk=c_1.pk) ->>> Node.tree.move_node(new_root, c_1, position='right') ->>> print_tree_details([new_root]) -11 1 1 1 4 5 ->>> print_tree_details(Node.tree.all()) -1 - 1 0 1 22 -2 1 1 1 2 3 -11 1 1 1 4 5 -5 1 1 1 6 19 -8 5 1 2 7 8 -4 5 1 2 9 10 -10 5 1 2 11 12 -6 5 1 2 13 14 -7 5 1 2 15 16 -3 5 1 2 17 18 -9 1 1 1 20 21 - -# Making nodes siblings of root nodes ######################################### - -# Validate exceptions are raised appropriately ->>> root = Node.objects.get(pk=root.pk) ->>> Node.tree.move_node(root, root, position='left') -Traceback (most recent call last): - ... -InvalidMove: A node may not be made a sibling of itself. ->>> Node.tree.move_node(root, root, position='right') -Traceback (most recent call last): - ... -InvalidMove: A node may not be made a sibling of itself. - ->>> r1 = Tree.objects.create() ->>> c1_1 = Tree.objects.create(parent=r1) ->>> c1_1_1 = Tree.objects.create(parent=c1_1) ->>> r2 = Tree.objects.create() ->>> c2_1 = Tree.objects.create(parent=r2) ->>> c2_1_1 = Tree.objects.create(parent=c2_1) ->>> r3 = Tree.objects.create() ->>> c3_1 = Tree.objects.create(parent=r3) ->>> c3_1_1 = Tree.objects.create(parent=c3_1) ->>> print_tree_details(Tree.tree.all()) -1 - 1 0 1 6 -2 1 1 1 2 5 -3 2 1 2 3 4 -4 - 2 0 1 6 -5 4 2 1 2 5 -6 5 2 2 3 4 -7 - 3 0 1 6 -8 7 3 1 2 5 -9 8 3 2 3 4 - -# Target < root node, left sibling ->>> r1 = Tree.objects.get(pk=r1.pk) ->>> r2 = Tree.objects.get(pk=r2.pk) ->>> r2.move_to(r1, 'left') ->>> print_tree_details([r2]) -4 - 1 0 1 6 ->>> print_tree_details(Tree.tree.all()) -4 - 1 0 1 6 -5 4 1 1 2 5 -6 5 1 2 3 4 -1 - 2 0 1 6 -2 1 2 1 2 5 -3 2 2 2 3 4 -7 - 3 0 1 6 -8 7 3 1 2 5 -9 8 3 2 3 4 - -# Target > root node, left sibling ->>> r3 = Tree.objects.get(pk=r3.pk) ->>> r2.move_to(r3, 'left') ->>> print_tree_details([r2]) -4 - 2 0 1 6 ->>> print_tree_details(Tree.tree.all()) -1 - 1 0 1 6 -2 1 1 1 2 5 -3 2 1 2 3 4 -4 - 2 0 1 6 -5 4 2 1 2 5 -6 5 2 2 3 4 -7 - 3 0 1 6 -8 7 3 1 2 5 -9 8 3 2 3 4 - -# Target < root node, right sibling ->>> r1 = Tree.objects.get(pk=r1.pk) ->>> r3 = Tree.objects.get(pk=r3.pk) ->>> r3.move_to(r1, 'right') ->>> print_tree_details([r3]) -7 - 2 0 1 6 ->>> print_tree_details(Tree.tree.all()) -1 - 1 0 1 6 -2 1 1 1 2 5 -3 2 1 2 3 4 -7 - 2 0 1 6 -8 7 2 1 2 5 -9 8 2 2 3 4 -4 - 3 0 1 6 -5 4 3 1 2 5 -6 5 3 2 3 4 - -# Target > root node, right sibling ->>> r1 = Tree.objects.get(pk=r1.pk) ->>> r2 = Tree.objects.get(pk=r2.pk) ->>> r1.move_to(r2, 'right') ->>> print_tree_details([r1]) -1 - 3 0 1 6 ->>> print_tree_details(Tree.tree.all()) -7 - 1 0 1 6 -8 7 1 1 2 5 -9 8 1 2 3 4 -4 - 2 0 1 6 -5 4 2 1 2 5 -6 5 2 2 3 4 -1 - 3 0 1 6 -2 1 3 1 2 5 -3 2 3 2 3 4 - -# No-op, root left sibling ->>> r2 = Tree.objects.get(pk=r2.pk) ->>> r2.move_to(r1, 'left') ->>> print_tree_details([r2]) -4 - 2 0 1 6 ->>> print_tree_details(Tree.tree.all()) -7 - 1 0 1 6 -8 7 1 1 2 5 -9 8 1 2 3 4 -4 - 2 0 1 6 -5 4 2 1 2 5 -6 5 2 2 3 4 -1 - 3 0 1 6 -2 1 3 1 2 5 -3 2 3 2 3 4 - -# No-op, root right sibling ->>> r1.move_to(r2, 'right') ->>> print_tree_details([r1]) -1 - 3 0 1 6 ->>> print_tree_details(Tree.tree.all()) -7 - 1 0 1 6 -8 7 1 1 2 5 -9 8 1 2 3 4 -4 - 2 0 1 6 -5 4 2 1 2 5 -6 5 2 2 3 4 -1 - 3 0 1 6 -2 1 3 1 2 5 -3 2 3 2 3 4 - -# Child node, left sibling ->>> c3_1 = Tree.objects.get(pk=c3_1.pk) ->>> c3_1.move_to(r1, 'left') ->>> print_tree_details([c3_1]) -8 - 3 0 1 4 ->>> print_tree_details(Tree.tree.all()) -7 - 1 0 1 2 -4 - 2 0 1 6 -5 4 2 1 2 5 -6 5 2 2 3 4 -8 - 3 0 1 4 -9 8 3 1 2 3 -1 - 4 0 1 6 -2 1 4 1 2 5 -3 2 4 2 3 4 - -# Child node, right sibling ->>> r3 = Tree.objects.get(pk=r3.pk) ->>> c1_1 = Tree.objects.get(pk=c1_1.pk) ->>> c1_1.move_to(r3, 'right') ->>> print_tree_details([c1_1]) -2 - 2 0 1 4 ->>> print_tree_details(Tree.tree.all()) -7 - 1 0 1 2 -2 - 2 0 1 4 -3 2 2 1 2 3 -4 - 3 0 1 6 -5 4 3 1 2 5 -6 5 3 2 3 4 -8 - 4 0 1 4 -9 8 4 1 2 3 -1 - 5 0 1 2 - -# Insertion of positioned nodes ############################################### ->>> r1 = Insert.objects.create() ->>> r2 = Insert.objects.create() ->>> r3 = Insert.objects.create() ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -2 - 2 0 1 2 -3 - 3 0 1 2 - ->>> r2 = Insert.objects.get(pk=r2.pk) ->>> c1 = Insert() ->>> c1 = Insert.tree.insert_node(c1, r2, commit=True) ->>> print_tree_details([c1]) -4 2 2 1 2 3 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -2 - 2 0 1 4 -4 2 2 1 2 3 -3 - 3 0 1 2 - ->>> c1.insert_at(r2) -Traceback (most recent call last): - ... -ValueError: Cannot insert a node which has already been saved. - -# First child ->>> r2 = Insert.objects.get(pk=r2.pk) ->>> c2 = Insert() ->>> c2 = Insert.tree.insert_node(c2, r2, position='first-child', commit=True) ->>> print_tree_details([c2]) -5 2 2 1 2 3 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -2 - 2 0 1 6 -5 2 2 1 2 3 -4 2 2 1 4 5 -3 - 3 0 1 2 - -# Left ->>> c1 = Insert.objects.get(pk=c1.pk) ->>> c3 = Insert() ->>> c3 = Insert.tree.insert_node(c3, c1, position='left', commit=True) ->>> print_tree_details([c3]) -6 2 2 1 4 5 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -2 - 2 0 1 8 -5 2 2 1 2 3 -6 2 2 1 4 5 -4 2 2 1 6 7 -3 - 3 0 1 2 - -# Right ->>> c4 = Insert() ->>> c4 = Insert.tree.insert_node(c4, c3, position='right', commit=True) ->>> print_tree_details([c4]) -7 2 2 1 6 7 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -2 - 2 0 1 10 -5 2 2 1 2 3 -6 2 2 1 4 5 -7 2 2 1 6 7 -4 2 2 1 8 9 -3 - 3 0 1 2 - -# Last child ->>> r2 = Insert.objects.get(pk=r2.pk) ->>> c5 = Insert() ->>> c5 = Insert.tree.insert_node(c5, r2, position='last-child', commit=True) ->>> print_tree_details([c5]) -8 2 2 1 10 11 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -2 - 2 0 1 12 -5 2 2 1 2 3 -6 2 2 1 4 5 -7 2 2 1 6 7 -4 2 2 1 8 9 -8 2 2 1 10 11 -3 - 3 0 1 2 - -# Left sibling of root ->>> r2 = Insert.objects.get(pk=r2.pk) ->>> r4 = Insert() ->>> r4 = Insert.tree.insert_node(r4, r2, position='left', commit=True) ->>> print_tree_details([r4]) -9 - 2 0 1 2 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -9 - 2 0 1 2 -2 - 3 0 1 12 -5 2 3 1 2 3 -6 2 3 1 4 5 -7 2 3 1 6 7 -4 2 3 1 8 9 -8 2 3 1 10 11 -3 - 4 0 1 2 - -# Right sibling of root ->>> r2 = Insert.objects.get(pk=r2.pk) ->>> r5 = Insert() ->>> r5 = Insert.tree.insert_node(r5, r2, position='right', commit=True) ->>> print_tree_details([r5]) -10 - 4 0 1 2 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -9 - 2 0 1 2 -2 - 3 0 1 12 -5 2 3 1 2 3 -6 2 3 1 4 5 -7 2 3 1 6 7 -4 2 3 1 8 9 -8 2 3 1 10 11 -10 - 4 0 1 2 -3 - 5 0 1 2 - -# Last root ->>> r6 = Insert() ->>> r6 = Insert.tree.insert_node(r6, None, commit=True) ->>> print_tree_details([r6]) -11 - 6 0 1 2 ->>> print_tree_details(Insert.tree.all()) -1 - 1 0 1 2 -9 - 2 0 1 2 -2 - 3 0 1 12 -5 2 3 1 2 3 -6 2 3 1 4 5 -7 2 3 1 6 7 -4 2 3 1 8 9 -8 2 3 1 10 11 -10 - 4 0 1 2 -3 - 5 0 1 2 -11 - 6 0 1 2 - -# order_insertion_by with single criterion #################################### ->>> r1 = OrderedInsertion.objects.create(name='games') - -# Root ordering ->>> r2 = OrderedInsertion.objects.create(name='food') ->>> print_tree_details(OrderedInsertion.tree.all()) -2 - 1 0 1 2 -1 - 2 0 1 2 - -# Same name - insert after ->>> r3 = OrderedInsertion.objects.create(name='food') ->>> print_tree_details(OrderedInsertion.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 2 -1 - 3 0 1 2 - ->>> c1 = OrderedInsertion.objects.create(name='zoo', parent=r3) ->>> print_tree_details(OrderedInsertion.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 4 -4 3 2 1 2 3 -1 - 3 0 1 2 - ->>> r3 = OrderedInsertion.objects.get(pk=r3.pk) ->>> c2 = OrderedInsertion.objects.create(name='monkey', parent=r3) ->>> print_tree_details(OrderedInsertion.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 6 -5 3 2 1 2 3 -4 3 2 1 4 5 -1 - 3 0 1 2 - ->>> r3 = OrderedInsertion.objects.get(pk=r3.pk) ->>> c3 = OrderedInsertion.objects.create(name='animal', parent=r3) ->>> print_tree_details(OrderedInsertion.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 8 -6 3 2 1 2 3 -5 3 2 1 4 5 -4 3 2 1 6 7 -1 - 3 0 1 2 - -# order_insertion_by reparenting with single criterion ######################## - -# Root -> child ->>> r1 = OrderedInsertion.objects.get(pk=r1.pk) ->>> r3 = OrderedInsertion.objects.get(pk=r3.pk) ->>> r1.parent = r3 ->>> r1.save() ->>> print_tree_details(OrderedInsertion.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 10 -6 3 2 1 2 3 -1 3 2 1 4 5 -5 3 2 1 6 7 -4 3 2 1 8 9 - -# Child -> root ->>> c3 = OrderedInsertion.objects.get(pk=c3.pk) ->>> c3.parent = None ->>> c3.save() ->>> print_tree_details(OrderedInsertion.tree.all()) -6 - 1 0 1 2 -2 - 2 0 1 2 -3 - 3 0 1 8 -1 3 3 1 2 3 -5 3 3 1 4 5 -4 3 3 1 6 7 - -# Child -> child ->>> c1 = OrderedInsertion.objects.get(pk=c1.pk) ->>> c1.parent = c3 ->>> c1.save() ->>> print_tree_details(OrderedInsertion.tree.all()) -6 - 1 0 1 4 -4 6 1 1 2 3 -2 - 2 0 1 2 -3 - 3 0 1 6 -1 3 3 1 2 3 -5 3 3 1 4 5 ->>> c3 = OrderedInsertion.objects.get(pk=c3.pk) ->>> c2 = OrderedInsertion.objects.get(pk=c2.pk) ->>> c2.parent = c3 ->>> c2.save() ->>> print_tree_details(OrderedInsertion.tree.all()) -6 - 1 0 1 6 -5 6 1 1 2 3 -4 6 1 1 4 5 -2 - 2 0 1 2 -3 - 3 0 1 4 -1 3 3 1 2 3 - -# Insertion of positioned nodes, multiple ordering criteria ################### ->>> r1 = MultiOrder.objects.create(name='fff', size=20, date=date(2008, 1, 1)) - -# Root nodes - ordering by subsequent fields ->>> r2 = MultiOrder.objects.create(name='fff', size=10, date=date(2009, 1, 1)) ->>> print_tree_details(MultiOrder.tree.all()) -2 - 1 0 1 2 -1 - 2 0 1 2 - ->>> r3 = MultiOrder.objects.create(name='fff', size=20, date=date(2007, 1, 1)) ->>> print_tree_details(MultiOrder.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 2 -1 - 3 0 1 2 - ->>> r4 = MultiOrder.objects.create(name='fff', size=20, date=date(2008, 1, 1)) ->>> print_tree_details(MultiOrder.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 2 -1 - 3 0 1 2 -4 - 4 0 1 2 - ->>> r5 = MultiOrder.objects.create(name='fff', size=20, date=date(2007, 1, 1)) ->>> print_tree_details(MultiOrder.tree.all()) -2 - 1 0 1 2 -3 - 2 0 1 2 -5 - 3 0 1 2 -1 - 4 0 1 2 -4 - 5 0 1 2 - ->>> r6 = MultiOrder.objects.create(name='aaa', size=999, date=date(2010, 1, 1)) ->>> print_tree_details(MultiOrder.tree.all()) -6 - 1 0 1 2 -2 - 2 0 1 2 -3 - 3 0 1 2 -5 - 4 0 1 2 -1 - 5 0 1 2 -4 - 6 0 1 2 - -# Child nodes ->>> r1 = MultiOrder.objects.get(pk=r1.pk) ->>> c1 = MultiOrder.objects.create(parent=r1, name='hhh', size=10, date=date(2009, 1, 1)) ->>> print_tree_details(MultiOrder.tree.filter(tree_id=r1.tree_id)) -1 - 5 0 1 4 -7 1 5 1 2 3 - ->>> r1 = MultiOrder.objects.get(pk=r1.pk) ->>> c2 = MultiOrder.objects.create(parent=r1, name='hhh', size=20, date=date(2008, 1, 1)) ->>> print_tree_details(MultiOrder.tree.filter(tree_id=r1.tree_id)) -1 - 5 0 1 6 -7 1 5 1 2 3 -8 1 5 1 4 5 - ->>> r1 = MultiOrder.objects.get(pk=r1.pk) ->>> c3 = MultiOrder.objects.create(parent=r1, name='hhh', size=15, date=date(2008, 1, 1)) ->>> print_tree_details(MultiOrder.tree.filter(tree_id=r1.tree_id)) -1 - 5 0 1 8 -7 1 5 1 2 3 -9 1 5 1 4 5 -8 1 5 1 6 7 - ->>> r1 = MultiOrder.objects.get(pk=r1.pk) ->>> c4 = MultiOrder.objects.create(parent=r1, name='hhh', size=15, date=date(2008, 1, 1)) ->>> print_tree_details(MultiOrder.tree.filter(tree_id=r1.tree_id)) -1 - 5 0 1 10 -7 1 5 1 2 3 -9 1 5 1 4 5 -10 1 5 1 6 7 -8 1 5 1 8 9 -""" diff --git a/mptt/tests/fixtures/categories.json b/mptt/tests/fixtures/categories.json deleted file mode 100644 index 6e984c030f9..00000000000 --- a/mptt/tests/fixtures/categories.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - { - "pk": 1, - "model": "tests.category", - "fields": { - "rght": 20, - "name": "PC & Video Games", - "parent": null, - "level": 0, - "lft": 1, - "tree_id": 1 - } - }, - { - "pk": 2, - "model": "tests.category", - "fields": { - "rght": 7, - "name": "Nintendo Wii", - "parent": 1, - "level": 1, - "lft": 2, - "tree_id": 1 - } - }, - { - "pk": 3, - "model": "tests.category", - "fields": { - "rght": 4, - "name": "Games", - "parent": 2, - "level": 2, - "lft": 3, - "tree_id": 1 - } - }, - { - "pk": 4, - "model": "tests.category", - "fields": { - "rght": 6, - "name": "Hardware & Accessories", - "parent": 2, - "level": 2, - "lft": 5, - "tree_id": 1 - } - }, - { - "pk": 5, - "model": "tests.category", - "fields": { - "rght": 13, - "name": "Xbox 360", - "parent": 1, - "level": 1, - "lft": 8, - "tree_id": 1 - } - }, - { - "pk": 6, - "model": "tests.category", - "fields": { - "rght": 10, - "name": "Games", - "parent": 5, - "level": 2, - "lft": 9, - "tree_id": 1 - } - }, - { - "pk": 7, - "model": "tests.category", - "fields": { - "rght": 12, - "name": "Hardware & Accessories", - "parent": 5, - "level": 2, - "lft": 11, - "tree_id": 1 - } - }, - { - "pk": 8, - "model": "tests.category", - "fields": { - "rght": 19, - "name": "PlayStation 3", - "parent": 1, - "level": 1, - "lft": 14, - "tree_id": 1 - } - }, - { - "pk": 9, - "model": "tests.category", - "fields": { - "rght": 16, - "name": "Games", - "parent": 8, - "level": 2, - "lft": 15, - "tree_id": 1 - } - }, - { - "pk": 10, - "model": "tests.category", - "fields": { - "rght": 18, - "name": "Hardware & Accessories", - "parent": 8, - "level": 2, - "lft": 17, - "tree_id": 1 - } - } -] diff --git a/mptt/tests/fixtures/genres.json b/mptt/tests/fixtures/genres.json deleted file mode 100644 index 48702a4f7f0..00000000000 --- a/mptt/tests/fixtures/genres.json +++ /dev/null @@ -1,134 +0,0 @@ -[ - { - "pk": 1, - "model": "tests.genre", - "fields": { - "rght": 16, - "name": "Action", - "parent": null, - "level": 0, - "lft": 1, - "tree_id": 1 - } - }, - { - "pk": 2, - "model": "tests.genre", - "fields": { - "rght": 9, - "name": "Platformer", - "parent": 1, - "level": 1, - "lft": 2, - "tree_id": 1 - } - }, - { - "pk": 3, - "model": "tests.genre", - "fields": { - "rght": 4, - "name": "2D Platformer", - "parent": 2, - "level": 2, - "lft": 3, - "tree_id": 1 - } - }, - { - "pk": 4, - "model": "tests.genre", - "fields": { - "rght": 6, - "name": "3D Platformer", - "parent": 2, - "level": 2, - "lft": 5, - "tree_id": 1 - } - }, - { - "pk": 5, - "model": "tests.genre", - "fields": { - "rght": 8, - "name": "4D Platformer", - "parent": 2, - "level": 2, - "lft": 7, - "tree_id": 1 - } - }, - { - "pk": 6, - "model": "tests.genre", - "fields": { - "rght": 15, - "name": "Shootemup", - "parent": 1, - "level": 1, - "lft": 10, - "tree_id": 1 - } - }, - { - "pk": 7, - "model": "tests.genre", - "fields": { - "rght": 12, - "name": "Vertical Scrolling Shootemup", - "parent": 6, - "level": 2, - "lft": 11, - "tree_id": 1 - } - }, - { - "pk": 8, - "model": "tests.genre", - "fields": { - "rght": 14, - "name": "Horizontal Scrolling Shootemup", - "parent": 6, - "level": 2, - "lft": 13, - "tree_id": 1 - } - }, - { - "pk": 9, - "model": "tests.genre", - "fields": { - "rght": 6, - "name": "Role-playing Game", - "parent": null, - "level": 0, - "lft": 1, - "tree_id": 2 - } - }, - { - "pk": 10, - "model": "tests.genre", - "fields": { - "rght": 3, - "name": "Action RPG", - "parent": 9, - "level": 1, - "lft": 2, - "tree_id": 2 - } - }, - { - "pk": 11, - "model": "tests.genre", - "fields": { - "rght": 5, - "name": "Tactical RPG", - "parent": 9, - "level": 1, - "lft": 4, - "tree_id": 2 - } - } -] diff --git a/mptt/tests/models.py b/mptt/tests/models.py deleted file mode 100644 index 6a771516ff5..00000000000 --- a/mptt/tests/models.py +++ /dev/null @@ -1,54 +0,0 @@ -from django.db import models - -import mptt - -class Category(models.Model): - name = models.CharField(max_length=50) - parent = models.ForeignKey('self', null=True, blank=True, related_name='children') - - def __unicode__(self): - return self.name - - def delete(self): - super(Category, self).delete() - -class Genre(models.Model): - name = models.CharField(max_length=50, unique=True) - parent = models.ForeignKey('self', null=True, blank=True, related_name='children') - - def __unicode__(self): - return self.name - -class Insert(models.Model): - parent = models.ForeignKey('self', null=True, blank=True, related_name='children') - -class MultiOrder(models.Model): - name = models.CharField(max_length=50) - size = models.PositiveIntegerField() - date = models.DateField() - parent = models.ForeignKey('self', null=True, blank=True, related_name='children') - - def __unicode__(self): - return self.name - -class Node(models.Model): - parent = models.ForeignKey('self', null=True, blank=True, related_name='children') - -class OrderedInsertion(models.Model): - name = models.CharField(max_length=50) - parent = models.ForeignKey('self', null=True, blank=True, related_name='children') - - def __unicode__(self): - return self.name - -class Tree(models.Model): - parent = models.ForeignKey('self', null=True, blank=True, related_name='children') - -mptt.register(Category) -mptt.register(Genre) -mptt.register(Insert) -mptt.register(MultiOrder, order_insertion_by=['name', 'size', 'date']) -mptt.register(Node, left_attr='does', right_attr='zis', level_attr='madness', - tree_id_attr='work') -mptt.register(OrderedInsertion, order_insertion_by=['name']) -mptt.register(Tree) diff --git a/mptt/tests/settings.py b/mptt/tests/settings.py deleted file mode 100644 index e11c1ddc075..00000000000 --- a/mptt/tests/settings.py +++ /dev/null @@ -1,27 +0,0 @@ -import os - -DIRNAME = os.path.dirname(__file__) - -DEBUG = True - -DATABASE_ENGINE = 'sqlite3' -DATABASE_NAME = os.path.join(DIRNAME, 'mptt.db') - -#DATABASE_ENGINE = 'mysql' -#DATABASE_NAME = 'mptt_test' -#DATABASE_USER = 'root' -#DATABASE_PASSWORD = '' -#DATABASE_HOST = 'localhost' -#DATABASE_PORT = '3306' - -#DATABASE_ENGINE = 'postgresql_psycopg2' -#DATABASE_NAME = 'mptt_test' -#DATABASE_USER = 'postgres' -#DATABASE_PASSWORD = '' -#DATABASE_HOST = 'localhost' -#DATABASE_PORT = '5432' - -INSTALLED_APPS = ( - 'mptt', - 'mptt.tests', -) diff --git a/mptt/tests/testcases.py b/mptt/tests/testcases.py deleted file mode 100644 index f1287172328..00000000000 --- a/mptt/tests/testcases.py +++ /dev/null @@ -1,309 +0,0 @@ -import re - -from django.test import TestCase - -from mptt.exceptions import InvalidMove -from mptt.tests import doctests -from mptt.tests.models import Category, Genre - -def get_tree_details(nodes): - """Creates pertinent tree details for the given list of nodes.""" - opts = nodes[0]._meta - return '\n'.join(['%s %s %s %s %s %s' % - (n.pk, getattr(n, '%s_id' % opts.parent_attr) or '-', - getattr(n, opts.tree_id_attr), getattr(n, opts.level_attr), - getattr(n, opts.left_attr), getattr(n, opts.right_attr)) - for n in nodes]) - -leading_whitespace_re = re.compile(r'^\s+', re.MULTILINE) - -def tree_details(text): - """ - Trims leading whitespace from the given text specifying tree details - so triple-quoted strings can be used to provide tree details in a - readable format (says who?), to be compared with the result of using - the ``get_tree_details`` function. - """ - return leading_whitespace_re.sub('', text) - -# genres.json defines the following tree structure -# -# 1 - 1 0 1 16 action -# 2 1 1 1 2 9 +-- platformer -# 3 2 1 2 3 4 | |-- platformer_2d -# 4 2 1 2 5 6 | |-- platformer_3d -# 5 2 1 2 7 8 | +-- platformer_4d -# 6 1 1 1 10 15 +-- shmup -# 7 6 1 2 11 12 |-- shmup_vertical -# 8 6 1 2 13 14 +-- shmup_horizontal -# 9 - 2 0 1 6 rpg -# 10 9 2 1 2 3 |-- arpg -# 11 9 2 1 4 5 +-- trpg - -class ReparentingTestCase(TestCase): - """ - Test that trees are in the appropriate state after reparenting and - that reparented items have the correct tree attributes defined, - should they be required for use after a save. - """ - fixtures = ['genres.json'] - - def test_new_root_from_subtree(self): - shmup = Genre.objects.get(id=6) - shmup.parent = None - shmup.save() - self.assertEqual(get_tree_details([shmup]), '6 - 3 0 1 6') - self.assertEqual(get_tree_details(Genre.tree.all()), - tree_details("""1 - 1 0 1 10 - 2 1 1 1 2 9 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 2 1 2 7 8 - 9 - 2 0 1 6 - 10 9 2 1 2 3 - 11 9 2 1 4 5 - 6 - 3 0 1 6 - 7 6 3 1 2 3 - 8 6 3 1 4 5""")) - - def test_new_root_from_leaf_with_siblings(self): - platformer_2d = Genre.objects.get(id=3) - platformer_2d.parent = None - platformer_2d.save() - self.assertEqual(get_tree_details([platformer_2d]), '3 - 3 0 1 2') - self.assertEqual(get_tree_details(Genre.tree.all()), - tree_details("""1 - 1 0 1 14 - 2 1 1 1 2 7 - 4 2 1 2 3 4 - 5 2 1 2 5 6 - 6 1 1 1 8 13 - 7 6 1 2 9 10 - 8 6 1 2 11 12 - 9 - 2 0 1 6 - 10 9 2 1 2 3 - 11 9 2 1 4 5 - 3 - 3 0 1 2""")) - - def test_new_child_from_root(self): - action = Genre.objects.get(id=1) - rpg = Genre.objects.get(id=9) - action.parent = rpg - action.save() - self.assertEqual(get_tree_details([action]), '1 9 2 1 6 21') - self.assertEqual(get_tree_details(Genre.tree.all()), - tree_details("""9 - 2 0 1 22 - 10 9 2 1 2 3 - 11 9 2 1 4 5 - 1 9 2 1 6 21 - 2 1 2 2 7 14 - 3 2 2 3 8 9 - 4 2 2 3 10 11 - 5 2 2 3 12 13 - 6 1 2 2 15 20 - 7 6 2 3 16 17 - 8 6 2 3 18 19""")) - - def test_move_leaf_to_other_tree(self): - shmup_horizontal = Genre.objects.get(id=8) - rpg = Genre.objects.get(id=9) - shmup_horizontal.parent = rpg - shmup_horizontal.save() - self.assertEqual(get_tree_details([shmup_horizontal]), '8 9 2 1 6 7') - self.assertEqual(get_tree_details(Genre.tree.all()), - tree_details("""1 - 1 0 1 14 - 2 1 1 1 2 9 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 2 1 2 7 8 - 6 1 1 1 10 13 - 7 6 1 2 11 12 - 9 - 2 0 1 8 - 10 9 2 1 2 3 - 11 9 2 1 4 5 - 8 9 2 1 6 7""")) - - def test_move_subtree_to_other_tree(self): - shmup = Genre.objects.get(id=6) - trpg = Genre.objects.get(id=11) - shmup.parent = trpg - shmup.save() - self.assertEqual(get_tree_details([shmup]), '6 11 2 2 5 10') - self.assertEqual(get_tree_details(Genre.tree.all()), - tree_details("""1 - 1 0 1 10 - 2 1 1 1 2 9 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 2 1 2 7 8 - 9 - 2 0 1 12 - 10 9 2 1 2 3 - 11 9 2 1 4 11 - 6 11 2 2 5 10 - 7 6 2 3 6 7 - 8 6 2 3 8 9""")) - - def test_move_child_up_level(self): - shmup_horizontal = Genre.objects.get(id=8) - action = Genre.objects.get(id=1) - shmup_horizontal.parent = action - shmup_horizontal.save() - self.assertEqual(get_tree_details([shmup_horizontal]), '8 1 1 1 14 15') - self.assertEqual(get_tree_details(Genre.tree.all()), - tree_details("""1 - 1 0 1 16 - 2 1 1 1 2 9 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 2 1 2 7 8 - 6 1 1 1 10 13 - 7 6 1 2 11 12 - 8 1 1 1 14 15 - 9 - 2 0 1 6 - 10 9 2 1 2 3 - 11 9 2 1 4 5""")) - - def test_move_subtree_down_level(self): - shmup = Genre.objects.get(id=6) - platformer = Genre.objects.get(id=2) - shmup.parent = platformer - shmup.save() - self.assertEqual(get_tree_details([shmup]), '6 2 1 2 9 14') - self.assertEqual(get_tree_details(Genre.tree.all()), - tree_details("""1 - 1 0 1 16 - 2 1 1 1 2 15 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 2 1 2 7 8 - 6 2 1 2 9 14 - 7 6 1 3 10 11 - 8 6 1 3 12 13 - 9 - 2 0 1 6 - 10 9 2 1 2 3 - 11 9 2 1 4 5""")) - - def test_invalid_moves(self): - # A node may not be made a child of itself - action = Genre.objects.get(id=1) - action.parent = action - platformer = Genre.objects.get(id=2) - platformer.parent = platformer - self.assertRaises(InvalidMove, action.save) - self.assertRaises(InvalidMove, platformer.save) - - # A node may not be made a child of any of its descendants - platformer_4d = Genre.objects.get(id=5) - action.parent = platformer_4d - platformer.parent = platformer_4d - self.assertRaises(InvalidMove, action.save) - self.assertRaises(InvalidMove, platformer.save) - - # New parent is still set when an error occurs - self.assertEquals(action.parent, platformer_4d) - self.assertEquals(platformer.parent, platformer_4d) - -# categories.json defines the following tree structure: -# -# 1 - 1 0 1 20 games -# 2 1 1 1 2 7 +-- wii -# 3 2 1 2 3 4 | |-- wii_games -# 4 2 1 2 5 6 | +-- wii_hardware -# 5 1 1 1 8 13 +-- xbox360 -# 6 5 1 2 9 10 | |-- xbox360_games -# 7 5 1 2 11 12 | +-- xbox360_hardware -# 8 1 1 1 14 19 +-- ps3 -# 9 8 1 2 15 16 |-- ps3_games -# 10 8 1 2 17 18 +-- ps3_hardware - -class DeletionTestCase(TestCase): - """ - Tests that the tree structure is maintained appropriately in various - deletion scenrios. - """ - fixtures = ['categories.json'] - - def test_delete_root_node(self): - # Add a few other roots to verify that they aren't affected - Category(name='Preceding root').insert_at(Category.objects.get(id=1), - 'left', commit=True) - Category(name='Following root').insert_at(Category.objects.get(id=1), - 'right', commit=True) - self.assertEqual(get_tree_details(Category.tree.all()), - tree_details("""11 - 1 0 1 2 - 1 - 2 0 1 20 - 2 1 2 1 2 7 - 3 2 2 2 3 4 - 4 2 2 2 5 6 - 5 1 2 1 8 13 - 6 5 2 2 9 10 - 7 5 2 2 11 12 - 8 1 2 1 14 19 - 9 8 2 2 15 16 - 10 8 2 2 17 18 - 12 - 3 0 1 2"""), - 'Setup for test produced unexpected result') - - Category.objects.get(id=1).delete() - self.assertEqual(get_tree_details(Category.tree.all()), - tree_details("""11 - 1 0 1 2 - 12 - 3 0 1 2""")) - - def test_delete_last_node_with_siblings(self): - Category.objects.get(id=9).delete() - self.assertEqual(get_tree_details(Category.tree.all()), - tree_details("""1 - 1 0 1 18 - 2 1 1 1 2 7 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 1 1 1 8 13 - 6 5 1 2 9 10 - 7 5 1 2 11 12 - 8 1 1 1 14 17 - 10 8 1 2 15 16""")) - - def test_delete_last_node_with_descendants(self): - Category.objects.get(id=8).delete() - self.assertEqual(get_tree_details(Category.tree.all()), - tree_details("""1 - 1 0 1 14 - 2 1 1 1 2 7 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 1 1 1 8 13 - 6 5 1 2 9 10 - 7 5 1 2 11 12""")) - - def test_delete_node_with_siblings(self): - Category.objects.get(id=6).delete() - self.assertEqual(get_tree_details(Category.tree.all()), - tree_details("""1 - 1 0 1 18 - 2 1 1 1 2 7 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 5 1 1 1 8 11 - 7 5 1 2 9 10 - 8 1 1 1 12 17 - 9 8 1 2 13 14 - 10 8 1 2 15 16""")) - - def test_delete_node_with_descendants_and_siblings(self): - """ - Regression test for Issue 23 - we used to use pre_delete, which - resulted in tree cleanup being performed for every node being - deleted, rather than just the node on which ``delete()`` was - called. - """ - Category.objects.get(id=5).delete() - self.assertEqual(get_tree_details(Category.tree.all()), - tree_details("""1 - 1 0 1 14 - 2 1 1 1 2 7 - 3 2 1 2 3 4 - 4 2 1 2 5 6 - 8 1 1 1 8 13 - 9 8 1 2 9 10 - 10 8 1 2 11 12""")) - -class IntraTreeMovementTestCase(TestCase): - pass - -class InterTreeMovementTestCase(TestCase): - pass - -class PositionedInsertionTestCase(TestCase): - pass diff --git a/mptt/tests/tests.py b/mptt/tests/tests.py deleted file mode 100644 index b89a53b567f..00000000000 --- a/mptt/tests/tests.py +++ /dev/null @@ -1,11 +0,0 @@ -import doctest -import unittest - -from mptt.tests import doctests -from mptt.tests import testcases - -def suite(): - s = unittest.TestSuite() - s.addTest(doctest.DocTestSuite(doctests)) - s.addTest(unittest.defaultTestLoader.loadTestsFromModule(testcases)) - return s diff --git a/mptt/utils.py b/mptt/utils.py deleted file mode 100644 index 2a5dc8f008d..00000000000 --- a/mptt/utils.py +++ /dev/null @@ -1,134 +0,0 @@ -""" -Utilities for working with lists of model instances which represent -trees. -""" -import copy -import itertools - -__all__ = ('previous_current_next', 'tree_item_iterator', - 'drilldown_tree_for_node') - -def previous_current_next(items): - """ - From http://www.wordaligned.org/articles/zippy-triples-served-with-python - - Creates an iterator which returns (previous, current, next) triples, - with ``None`` filling in when there is no previous or next - available. - """ - extend = itertools.chain([None], items, [None]) - previous, current, next = itertools.tee(extend, 3) - try: - current.next() - next.next() - next.next() - except StopIteration: - pass - return itertools.izip(previous, current, next) - -def tree_item_iterator(items, ancestors=False): - """ - Given a list of tree items, iterates over the list, generating - two-tuples of the current tree item and a ``dict`` containing - information about the tree structure around the item, with the - following keys: - - ``'new_level'` - ``True`` if the current item is the start of a new level in - the tree, ``False`` otherwise. - - ``'closed_levels'`` - A list of levels which end after the current item. This will - be an empty list if the next item is at the same level as the - current item. - - If ``ancestors`` is ``True``, the following key will also be - available: - - ``'ancestors'`` - A list of unicode representations of the ancestors of the - current node, in descending order (root node first, immediate - parent last). - - For example: given the sample tree below, the contents of the - list which would be available under the ``'ancestors'`` key - are given on the right:: - - Books -> [] - Sci-fi -> [u'Books'] - Dystopian Futures -> [u'Books', u'Sci-fi'] - - """ - structure = {} - opts = None - for previous, current, next in previous_current_next(items): - if opts is None: - opts = current._meta - - current_level = getattr(current, opts.level_attr) - if previous: - structure['new_level'] = (getattr(previous, - opts.level_attr) < current_level) - if ancestors: - # If the previous node was the end of any number of - # levels, remove the appropriate number of ancestors - # from the list. - if structure['closed_levels']: - structure['ancestors'] = \ - structure['ancestors'][:-len(structure['closed_levels'])] - # If the current node is the start of a new level, add its - # parent to the ancestors list. - if structure['new_level']: - structure['ancestors'].append(unicode(previous)) - else: - structure['new_level'] = True - if ancestors: - # Set up the ancestors list on the first item - structure['ancestors'] = [] - - if next: - structure['closed_levels'] = range(current_level, - getattr(next, - opts.level_attr), -1) - else: - # All remaining levels need to be closed - structure['closed_levels'] = range(current_level, -1, -1) - - # Return a deep copy of the structure dict so this function can - # be used in situations where the iterator is consumed - # immediately. - yield current, copy.deepcopy(structure) - -def drilldown_tree_for_node(node, rel_cls=None, rel_field=None, count_attr=None, - cumulative=False): - """ - Creates a drilldown tree for the given node. A drilldown tree - consists of a node's ancestors, itself and its immediate children, - all in tree order. - - Optional arguments may be given to specify a ``Model`` class which - is related to the node's class, for the purpose of adding related - item counts to the node's children: - - ``rel_cls`` - A ``Model`` class which has a relation to the node's class. - - ``rel_field`` - The name of the field in ``rel_cls`` which holds the relation - to the node's class. - - ``count_attr`` - The name of an attribute which should be added to each child in - the drilldown tree, containing a count of how many instances - of ``rel_cls`` are related through ``rel_field``. - - ``cumulative`` - If ``True``, the count will be for each child and all of its - descendants, otherwise it will be for each child itself. - """ - if rel_cls and rel_field and count_attr: - children = node._tree_manager.add_related_count( - node.get_children(), rel_cls, rel_field, count_attr, cumulative) - else: - children = node.get_children() - return itertools.chain(node.get_ancestors(), [node], children) diff --git a/publisher/__init__.py b/publisher/__init__.py deleted file mode 100644 index d3528490dfa..00000000000 --- a/publisher/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -# -*- coding: utf-8 -*- -from django.conf import settings -from mptt_support import Mptt -from manager import PublisherManager - -__all__ = ('PublisherManager', 'Mptt', 'VERSION') - -VERSION = (0, 4, 'sintab') \ No newline at end of file diff --git a/publisher/mptt_support.py b/publisher/mptt_support.py deleted file mode 100644 index 9d3f5d73c7a..00000000000 --- a/publisher/mptt_support.py +++ /dev/null @@ -1,152 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Mptt registering (modified) -========================== - -Registering now takes place in metaclass. Mptt is registered if model contains -attribute Meta, which is subclass of Mptt. - -Basic usage:: - - class MyModel(models.Model): - ... - - class Mptt(Mptt): - pass - -Requirements: -- requires mptt installed on pythonpath -""" - -from django.db.models import signals -from django.db import models - - -class Mptt(models.Model): - """Abstract class which have to be extended for putting model under mptt. - For changing attributes see MpttMeta - """ - class Meta: - abstract = True - - -class MpttMeta: - """Basic mptt configuration class - something like Meta in model - """ - - META_ATTRIBUTES = ('parent_attr', 'left_attr', 'right_attr', - 'tree_id_attr', 'level_attr', 'tree_manager_attr', 'order_insertion_by') - - parent_attr = 'parent' - left_attr = 'lft' - right_attr = 'rght' - tree_id_attr = 'tree_id' - level_attr = 'level' - tree_manager_attr = 'tree' - order_insertion_by = None - - @classmethod - def contribute_to_class(cls, main_cls, name): - # install rest of mptt, class was build - - signals.class_prepared.connect(cls.finish_mptt_class, - sender=main_cls, weak=False) - - from mptt.signals import pre_save - - # Set up signal receiver to manage the tree when instances of the - # model are about to be saved. - signals.pre_save.connect(pre_save, sender=main_cls) - - @classmethod - def finish_mptt_class(cls, *args, **kwargs): - main_cls = kwargs['sender'] - try: - from functools import wraps - except ImportError: - from django.utils.functional import wraps # Python 2.3, 2.4 fallback - - from mptt.managers import TreeManager - - # jsut copy attributes to meta - for attr in MpttMeta.META_ATTRIBUTES: - setattr(main_cls._meta, attr, getattr(cls, attr)) - - meta = main_cls._meta - - # Instanciate tree manager - TreeManager(meta.parent_attr, meta.left_attr, meta.right_attr, - meta.tree_id_attr, meta.level_attr).contribute_to_class(main_cls, meta.tree_manager_attr) - - # Add a custom tree manager - #setattr(main_cls, meta.tree_manager_attr, tree_manager) - setattr(main_cls, '_tree_manager', getattr(main_cls, meta.tree_manager_attr)) - - # Wrap the model's delete method to manage the tree structure before - # deletion. This is icky, but the pre_delete signal doesn't currently - # provide a way to identify which model delete was called on and we - # only want to manage the tree based on the topmost node which is - # being deleted. - def wrap_delete(delete): - def _wrapped_delete(self): - opts = self._meta - tree_width = (getattr(self, opts.right_attr) - - getattr(self, opts.left_attr) + 1) - target_right = getattr(self, opts.right_attr) - tree_id = getattr(self, opts.tree_id_attr) - self._tree_manager._close_gap(tree_width, target_right, tree_id) - delete(self) - return wraps(delete)(_wrapped_delete) - main_cls.delete = wrap_delete(main_cls.delete) - - -def install_mptt(cls, name, bases, attrs): - """Installs mptt - modifies class attrs, and adds required stuff to them. - """ - if not Mptt in bases: - return attrs - - if 'MpttMeta' in attrs and not issubclass(attrs['MpttMeta'], MpttMeta): - raise ValueError, ("%s.Mptt must be a subclass " - + " of publisher.Mptt.") % (name,) - - attrs['MpttMeta'] = MpttMeta - - # import required stuff here, so we will have import errors only when mptt - # is really in use - from mptt import models as mptt_models - - attrs['_is_mptt_model'] = lambda self: True - - mptt_meta = attrs['MpttMeta'] - - assert mptt_meta.parent_attr in attrs, ("Mppt model must define parent " - "field!") - - # add mptt fields - fields = (mptt_meta.left_attr, mptt_meta.right_attr, - mptt_meta.tree_id_attr, mptt_meta.level_attr) - - for attr in fields: - if not attr in attrs: - attrs[attr] = models.PositiveIntegerField(db_index=True, editable=False) - - methods = ('get_ancestors', 'get_children', 'get_descendants', - 'get_descendant_count', 'get_next_sibling', - 'get_previous_sibling', 'get_root', 'get_siblings', 'insert_at', - 'is_child_node', 'is_leaf_node', 'is_root_node', 'move_to') - - # Add tree methods for model instances - for method_name in methods: - attrs[method_name] = getattr(mptt_models, method_name) - - return attrs - - -def finish_mptt(cls): - if not hasattr(cls, '_is_mptt_model'): - return - - from mptt import registry - if not cls in registry: - registry.append(cls) \ No newline at end of file diff --git a/runtests.sh b/runtests.sh index 66dec6f7179..0b9bef3ab08 100755 --- a/runtests.sh +++ b/runtests.sh @@ -1,39 +1,45 @@ #!/bin/bash +find . -name '*.pyc' -delete + cd tests +sigfile=.buildoutsig + args=("$@") num_args=${#args[@]} index=0 reuse_env=true disable_coverage=true -django_trunk=false +django=12 + python="python" # to ensure this script works if no python option is specified while [ "$index" -lt "$num_args" ] do case "${args[$index]}" in - "--failfast") + "-f"|"--failfast") failfast="--failfast" ;; - "--rebuild-env") + "-r"|"--rebuild-env") reuse_env=false ;; - "--with-coverage") + "-c"|"--with-coverage") disable_coverage=false ;; - "--django-trunk") - django_trunk=true + "-d"|"--django") + let "index = $index + 1" + django="${args[$index]}" ;; - "--python") + "-p"|"--python") let "index = $index + 1" python="${args[$index]}" ;; - "--help") + "-h"|"--help") echo "" echo "usage:" echo " runtests.sh" @@ -41,11 +47,12 @@ do echo " or runtests.sh [flags] [testcase]" echo "" echo "flags:" - echo " --failfast - abort at first failing test" - echo " --with-coverage - enables coverage" - echo " --rebuild-env - run buildout before the tests" - echo " --django-trunk - run tests against django trunk" - echo " --python /path/to/python - python version to use to run the tests" + echo " -f, --failfast - abort at first failing test" + echo " -c, --with-coverage - enables coverage" + echo " -r, --rebuild-env - run buildout before the tests" + echo " -d, --django - run tests against a django version, options: 12, 13 or trunk" + echo " -p, --python /path/to/python - python version to use to run the tests" + echo " -h, --help - display this help" exit 1 ;; @@ -57,6 +64,20 @@ done echo "using python at: $python" +sig="py:$python;dj:$django$" + +oldsig="nosig" + +if [ -f $sigfile ]; then + oldsig=`cat $sigfile` +fi + +if [ "$oldsig" != "$sig" ]; then + reuse_env=false +fi + +echo $sig > $sigfile + if [ $reuse_env == false ]; then echo "setting up test environment (this might take a while)..." $python bootstrap.py @@ -64,11 +85,7 @@ if [ $reuse_env == false ]; then echo "bootstrap.py failed" exit 1 fi - if [ $django_trunk == true ]; then - ./bin/buildout -c django-svn.cfg - else - ./bin/buildout - fi + ./bin/buildout -c "django-$django.cfg" if [ $? != 0 ]; then echo "bin/buildout failed" exit 1 @@ -89,7 +106,7 @@ else fi if [ $disable_coverage == false ]; then - ./bin/coverage run --rcfile=.coveragerc testapp/manage.py test $suite $failfast + ./bin/coverage run --rcfile=.coveragerc bin/django test $suite $failfast retcode=$? echo "Post test actions..." diff --git a/setup.py b/setup.py index 79e137e7f52..8ca967a3250 100644 --- a/setup.py +++ b/setup.py @@ -1,28 +1,10 @@ from setuptools import setup, find_packages -import os, fnmatch +import os import cms -media_files = [] - -for dirpath, dirnames, filenames in os.walk(os.path.join('cms', 'media')): - for filename in filenames: - filepath = os.path.join(dirpath, filename) - failed = False - for pattern in ('*.py', '*.pyc', '*~', '.*', '*.bak', '*.swp*'): - if fnmatch.fnmatchcase(filename, pattern): - failed = True - if failed: - continue - media_files.append(os.path.join(*filepath.split(os.sep)[1:])) -if cms.VERSION[-1] == 'final': - CLASSIFIERS = ['Development Status :: 5 - Production/Stable'] -elif 'beta' in cms.VERSION[-1]: - CLASSIFIERS = ['Development Status :: 4 - Beta'] -else: - CLASSIFIERS = ['Development Status :: 3 - Alpha'] - -CLASSIFIERS += [ +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', 'Environment :: Web Environment', 'Framework :: Django', 'Intended Audience :: Developers', @@ -41,41 +23,19 @@ version=cms.__version__, description='An Advanced Django CMS', long_description=open(os.path.join(os.path.dirname(__file__), 'README.rst')).read(), - url='http://www.django-cms.org/', + url='https://www.django-cms.org/', license='BSD License', platforms=['OS Independent'], classifiers=CLASSIFIERS, install_requires=[ - 'Django>=1.2', - 'django-classy-tags>=0.2.2', + 'Django>=1.2.5', + 'django-classy-tags>=0.3.4.1', 'south>=0.7.2', 'html5lib', + 'django-mptt>=0.4.2', + 'django-sekizai>=0.4.2', ], - packages=find_packages(exclude=["example", "example.*","testdata","testdata.*"]), - package_data={ - 'cms': [ - 'templates/admin/*.html', - 'templates/admin/cms/mail/*.html', - 'templates/admin/cms/mail/*.txt', - 'templates/admin/cms/page/*.html', - 'templates/admin/cms/page/*/*.html', - 'templates/cms/*.html', - 'templates/cms/*/*.html', - 'plugins/*/templates/cms/plugins/*.html', - 'plugins/*/templates/cms/plugins/*/*.html', - 'plugins/*/templates/cms/plugins/*/*.js', - 'locale/*/LC_MESSAGES/*', - ] + media_files, - 'example': [ - 'media/css/*.css', - 'media/img/*.jpg', - 'templates/*.html', - 'sampleapp/media/sampleapp/img/gift.jpg', - 'sampleapp/templates/sampleapp/*.html', - ], - 'menus': [ - 'templates/menu/*.html', - ], - }, + packages=find_packages(exclude=["project","project.*"]), + include_package_data=True, zip_safe = False ) diff --git a/tests/.coveragerc b/tests/.coveragerc index a42144e8ec1..e159d645c73 100644 --- a/tests/.coveragerc +++ b/tests/.coveragerc @@ -3,8 +3,8 @@ branch = True source = cms menus - publisher omit = ../*migrations* + ../*tests* [report] precision = 2 diff --git a/tests/buildout.cfg b/tests/buildout.cfg index 00a0106eaba..3873dc5086c 100644 --- a/tests/buildout.cfg +++ b/tests/buildout.cfg @@ -7,13 +7,14 @@ eggs = django-cms coverage unittest-xml-reporting + django-mptt django-reversion django-classy-tags - django + django-staticfiles South sphinx extra-paths = - testapp + project develop = ../ versions = versions @@ -36,5 +37,5 @@ extra-paths = ${buildout:extra-paths} [versions] coverage = 3.4 unittest-xml-reporting = 1.0.3 -django-reversion = 1.3.3 -django = 1.2.5 \ No newline at end of file +django-reversion = 1.4 +django = 1.2.5 diff --git a/tests/django-12.cfg b/tests/django-12.cfg new file mode 100644 index 00000000000..25984be3785 --- /dev/null +++ b/tests/django-12.cfg @@ -0,0 +1,9 @@ +[buildout] +extends = buildout.cfg +eggs += django-staticfiles + +[versions] +coverage = 3.4 +unittest-xml-reporting = 1.0.3 +django-reversion = 1.4 +django = 1.2.5 diff --git a/tests/django-svn.cfg b/tests/django-124.cfg similarity index 59% rename from tests/django-svn.cfg rename to tests/django-124.cfg index 8626c3da1b2..efa649374c9 100644 --- a/tests/django-svn.cfg +++ b/tests/django-124.cfg @@ -3,7 +3,7 @@ extends = buildout.cfg [django] recipe = djangorecipe -version = trunk -project = testapp +version = 1.2.4 +project = project settings = settings -eggs = ${buildout:eggs} \ No newline at end of file +eggs = ${buildout:eggs} diff --git a/tests/django-13.cfg b/tests/django-13.cfg new file mode 100644 index 00000000000..0c884c4e1dd --- /dev/null +++ b/tests/django-13.cfg @@ -0,0 +1,8 @@ +[buildout] +extends = buildout.cfg + +[versions] +coverage = 3.4 +unittest-xml-reporting = 1.0.3 +django-reversion = 1.4 +django = 1.3 diff --git a/tests/django-trunk.cfg b/tests/django-trunk.cfg new file mode 100644 index 00000000000..4aa468c6f53 --- /dev/null +++ b/tests/django-trunk.cfg @@ -0,0 +1,16 @@ +[buildout] +extends = buildout.cfg +develop += + parts/svn/django/ +parts += + svn + +[svn] +recipe = infrae.subversion +urls = + http://code.djangoproject.com/svn/django/trunk/ django + +[versions] +coverage = 3.4 +unittest-xml-reporting = 1.0.3 +django-reversion = 1.4 diff --git a/mptt/templatetags/__init__.py b/tests/project/__init__.py similarity index 100% rename from mptt/templatetags/__init__.py rename to tests/project/__init__.py diff --git a/tests/testapp/cms_urls_for_apphook_tests.py b/tests/project/cms_urls_for_apphook_tests.py similarity index 95% rename from tests/testapp/cms_urls_for_apphook_tests.py rename to tests/project/cms_urls_for_apphook_tests.py index 9f9907bd24f..a36dd4635e6 100644 --- a/tests/testapp/cms_urls_for_apphook_tests.py +++ b/tests/project/cms_urls_for_apphook_tests.py @@ -22,4 +22,4 @@ urlpatterns = get_app_patterns() + urlpatterns #urlpatterns = (dynamic_app_regex_url_resolver, ) + urlpatterns -urlpatterns = patterns('', *urlpatterns) \ No newline at end of file +urlpatterns = patterns('', *urlpatterns) diff --git a/mptt/tests/__init__.py b/tests/project/fakemlng/__init__.py similarity index 100% rename from mptt/tests/__init__.py rename to tests/project/fakemlng/__init__.py diff --git a/tests/testapp/fakemlng/fixtures/fakemlng.json b/tests/project/fakemlng/fixtures/fakemlng.json similarity index 100% rename from tests/testapp/fakemlng/fixtures/fakemlng.json rename to tests/project/fakemlng/fixtures/fakemlng.json diff --git a/tests/testapp/fakemlng/models.py b/tests/project/fakemlng/models.py similarity index 85% rename from tests/testapp/fakemlng/models.py rename to tests/project/fakemlng/models.py index 2d8f368d6b5..a00d7717869 100644 --- a/tests/testapp/fakemlng/models.py +++ b/tests/project/fakemlng/models.py @@ -11,4 +11,4 @@ class Translations(models.Model): placeholder = PlaceholderField('translated', null=True) class Meta: - unique_together = [('master', 'language_code')] \ No newline at end of file + unique_together = [('master', 'language_code')] diff --git a/tests/testapp/__init__.py b/tests/project/fileapp/__init__.py similarity index 100% rename from tests/testapp/__init__.py rename to tests/project/fileapp/__init__.py diff --git a/tests/project/fileapp/models.py b/tests/project/fileapp/models.py new file mode 100644 index 00000000000..85f8952a932 --- /dev/null +++ b/tests/project/fileapp/models.py @@ -0,0 +1,7 @@ +from cms.utils.helpers import reversion_register +from django.db import models + +class FileModel(models.Model): + test_file = models.FileField(upload_to='fileapp/', blank=True, null=True) + +reversion_register(FileModel) diff --git a/tests/testapp/manage.py b/tests/project/manage.py similarity index 100% rename from tests/testapp/manage.py rename to tests/project/manage.py diff --git a/tests/testapp/models.py b/tests/project/models.py similarity index 100% rename from tests/testapp/models.py rename to tests/project/models.py diff --git a/tests/testapp/noadmin_urls.py b/tests/project/noadmin_urls.py similarity index 99% rename from tests/testapp/noadmin_urls.py rename to tests/project/noadmin_urls.py index 3c0d493d42e..b0328253ad9 100644 --- a/tests/testapp/noadmin_urls.py +++ b/tests/project/noadmin_urls.py @@ -10,4 +10,4 @@ url(r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), url(r'^', include('cms.urls')), -) \ No newline at end of file +) diff --git a/tests/testapp/nonroot_urls.py b/tests/project/nonroot_urls.py similarity index 99% rename from tests/testapp/nonroot_urls.py rename to tests/project/nonroot_urls.py index 1ec171f6944..2892e930a5f 100644 --- a/tests/testapp/nonroot_urls.py +++ b/tests/project/nonroot_urls.py @@ -11,4 +11,4 @@ url(r'^media/cms/(?P.*)$', 'django.views.static.serve', {'document_root': settings.CMS_MEDIA_ROOT, 'show_indexes': True}), url(r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), url(r'^content/', include('cms.urls')), -) \ No newline at end of file +) diff --git a/tests/testapp/fakemlng/__init__.py b/tests/project/placeholderapp/__init__.py similarity index 100% rename from tests/testapp/fakemlng/__init__.py rename to tests/project/placeholderapp/__init__.py diff --git a/tests/testapp/placeholderapp/admin.py b/tests/project/placeholderapp/admin.py similarity index 98% rename from tests/testapp/placeholderapp/admin.py rename to tests/project/placeholderapp/admin.py index 618d1ba9b01..90e59cbb43f 100644 --- a/tests/testapp/placeholderapp/admin.py +++ b/tests/project/placeholderapp/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin from cms.admin.placeholderadmin import PlaceholderAdmin -from testapp.placeholderapp.models import * +from project.placeholderapp.models import * class MixinAdmin(admin.ModelAdmin): diff --git a/tests/testapp/placeholderapp/models.py b/tests/project/placeholderapp/models.py similarity index 100% rename from tests/testapp/placeholderapp/models.py rename to tests/project/placeholderapp/models.py diff --git a/tests/project/placeholderapp/views.py b/tests/project/placeholderapp/views.py new file mode 100644 index 00000000000..afd6ceab076 --- /dev/null +++ b/tests/project/placeholderapp/views.py @@ -0,0 +1,9 @@ +from django.shortcuts import render_to_response +from django.template.context import RequestContext +from project.placeholderapp.models import Example1 + + +def example_view(request): + context = RequestContext(request) + context['examples'] = Example1.objects.all() + return render_to_response('placeholderapp.html', context) diff --git a/tests/testapp/placeholderapp/__init__.py b/tests/project/pluginapp/__init__.py similarity index 100% rename from tests/testapp/placeholderapp/__init__.py rename to tests/project/pluginapp/__init__.py diff --git a/tests/testapp/pluginapp/models.py b/tests/project/pluginapp/models.py similarity index 84% rename from tests/testapp/pluginapp/models.py rename to tests/project/pluginapp/models.py index c36f2c148a1..ebd7bda4f0a 100644 --- a/tests/testapp/pluginapp/models.py +++ b/tests/project/pluginapp/models.py @@ -12,4 +12,4 @@ class Article(models.Model): section = models.ForeignKey(Section) def __unicode__(self): - return u"%s -- %s" % (self.title, self.section) \ No newline at end of file + return u"%s -- %s" % (self.title, self.section) diff --git a/tests/testapp/pluginapp/__init__.py b/tests/project/pluginapp/plugins/__init__.py similarity index 100% rename from tests/testapp/pluginapp/__init__.py rename to tests/project/pluginapp/plugins/__init__.py diff --git a/tests/testapp/pluginapp/plugins/__init__.py b/tests/project/pluginapp/plugins/manytomany_rel/__init__.py similarity index 100% rename from tests/testapp/pluginapp/plugins/__init__.py rename to tests/project/pluginapp/plugins/manytomany_rel/__init__.py diff --git a/tests/testapp/pluginapp/plugins/manytomany_rel/cms_plugins.py b/tests/project/pluginapp/plugins/manytomany_rel/cms_plugins.py similarity index 81% rename from tests/testapp/pluginapp/plugins/manytomany_rel/cms_plugins.py rename to tests/project/pluginapp/plugins/manytomany_rel/cms_plugins.py index 86ba94fa724..82db15533c5 100644 --- a/tests/testapp/pluginapp/plugins/manytomany_rel/cms_plugins.py +++ b/tests/project/pluginapp/plugins/manytomany_rel/cms_plugins.py @@ -3,8 +3,8 @@ from cms.plugin_base import CMSPluginBase from cms.plugin_pool import plugin_pool -from testapp.pluginapp.plugins.manytomany_rel.models import ArticlePluginModel -from testapp.pluginapp.models import Article +from project.pluginapp.plugins.manytomany_rel.models import ArticlePluginModel +from project.pluginapp.models import Article @@ -21,4 +21,4 @@ def render(self, context, instance, placeholder): 'placeholder':placeholder}) return context -plugin_pool.register_plugin(ArticlePlugin) \ No newline at end of file +plugin_pool.register_plugin(ArticlePlugin) diff --git a/tests/testapp/pluginapp/plugins/manytomany_rel/models.py b/tests/project/pluginapp/plugins/manytomany_rel/models.py similarity index 75% rename from tests/testapp/pluginapp/plugins/manytomany_rel/models.py rename to tests/project/pluginapp/plugins/manytomany_rel/models.py index be32d3d4e30..f13233b385f 100644 --- a/tests/testapp/pluginapp/plugins/manytomany_rel/models.py +++ b/tests/project/pluginapp/plugins/manytomany_rel/models.py @@ -2,7 +2,7 @@ from cms.models import CMSPlugin -from testapp.pluginapp.models import Section +from project.pluginapp.models import Section class ArticlePluginModel(CMSPlugin): @@ -13,4 +13,4 @@ def __unicode__(self): return self.title def copy_relations(self, oldinstance): - self.sections = oldinstance.sections.all() \ No newline at end of file + self.sections = oldinstance.sections.all() diff --git a/tests/testapp/pluginapp/plugins/manytomany_rel/__init__.py b/tests/project/sampleapp/__init__.py similarity index 100% rename from tests/testapp/pluginapp/plugins/manytomany_rel/__init__.py rename to tests/project/sampleapp/__init__.py diff --git a/example/sampleapp/admin.py b/tests/project/sampleapp/admin.py similarity index 69% rename from example/sampleapp/admin.py rename to tests/project/sampleapp/admin.py index 1ad39c17887..6c0365206c2 100644 --- a/example/sampleapp/admin.py +++ b/tests/project/sampleapp/admin.py @@ -1,6 +1,6 @@ -from django.contrib import admin -from example.sampleapp.models import Picture, Category from cms.admin.placeholderadmin import PlaceholderAdmin +from django.contrib import admin +from project.sampleapp.models import Picture, Category class PictureInline(admin.StackedInline): model = Picture @@ -8,4 +8,4 @@ class PictureInline(admin.StackedInline): class CategoryAdmin(PlaceholderAdmin): inlines = [PictureInline] -admin.site.register(Category, CategoryAdmin) \ No newline at end of file +admin.site.register(Category, CategoryAdmin) diff --git a/example/sampleapp/cms_app.py b/tests/project/sampleapp/cms_app.py similarity index 64% rename from example/sampleapp/cms_app.py rename to tests/project/sampleapp/cms_app.py index 7be7f87e12c..83c742cb6e0 100644 --- a/example/sampleapp/cms_app.py +++ b/tests/project/sampleapp/cms_app.py @@ -1,11 +1,11 @@ from cms.app_base import CMSApp -from example.sampleapp.menu import SampleAppMenu +from project.sampleapp.menu import SampleAppMenu from cms.apphook_pool import apphook_pool from django.utils.translation import ugettext_lazy as _ class SampleApp(CMSApp): name = _("Sample App") - urls = ["sampleapp.urls"] + urls = ["project.sampleapp.urls"] menus = [SampleAppMenu] -apphook_pool.register(SampleApp) \ No newline at end of file +apphook_pool.register(SampleApp) diff --git a/example/sampleapp/media/sampleapp/img/gift.jpg b/tests/project/sampleapp/media/sampleapp/img/gift.jpg similarity index 100% rename from example/sampleapp/media/sampleapp/img/gift.jpg rename to tests/project/sampleapp/media/sampleapp/img/gift.jpg diff --git a/tests/testapp/sampleapp/menu.py b/tests/project/sampleapp/menu.py similarity index 97% rename from tests/testapp/sampleapp/menu.py rename to tests/project/sampleapp/menu.py index 82e4e7dc7fe..14bb675e71f 100644 --- a/tests/testapp/sampleapp/menu.py +++ b/tests/project/sampleapp/menu.py @@ -4,7 +4,7 @@ from django.utils.translation import ugettext_lazy as _ from menus.base import Menu, NavigationNode from menus.menu_pool import menu_pool -from testapp.sampleapp.models import Category +from project.sampleapp.models import Category class SampleAppMenu(Menu): diff --git a/example/sampleapp/models.py b/tests/project/sampleapp/models.py similarity index 94% rename from example/sampleapp/models.py rename to tests/project/sampleapp/models.py index a62bc7e569f..5790cc89218 100644 --- a/example/sampleapp/models.py +++ b/tests/project/sampleapp/models.py @@ -1,6 +1,6 @@ -from django.db import models -from django.core.urlresolvers import reverse from cms.models.fields import PlaceholderField +from django.core.urlresolvers import reverse +from django.db import models import mptt class Category(models.Model): @@ -24,4 +24,4 @@ class Meta: class Picture(models.Model): image = models.ImageField(upload_to="pictures") - category = models.ForeignKey(Category) \ No newline at end of file + category = models.ForeignKey(Category) diff --git a/example/sampleapp/templates/sampleapp/category_view.html b/tests/project/sampleapp/templates/sampleapp/category_view.html similarity index 100% rename from example/sampleapp/templates/sampleapp/category_view.html rename to tests/project/sampleapp/templates/sampleapp/category_view.html diff --git a/tests/testapp/sampleapp/templates/sampleapp/home.html b/tests/project/sampleapp/templates/sampleapp/home.html similarity index 100% rename from tests/testapp/sampleapp/templates/sampleapp/home.html rename to tests/project/sampleapp/templates/sampleapp/home.html diff --git a/tests/testapp/sampleapp/urls.py b/tests/project/sampleapp/urls.py similarity index 92% rename from tests/testapp/sampleapp/urls.py rename to tests/project/sampleapp/urls.py index 3c511e3096b..0a5e0b265d0 100644 --- a/tests/testapp/sampleapp/urls.py +++ b/tests/project/sampleapp/urls.py @@ -4,7 +4,7 @@ Also used in cms.tests.ApphooksTestCase """ -urlpatterns = patterns('testapp.sampleapp.views', +urlpatterns = patterns('project.sampleapp.views', url(r'^$', 'sample_view', {'message': 'sample root page',}, name='sample-root'), url(r'^settings/$', 'sample_view', kwargs={'message': 'sample settings page'}, name='sample-settings'), url(r'^account/$', 'sample_view', {'message': 'sample account page'}, name='sample-account'), diff --git a/tests/testapp/sampleapp/views.py b/tests/project/sampleapp/views.py similarity index 77% rename from tests/testapp/sampleapp/views.py rename to tests/project/sampleapp/views.py index faed9fd22fd..1cab11b9257 100644 --- a/tests/testapp/sampleapp/views.py +++ b/tests/project/sampleapp/views.py @@ -2,8 +2,10 @@ from django.http import Http404 from django.shortcuts import render_to_response from django.template.context import RequestContext -from testapp.sampleapp.models import Category +from menus.utils import simple_language_changer +from project.sampleapp.models import Category +@simple_language_changer def sample_view(request, **kw): context = RequestContext(request, kw) return render_to_response("sampleapp/home.html", context) @@ -12,4 +14,4 @@ def category_view(request, id): return render_to_response('sampleapp/category_view.html', RequestContext(request, {'category':Category.objects.get(pk=id)})) def notfound(request): - raise Http404 \ No newline at end of file + raise Http404 diff --git a/tests/testapp/second_cms_urls_for_apphook_tests.py b/tests/project/second_cms_urls_for_apphook_tests.py similarity index 95% rename from tests/testapp/second_cms_urls_for_apphook_tests.py rename to tests/project/second_cms_urls_for_apphook_tests.py index 9f9907bd24f..a36dd4635e6 100644 --- a/tests/testapp/second_cms_urls_for_apphook_tests.py +++ b/tests/project/second_cms_urls_for_apphook_tests.py @@ -22,4 +22,4 @@ urlpatterns = get_app_patterns() + urlpatterns #urlpatterns = (dynamic_app_regex_url_resolver, ) + urlpatterns -urlpatterns = patterns('', *urlpatterns) \ No newline at end of file +urlpatterns = patterns('', *urlpatterns) diff --git a/tests/testapp/second_urls_for_apphook_tests.py b/tests/project/second_urls_for_apphook_tests.py similarity index 90% rename from tests/testapp/second_urls_for_apphook_tests.py rename to tests/project/second_urls_for_apphook_tests.py index 668a3257ee6..b9a23a647ff 100644 --- a/tests/testapp/second_urls_for_apphook_tests.py +++ b/tests/project/second_urls_for_apphook_tests.py @@ -12,5 +12,5 @@ {'document_root': settings.CMS_MEDIA_ROOT, 'show_indexes': True}), url(r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), - url(r'^', include('testapp.second_cms_urls_for_apphook_tests')), -) \ No newline at end of file + url(r'^', include('project.second_cms_urls_for_apphook_tests')), +) diff --git a/tests/testapp/settings.py b/tests/project/settings.py similarity index 73% rename from tests/testapp/settings.py rename to tests/project/settings.py index eb7c5ae38b9..6befc18adb1 100644 --- a/tests/testapp/settings.py +++ b/tests/project/settings.py @@ -1,4 +1,6 @@ # Django settings for cms project. +from distutils.version import LooseVersion +import django import os PROJECT_DIR = os.path.abspath(os.path.dirname(__file__)) @@ -28,11 +30,12 @@ USE_I18N = True MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media/') +STATIC_ROOT = os.path.join(PROJECT_DIR, 'static/') CMS_MEDIA_ROOT = os.path.join(PROJECT_DIR, '../../cms/media/cms/') MEDIA_URL = '/media/' - -ADMIN_MEDIA_PREFIX = '/media/admin/' +STATIC_URL = '/static/' +ADMIN_MEDIA_PREFIX = '/static/admin/' EMAIL_BACKEND = 'django.core.mail.backends.locmem.EmailBackend' @@ -40,13 +43,21 @@ SECRET_KEY = '*xq7m@)*f2awoj!spa0(jibsrz9%c0d=e(g)v*!17y(vx0ue_3' +#TEMPLATE_LOADERS = ( +# 'django.template.loaders.filesystem.Loader', +# 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', +#) + TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', - 'django.template.loaders.eggs.Loader', + ('django.template.loaders.cached.Loader', ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', + 'django.template.loaders.eggs.Loader', + )), ) -TEMPLATE_CONTEXT_PROCESSORS = ( +TEMPLATE_CONTEXT_PROCESSORS = [ "django.core.context_processors.auth", "django.core.context_processors.i18n", "django.core.context_processors.debug", @@ -54,7 +65,8 @@ "django.core.context_processors.media", 'django.core.context_processors.csrf', "cms.context_processors.media", -) + "sekizai.context_processors.sekizai", +] INTERNAL_IPS = ('127.0.0.1',) @@ -65,28 +77,26 @@ 'django.middleware.common.CommonMiddleware', 'django.middleware.doc.XViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', - 'cms.middleware.media.PlaceholderMediaMiddleware', 'cms.middleware.user.CurrentUserMiddleware', 'cms.middleware.page.CurrentPageMiddleware', 'cms.middleware.toolbar.ToolbarMiddleware', ) -ROOT_URLCONF = 'testapp.urls' +ROOT_URLCONF = 'project.urls' TEMPLATE_DIRS = ( os.path.join(PROJECT_DIR, 'templates'), ) -INSTALLED_APPS = ( +INSTALLED_APPS = [ 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.admin', 'django.contrib.sites', 'cms', - 'publisher', 'menus', 'cms.plugins.text', 'cms.plugins.picture', @@ -100,14 +110,24 @@ 'cms.plugins.twitter', 'cms.plugins.inherit', 'mptt', - 'testapp.sampleapp', - 'testapp.placeholderapp', - 'testapp.pluginapp', - 'testapp.pluginapp.plugins.manytomany_rel', - 'testapp.fakemlng', + 'project.sampleapp', + 'project.placeholderapp', + 'project.pluginapp', + 'project.pluginapp.plugins.manytomany_rel', + 'project.fakemlng', + 'project.fileapp', 'south', 'reversion', -) + 'sekizai', +] + +if LooseVersion(django.get_version()) >= LooseVersion('1.3'): + INSTALLED_APPS.append('django.contrib.staticfiles') + TEMPLATE_CONTEXT_PROCESSORS.append("django.core.context_processors.static") +else: + INSTALLED_APPS.append('staticfiles') + TEMPLATE_CONTEXT_PROCESSORS.append("staticfiles.context_processors.static") + gettext = lambda s: s @@ -170,12 +190,20 @@ CMS_SOFTROOT = True CMS_MODERATOR = True CMS_PERMISSION = True +CMS_PUBLIC_FOR = 'all' +CMS_CACHE_DURATIONS = { + 'menus': 0, + 'content': 0, + 'permissions': 0, +} CMS_REDIRECTS = True CMS_SEO_FIELDS = True CMS_FLAT_URLS = False CMS_MENU_TITLE_OVERWRITE = True CMS_HIDE_UNTRANSLATED = False CMS_URL_OVERWRITE = True +CMS_SHOW_END_DATE = True +CMS_SHOW_START_DATE = True CMS_PLUGIN_PROCESSORS = tuple() @@ -184,7 +212,7 @@ SOUTH_TESTS_MIGRATE = False CMS_NAVIGATION_EXTENDERS = ( - ('testapp.sampleapp.menu_extender.get_nodes', 'SampleApp Menu'), + ('project.sampleapp.menu_extender.get_nodes', 'SampleApp Menu'), ) try: @@ -192,4 +220,5 @@ except ImportError: pass -TEST_RUNNER = 'testapp.testrunner.CMSTestSuiteRunner' +TEST_RUNNER = 'project.testrunner.CMSTestSuiteRunner' +TEST_OUTPUT_VERBOSE = True diff --git a/example/templates/404.html b/tests/project/templates/404.html similarity index 100% rename from example/templates/404.html rename to tests/project/templates/404.html diff --git a/tests/testapp/templates/add_placeholder.html b/tests/project/templates/add_placeholder.html similarity index 100% rename from tests/testapp/templates/add_placeholder.html rename to tests/project/templates/add_placeholder.html diff --git a/example/templates/base.html b/tests/project/templates/base.html similarity index 70% rename from example/templates/base.html rename to tests/project/templates/base.html index 29f0be1e902..5f94b4eeead 100644 --- a/example/templates/base.html +++ b/tests/project/templates/base.html @@ -1,16 +1,17 @@ -{% load i18n cms_tags menu_tags%} +{% load i18n cms_tags menu_tags sekizai_tags %} {% page_attribute page_title %} - - - {% plugins_media %} + + + {% render_block "css" %} + {% render_block "js" %} - +{% cms_toolbar %}